Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.WPrOWadzeniedOTeSTOWania
Testernieznakodu,aleznatechnikitestowania.Niemaemocjonalnegostosunku
doprogramuimaświeże,niezależnespojrzenie.Możeprzygotowaćefektywneprzy-
padkitestowe.Jednocześniejednak,jeślichodziozdolnościtechniczne,totesterwpo-
równaniuzprogramistąwypadaowielesłabiej.Możetospowodowaćwydłużenieczasu
implementacjitestów.Ponadto,dokładnaznajomośćkodupozwoliłabytesterowijeszcze
lepiejpoznaćstrukturęmodułuistworzyćjeszczemocniejszetesty.Niestety,testerje-
żelimaszczęścietomazwykledodyspozycjitylkospecyfikacjęmodułu.Jeśliniema
szczęścia,toniemawogóleżadnejinformacjiowymaganiach.
Istniejąmetodypróbująceznaleźćzłotyśrodekmiędzytestowaniemprzezprogra-
mistę,atestowaniemprzezzawodowychtesterów.Starająsięonewydobyćipołączyć
zesobązaletyobutychpodejść.Przykłademtakiejmetodyinspekcjeformalneczy
teżpraktykaprogramowaniawparach,obecnawmetodyceeXtremeProgramming(XP).
Niezrozumieniecelutestowaniaprzezkadręzarządzającą.Drugimechanizmpsy-
chologicznydotyczygłówniekadryzarządzającej.Kierownicyzwykleskupienina
pozytywnychefektachpracy,bomająwtedypoczuciezbliżaniasiędocelu,jakimjest
dostarczenieproduktuklientowi(orazzgarnięciesporejpremiizaukończenieprojektu
wterminie).Topowoduje,żewinązakażdywykrytyprzezzespółtestowybłądobarcza-
programistę.Błędytrzebanaprawiać,atopowodujeopóźnieniaprojektu(premia!).
Czasemkierownicygotowizrezygnowaćzczęścitestów,byletylkoukończyćprojekt
naczas.Gdytesterzynieznajdążadnychbłędów,kierownicyzadowoleni,gdyżsądzą,
żeproduktmawysokąjakość,aponadtonietrzebatracićczasunajegonaprawę.
Tymczasembrakwykryciajakichkolwiekbłędówjestporażkązespołutesterów.Jeżeli
rzeczniedotyczykońcowychfazprojektu,totakasytuacjapowinnabyćpowodemdo
niepokoju.Oznaczatobowiem,żetesterzyniepotrafiąstworzyćefektywnychtestów.
Karanieprogramistówzapopełnianiepomyłekrównieżjestdrogądonikąd,wszczegól-
nościpowodujeobniżeniemoraleispadekwydajności.Wskrajnychprzypadkachmoże
doprowadzićdokonfliktówwzespolelubrezygnacjiprogramistyzpracy.Pomyłkipo-
pełniakażdyipotowłaśniesporączęśćbudżetuprojektuprzeznaczasięnatestowanie,
abytebłędyzneutralizowaćwmożliwienajwiększymstopniu.Wieluautorówzalecanie-
dopuszczaniewyższejkadrymenedżerskiejdouczestnictwawprzeglądachiinspekcjach
koduwłaśniepoto,bychronprogramistówprzezgniewemkierowników,którzynie
dokońcazdająsobiesprawęzrolitestowania.
Komunikacja.Trzecimechanizmpsychologicznydotyczykomunikacjimiędzyte-
steramiaprogramistami.Wyszkolenitesterzypotrafiąznaleźćnaprawdęwieleusterek
woprogramowaniu.Bardzoważnajestforma,wjakiejkomunikujązgłoszeniaouster-
kach.Zgłoszenietakienigdyniemożeprzybieraćformyatakunaautorakodu.Powin-
nobyćopartenasuchychfaktach,przekazaneprzyużyciurzeczowychargumentów,
wsposóbneutralny,tak,byprogramistanieczułsięwżadensposóbatakowany.Wszyscy
członkowiezespołumusząrozumieć,żewjednakowymstopniuodpowiedzialniza
osiągnięciecelówprojektuiżetestowaniejestprocesempomagającymsięprzybliżyć
dotegocelu,anieoddalićodniego.Jeślizgłoszeniedefekturozpoczynasięsłowami
hIksińskiznowubeznadziejniezaimplementowałfunkcjęXwmoduleY”,tomożnabyć
pewnym,żezachwilęwzespolewybuchniewojna,któranieprzyniesienicdobrego.
20