Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.OdTESTOWaniaręCZnEGOdOaUTOMaTYCZnEGO
naszychskryptówtestowychwaktualnymstanie.Wydajesięwięc,żeograniczeniatestoją
zesobąwsprzecznościiżeniejesteśmywstaniezrealizowaćobuznich.
Naszczęściedokładnośćnieoznaczakonieczniezaśmiecaniakażdegoskryptuwszyst-
kimidrobnymiszczegółami.Wszystkieteszczegółymuszągdzieśzostaćzdefiniowane,ale
niewszystkiemusząznajdowaćsięwewnątrzsamychskryptów.Systemautomatyzacjitestów
jestzwykleczymświęcejniżtylkozwykłąkolekcjąskryptówtestowych,alemożeipowi-
nienbyćzbudowanywsposóbmodułowy,takżeniektórefragmentyzawierajądrobne
szczegóły,askryptyjedyniezłożeniemtychfragmentów.
Możemyjepostrzegaćjakoplany(rysunkitechniczne)samochodu.Podczasprojek-
towaniasamochodunieistniejepojedynczyrysunekzawierającywszystkiejegoszczegóły.
Samochódjestzłożonymobiektem,któryskładasięwielumniejszychelementów(pod-
wozie,nadwozie,silnik,skrzyniabiegów,układsterowania,koła,częściwewnętrzneitd.),
akażdyznichzłożonyjestzjeszczemniejszychczęści.Istniejezapewnejedenrysunek,który
dajenamhpełnyobraz”samochodu,alezdużomniejsząilościąszczegółów,atakżewiele
mniejszychrysunków,któreopisująszczegółykażdejczęścizosobna.Gdybywszystkiete
szczegółyzostałyzawartewjednymszczegółowymrysunku,ainżynierprojektującysie-
dzeniachciałwdokonaćwnimzmiany(niemającejwpływunajegozewnętrznewymiary),
wówczastrzebabyzaktualizowaćcałyrysunek!
Podobniejestprzytworzeniutestówautomatycznych:mimożewszystkieszczegóły
trzebazdefiniowaćprzedwykonaniemtestu,jednakniepowinnyoneznajdowaćsięwtym
samymmiejscu,alenależyjerozłożyćnakilkakomponentów(metody,klasy,modułyitd.),
któremożnamodyfikowaćlubzastępowaćinnymi,bezwpływunapozostałeelementy.
Obsługaniepowodzeń
Przypierwszymwykonaniuzaplanowanegoprzypadkutestowegomożemynapotkaćwiele
nieoczekiwanychwarunków,októrychniepomyśleliśmypodczaspisaniategoprzypad-
ku.Przyodpowiedniodobrejorganizacjiprawdopodobniebędziemywstanienaprawić
tenprzypadektestowypotympierwszymuruchomieniu.Podobnyprocesnastępujepod-
czastworzeniatestuautomatycznego,dopókitesttenprzynajmniejrazniezakończysię
sukcesem.
Alepotymetapie,bezwzględunato,czymówimyotestachmanualnychczyautoma
-
tycznych,nadalmogąsiępojawiaćnieoczekiwanewarunki,któremogąbyćspowodowane:
1.Nowymbłędemwprodukcie(regresja)
2.Uzasadnionązmianą(usprawnieniem)wprodukcie,którejniebyliśmyświadomi.
3.Problememśrodowiskowym,takimjakawariasieci,brakdostępnejpamięciitd.
4.Zdarzeniemwprodukcie,któregoobsługaniezostałauwzględnionawteście.Za-
łóżmyprzykładowo,żecodziennieo16:00aplikacjawyświetlaokienkowyskaku-
jącezkomunikatemprzypominającymużytkownikowiokoniecznościutworzenia
kopiizapasowejjegopracy.Testautomatycznyzawszekończysiępowodzeniem,
zwyjątkiemsytuacji,gdyzostanieonuruchomionykrótkoprzedgodziną16:00,kie-
dyprezentowanawiadomośćmożesprawić,żetestzakończysięniepowodzeniem.
20