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,tester–je-
żelimaszczęście–tomazwykledodyspozycjitylkospecyfikację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łademtakiejmetodysąinspekcjeformalneczy
teżpraktykaprogramowaniawparach,obecnawmetodyceeXtremeProgramming(XP)0
Niezrozumieniecelutestowaniaprzezkadręzarządzającą.Drugimechanizmpsy-
chologicznydotyczygłówniekadryzarządzającej.Kierownicysązwykleskupienina
pozytywnychefektachpracy,bomająwtedypoczuciezbliżaniasiędocelu,jakimjest
dostarczenieproduktuklientowi(orazzgarnięciesporejpremiizaukończenieprojektu
wterminie).Topowoduje,żewinązakażdywykrytyprzezzespółtestowybłądobarcza-
jąprogramistę.Błędytrzebanaprawiać,atopowodujeopóźnieniaprojektu(premia!).
Czasemkierownicygotowisązrezygnowaćzczęścitestów,byletylkoukończyćprojekt
naczas.Gdytesterzynieznajdążadnychbłędów,kierownicysązadowoleni,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
kodu–właśniepoto,bychronićprogramistó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ć,żesąwjednakowymstopniuodpowiedzialniza
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