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ściejesttylkojedna–wybranieżą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ślnieuruchamianiesąwkolejnoś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