Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.4.ryShiStoryczny
podaniapacjentomdawekpromieniowaniawyższychokilkarzędówwielkościniżdawki
dopuszczalneśmierćponiosło6osób.Przyczynąnieprawidłowegofunkcjonowaniaurzą-
dzeńbyłtzw.wyścig(ang.racecondition).WprzypadkuTherac-25polegałonnatym,
żegdyoperatormaszynyobsługiwałjąwszybkimtempie,niewszystkieparametrypro-
gramubyływłaściwieinicjalizowane.Późniejszedochodzeniewykazałotakżepoważne
usterkiwdokumentacji,którabyłaniekompletnaiwszczególnościniezawierałaopisu
kodówbłędówzgłaszanychprzezmaszynę.
Cobalt60.HistoriabardzopodobnadosprawyTherac-25(irównietragicznawskut-
kach)zdarzyłasięnapoczątkuXXwiekuwNationalCancerInstitutewPanamie.Cen-
trumtoużywałomaszynCobalt60doradioterapii.Naskutekbłędówwoprogramowaniu
conajmniejośmioropacjentówzmarłozpowoduprzyjęciazbytwysokiejdawkipromie-
niowania.Oprogramowaniepozwalałoużytkownikowinarysowanienaekraniedoczte-
rechhtarcz”,czyliobszarówciałapacjenta,którebyłychronioneprzedpromieniowaniem
wtrakciezabiegu.Technicypotrzebowalijednakdefiniowaćpięćtakichtarcz.Poradzili
sobieztymwtensposób,żereprezentacjępięciutarczdefiniowaliwprogramieprzezry-
sowaniejednejdużejtarczyzotworemwśrodku.Niestety,sposóbinterpretacjiprzezpro-
gramtego,cojesttarczą,acootworem,zależałodsposoburysowania.Gdyotwórbyłry-
sowanyzgodniezruchemwskazówekzegara,programinterpretowałtoinaczej,niżgdybył
rysowanywprzeciwnymkierunku.Topowodowało,żewniektórychprzypadkachzamiast
podawaćdawkępromieniowaniawmiejsceotworu,nakierowanebyłoononacałeciało
pacjentazwyjątkiemtegoobszaru.Tegotypubłędysątrudnedowykrycia.Odpowiednią
strategiąmogłobytubyćtestowanieGUIprzyzastosowaniutechnikopartychnadoświad-
czeniu,takichjaktestowanieeksploracyjneczyzgadywaniebłędów.Skutecznestosowanie
tychtechnikwymagadostępnościdoświadczonegotestera.
1.4.
Ryshistoryczny
Testowaniejesttakstare,jakstaryjestpierwszynapisanyprogramkomputerowy.Naprze-
strzeniostatnich50latdojrzałośćprocesutestowaniabardzowzrosła.Zostałotowymu-
szonegłównieczynnikamitechnologicznymi:rozwojemjęzykówczwartejgeneracji(4GL),
wzrostemroliutrzymaniaiaktualizacjioprogramowania,wynalezieniemmetodformal-
nychinżynieriioprogramowania,powstaniemnowychmetodykwytwarzaniaoprogramo-
waniaitd.Podczastychkilkudziesięciulatzmieniałosiętakżepodejściedotestowania
orazrozumieniejegoroli(widaćtozresztąwyraźnie,gdyporównasiędefinicjetestowania
opisanewrozdziale1.2).Dalejprzedstawiamygłównefazyrozwojutestowaniaoraznaj-
ważniejszeodkryciawhistoriitejdziedziny,zarównoteoretyczne,jakitechniczne.Treść
tegopodrozdziałujestopartanapracyLuo[18],któraodwołujesiędoartykułuGelperina
iHetzela[19]opisującegorozwójtestowanianaprzestrzenikilkudziesięciuostatnichlat.
Fazapierwsza(przedrokiem1956).Eradebugowania.Przed1956rokiemtesto-
wanieniebyłoodróżnianeoddebugowania–byłytopojęciatożsame.W1950roku
Turingopublikowałswójsłynnyartykuł[20],wktórymzadałpytanieoto,jakstwierdzić,
żemaszynajestobdarzonainteligencją.Jeśliwymaganiembyłobyzbudowanietakie-
11