Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.WproWadzeniedoteStoWania
systemamiczypoprostuzwykłezmęczeniekażdyztychczynnikówmożestaćsprzy-
czynąpopełnieniabłędu.Awarieoprogramowaniamogąwystępowaćrównieżnasku-
tekczynnikówniezależnychodludzi.Naprzykładwieluznasspotkałoszsytuacją,
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
debugowania0
Częstozdarzasię,żetestowaniejestwręczwymogiemzawartymwkontrakciena
tworzenieaplikacjilubwynikającymzprzepisówprawnych.Możeteżbobowiązkiem
narzuconymprzeznormęlubstandardprzemysłowy,któryjeststosowanywprocesie
budowyoprogramowania.NaprzykładnormaDO-178C
1SoftwareConsiderationsin
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ąbzaplanowane,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ącychsnacałyprocestestowania.Zarównoprzed,jakipowykonaniutestów
występujewieleinnychczynnościzwiązanychztestowaniem,takichjakplanowanie,
1Normatazastąpiław2011r.normęDO-178B[224].
4