Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Ciągłedoskonalenie
Alenawetwprzypadkuużywanianarzędzidoautomatycznejrefaktoryzacjimożedojść
dopomyłkiprogramisty,wwynikuktórejwprojekciepojawiąsiębłędypsującejakąśist-
niejącąfunkcjonalność.Ztegopowodurefaktoryzacjawymagarównieżprzeprowadzania
wyczerpującychtestówregresji.Takwięcwceluutrzymaniaszybkiegotempawydawania
nowychistabilnychwersjizawierającychnowefunkcje,musimyregularnierefaktoryzo-
waćnaszkod.Abybyćwstanietorobić,musimybardzoczęstogotestować.Jesttodrugi
ważnypowód,dlaktóregopowinniśmystosowaćautomatyzacjętestów.Rysunek1.5poka-
zuje,wjakisposóbrefaktoryzacjapomagatrzymaćzłożonośćprzypadkowąpodkontrolą.
Złożoność
Refaktoryzacje
Funkcje(czas)
Rysunek1.5.Refaktoryzacjapomagatrzymaćzłożonośćpodkontrolą
Ciągłedoskonalenie
To,cofascynujemnienajbardziejwautomatyzacjitestów,tojejzwiązkizewszystkimiin-
nymiaspektamicyklutworzeniaoprogramowania.Pozazwiązkiemzjakościąiproduktyw-
nością,któryjestoczywisty,automatyzacjatestówpowiązanajestrównieżzarchitekturą
tworzonegoproduktu,procesamibiznesowymi,strukturąorganizacyjną,anawetzkulturą
biznesu(patrzrysunek1.6).Dlamnieosobiścieautomatyzacjatestówjestniczymlustro,
któreodzwierciedlawszystkieterzeczy.Każdyztychaspektówmapewienwpływnaauto-
matyzacjętestów.Aleodzwierciedlenietychwpływówwautomatyzacjitestówmożemy
równieżwykorzystaćdozmianyiusprawnieniadowolnegoztychaspektów.
Wwieluprzypadkachklienci,którzykorzystająjużzautomatyzacjitestów,proszą
mnieopomocwrozwiązaniunapotkanychproblemów.Problemytebardzoczęstoobja-
wiająsięnapoziomietechnicznym.Kiedyjednakprzychodzędotychklientówipomagam
imrozpoznaćbezpośredniąprzyczynętychproblemów,częstookazujesię,żeonetak
naprawdęzwiązanezconajmniejjednymztychpozostałychaspektów.Pozbyciesiętych
problemówniezawszejestproste,aleprzynajmniejuświadamiająsobieznaczenie
tychproblemów,cojestpierwszymkrokiemprowadzącymdozmiany.
9