Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.4.ryShiStoryczny
podaniapacjentomdawekpromieniowaniawyższychokilkarzędówwielkościndawki
dopuszczalneśmierćponiosło6osób.Przyczynąnieprawidłowegofunkcjonowaniaurzą-
dzeńbtzw.wyścig(ang.racecondition).WprzypadkuTherac-25polegałonnatym,
żegdyoperatormaszynyobsługiwał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łasnapoczą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órbry-
sowanyzgodniezruchemwskazówekzegara,programinterpretowałtoinaczej,ngdyb
rysowanywprzeciwnymkierunku.Topowodowało,żewniektórychprzypadkachzamiast
podawaćdawkępromieniowaniawmiejsceotworu,nakierowanebyłoononacałeciało
pacjentazwyjątkiemtegoobszaru.Tegotypubłędytrudnedowykrycia.Odpowiednią
strategiąmogłobytubtestowanieGUIprzyzastosowaniutechnikopartychnadoś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łostakżepodejściedotestowania
orazrozumieniejegoroli(widaćtozresztąwyraźnie,gdyporównasdefinicjetestowania
opisanewrozdziale1.2).Dalejprzedstawiamygłównefazyrozwojutestowaniaoraznaj-
ważniejszeodkryciawhistoriitejdziedziny,zarównoteoretyczne,jakitechniczne.Treść
tegopodrozdziałujestopartanapracyLuo[18],któraodwołujesdoartykułuGelperina
iHetzela[19]opisującegorozwójtestowanianaprzestrzenikilkudziesięciuostatnichlat.
Fazapierwsza(przedrokiem1956).Eradebugowania.Przed1956rokiemtesto-
wanieniebyłoodróżnianeoddebugowaniabyłytopojęciatożsame.W1950roku
Turingopublikowałswójsłynnyartykuł[20],wktórymzadałpytanieoto,jakstwierdzić,
żemaszynajestobdarzonainteligencją.Jeśliwymaganiembyłobyzbudowanietakie-
11