Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
WprOWadZEniE
ktopowinienprzeczytaćksiążkę?
Ponieważautomatyzacjatestówwywierawpływnaprawiewszystkichinteresariuszyorga-
nizacjitworzącejoprogramowanieiwtejksiążcestaramysięomówićprawiekażdyaspekt
automatyzacjitestów,jestonaprzeznaczonadlakażdego,ktojestzaangażowanywproces
tworzeniaoprogramowaniaichcedowiedziećsię,wjakisposóbmożnauzyskaćwięcejko-
rzyścizautomatyzacjitestów.Dogronatychosóbzaliczyćmożna:menedżerówzespołów
zapewnianiajakości,menedżerówzespołówdeweloperów,deweloperów,testerów,archi-
tektów,menedżerówproduktu(nazywanychrównieżanalitykamibiznesowymi,analityka-
misystemulubjeszczeinaczej),ludzizzespołówDevOpsitd.Noioczywiściedeweloperów
automatyzacjitestów,którychgłównymzadaniemjesttworzenietestówautomatycznych…
Znacznaczęśćtejksiążkiniemazbyttechnicznegocharakteruiskierowanajestdo
szerszegoodbiorcy,jednakrozdziałyod11do14bardzotechniczneiskierowane
doosób,którepisząkodidobrzezaznajomionezprogramowaniemobiektowym
wszczególnościmamtunamyśliprofesjonalnychdeweloperówautomatyzacjitestów.Kod
wtejczęścinapisanyzostałwjęzykuC#,alesamekoncepcjeipojęciamożnazłatwością
przenieśćnainnyobiektowyjęzykprogramowania.PonieważjęzykiC#iJavadosiebie
podobne,programiściJavaniepowinnimiećwiększegoproblemuzezrozumieniemtego
kodu.Jestemjednakprzekonany,żerównieżprogramiściinnychjęzykówbędąwstanie
łatwogozrozumieć,aprzynajmniejjegogłówneidee.
Wszczególnościmamnadzieję,żeksiążkęprzeczytawielumenedżerówzespołów
deweloperówizapewnianiajakości,ponieważzwykletoonimająnajwiększywpływna
kształtowaniemetodykiiprocesówpracywswojejorganizacji,zktórymitoautomatyzacja
testówpowinnasięintegrowaćiwspomagaćichrozwój.Ponadtoksiążkatazawierawska-
zówkiitechnikiprzydatnedlaosóbniebędącychmenedżerami,pozwalająceimuspraw-
niaćstosowaneworganizacjimetodykiiprocesypracynawetbezżadnejformalnejwładzy.
Jakzorganizowanajesttaksiążka?
Gdyporazpierwszyusiadłemdopisaniatejksiążki,starałemsięmyślećojejogólnejstruk-
turze,alezorientowałemsię,żebędzietobardzotrudnezadanie,ponieważwyglądanato,
żeprawiekażdytematjestpowiązanyzwielomainnymitematami.Wtamtymczasienie
mogłemznaleźćprzejrzystegoilogicznegosposobupodzieleniajejtreścinaogólneczę-
ści,takwięcnapisałemhgruntownyspis”tematów,którechciałemwtejksiążceomówić
ipoprostuzacząłemjepisać,przelewającswojąwiedzębezpośrednionapapier(amówiąc
bardziejprecyzyjnie,naklawiaturę…).Naturalnierozpocząłemodnajprostszychinaj-
bardziejogólnychrzeczy,anastępniestopnioworozbudowywałemjeokolejne,bardziej
zaawansowaneiszczegółowerozdziały.Ponieważtematytezesobąściślepowiązane,
częstopisałemfragmentyodwołującesiędotematu,któregojeszczenienapisałem,aprzy
bardziejzaawansowanychtematachodwoływałemsiędowcześniejszychrozdziałów.Tak
więcostatecznie,niczymwdobrymprojekcieAgile(askorojużmowaoodwołaniachdo
innychrozdziałów,tozobaczrozdział1,zawierającywięcejinformacjinatematmetodyki
XXII