Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.2.ROZWIĄZANIEPROBLEMU
SetUpFixture,nastacjiroboczej,gdzieuruchamiamytesty,wszystkieuruchomionepro-
cesy,np.chrome.exe,pozostanąwłączoneibędąwymagałyręcznegozakończenia.
Wróćmydonaszegoprzykładu.
Akcjawtymteściejesttylkojednawybranieżądanejliczbyegzemplarzyproduktuiwci-
śnięcieprzycisku„Dodajdokoszyka”.Wykonanietejoperacjizamieściłamjużwmeto-
dzieoznaczonejadnotacją[Test],alesamanazwametodyzaczynałasięodprzedrostka
„T001”oznaczenia,żetametodawykonasięjakopierwszawdanymzestawietestów.
Niejesttojakieśspecjalneoznaczenie,tylkozwykłyciągznakówwybranyprzezemnie.
Testywdanymzestawietestówdomyślnieuruchamianiewkolejnościalfabetycznej.
Kolejnymetapemtestujestsprawdzeniepoprawnościwykonaniasięoperacji.Załóżmy,
żebędziemysprawdzać:
czywyświetliłsiękomunikatoprawidłowymdodaniuproduktudokoszyka,
czyodpowiedniozmieniłasięilośćproduktówwkoszykuwyświetlanawgórnejczęści
ekranu,
czypoprzejściudostronykoszykadodanyprzeznasproduktsięwnimznajduje,
czynastroniekoszykasumarycznailośćdodanychproduktówjestprawidłowa,
czynastroniekoszykasumarycznakwotazadodaneproduktyjestprawidłowa.
Wymieniłam5sprawdzeń,więcpotrzebujemy5asercji.Pierwsząznichumieszczamy
wteście„T001”.Kolejnąwteściezprzedrostkiem„T002”.Wteście„T003”przed
asercjąjestwykonanieakcjiprzejściadostronykoszyka.Wykonaniejejjestobarczone
ryzykiem,alejeślisięnieuda,będziemywiedzieli,żejednazkluczowychfunkcjonal-
nościwsystemieniedziała.Kolejneasercjeumieszczamyrównieżwosobnychtestach.
Wtakisposóbzaimplementowałam10testówsprawdzającychkluczoweoperacjewyko-
nywaneprzezużytkownikówsystemu.Dziękinimwiedziałam,żenawetjeśliprogrami-
ścibędązmuszeniwykonaćwdrożenienowejwersjisystemunaśrodowiskoprodukcyjne
beztestówmanualnych(tylkonapodstawiewynikutestówjednostkowychinapisanych
przezemnietestówautomatycznych),podstawowefunkcjonalnościnatzw.Moneypath
(szereguakcjizapewniającejklientowizysk)będądziałaćpoprawnie.
Równocześniezimplementacjątestówautomatycznychtrwałypracenadprzygotowa-
niemdedykowanegośrodowiskatestowegoznamiastkąsymulującąAPI.Wtymcelu
użyliśmyprogramuSoapUI,dziękiktóremumogliśmyzamockowaćczęśćinterfejsu
programistycznegoaplikacjiorazprzygotowaćodpowiedzinazapytania.Pracęnadtym
zadaniemwykonywałgłówniedeweloper,doniegonależałoprzygotowanieaplikacji,
abyzamiastodpytywaćzewnętrzneAPInaprzykładodaneużytkownika,zwracałasię
doprzygotowanychmocków.Mojąroląwtymzadaniubyłoprzygotowanieprzykłado-
wychodpowiedzi,którebędązwracaneprzezzamockowanyinterfejsprogramistyczny
aplikacji.DotegoceluwykorzystałamprzykładoweodpowiedziztestowegoAPI.
7