Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.WPrOWadzeniedOTeSTOWania
systemamiczypoprostuzwykłezmęczenie–każdyztychczynnikówmożestaćsięprzy-
czynąpopełnieniabłędu.Awarieoprogramowaniamogąwystępowaćrównieżnasku-
tekczynnikówniezależnychodludzi.Naprzykładwieluznasspotkałosięzsytuacją,
wktórejnasztelefonkomórkowyprzestałdziałaćnaskutekczynnikówatmosferycznych
(niskatemperatura).Innetegotypupowodytopolemagnetyczne,zanieczyszczenieśro-
dowiska,czyuszkodzeniamechanicznesprzętu.
Praktyczniekażdynietrywialnyprogramkomputerowyzawierausterki.Jakjuż
wspomnieliśmy,usterkitemogąmiećbardzopoważnekonsekwencje.Profesjonalne,do-
brzezaplanowanetestowaniesystemóworazdokumentacjipozwalawznacznymstopniu
zmniejszyćryzykoawariisystemu,jeśliznalezioneusterkizostanąusuniętewprocesie
debugowania.
Częstozdarzasię,żetestowaniejestwręczwymogiemzawartymwkontrakciena
tworzenieaplikacjilubwynikającymzprzepisówprawnych.Możeteżbyćobowiązkiem
narzuconymprzeznormęlubstandardprzemysłowy,któryjeststosowanywprocesie
budowyoprogramowania.NaprzykładnormaDO-178C
1hSoftwareConsiderationsin
AirborneSystemsandEquipmentCertification”[8],stosowanam.in.przyprodukcji
oprogramowaniadoawioniki,wymagawprostzastosowaniaodpowiednichtechnikte-
stowaniakoduorazkryteriówpokrycia,wzależnościodpoziomukrytycznościtworzo-
negosystemu.
Testowaniewpływarównieżbezpośrednionajakośćtworzonegoproduktu.Dobrze
zdefiniowanemetrykiimodelestosowanepodczasprocesutestowegopozwalająwspo-
sóbilościowywyrazićjakośćoprogramowania,mierzącnp.liczbęznalezionychusterek,
odnieśćichliczbędoprzewidywanejłącznejliczbyusterekukrytychwkodzie,czyzmie-
rzyćpoziomobecnegowciążwsystemieryzyka(tzw.ryzykorezydualne).Dziękitak
przeprowadzonympomiaromtestowaniemożesłużyćjakoczynnikbudującyzaufanie
dotworzonegokodu:jeślizespółtestowynieznajdujewięcejusterek,lubczęstotliwość
ichznajdowaniajestbardzoniska,możeoznaczaćto,żesystemmawysokąjakośćijest
gotowydoprzekazaniaklientowi.Należyjednakpamiętać,żebudowaniezaufaniado
kodumożliwejesttylkowtedy,kiedyprocestestowaniaprzebiegaprawidłowoizgodnie
zzasadami.Tworzoneprzypadkitestowemusząbyćzaplanowane,zaprojektowaneiwy-
konanepoprawnie.Wskrajnymbowiemprzypadku,gdyzespółtestowyniewykonaani
jednegotestuiliczbaznalezionychusterekbędzieoczywiścierównazeru,nieoznacza
to,żejakośćtakhprzetestowanego”systemujestwysoka!
1.2.
Defnicjatestowania
Wpowszechnymrozumieniutestowaniejestkojarzonegłówniezwykonywaniemte-
stów,czylizuruchamianiemoprogramowania.Jesttojednaktylkojedenzwieluetapów
składającychsięnacałyprocestestowania.Zarównoprzed,jakipowykonaniutestów
występujewieleinnychczynnościzwiązanychztestowaniem,takichjakplanowanie,
1Normatazastąpiław2011rokunormęDO-178B[224].
4