Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.5.ogÓlnezaSadyteStoWania
1functionPętla(intx)
2
for(inti=1;i<=x;x++)do
3
if(Warunek)then
4
JakaśFunkcja(i)
5
else
6
InnaFunkcja(i)
7
endif
8
endloop
9end
Listing1.3.Przykładowyprogramzpętlą
Załóżmy,żespełnieniewarunkuwlinii3.możezależećodwykonaniafunkcjiwli-
niach4.i6.Załóżmyteż,żezmiennaxmożeprzyjmowaćwartościod1do100,czyliże
pętlamożezostaćwykonanamaksymalniestorazy.Dlaustalonegoxpętlawykonas
xrazy,alekażdyjejprzebiegmożeodbyćsnadwasposoby:albozostaniewykonana
funkcjazlinii4.,albofunkcjazlinii6.Uwzględniającpowyższeobserwacje,łatwopoli-
czyć,żeliczbaNwszystkichmożliwychścieżekwprogramiePętlawynosi
100
N
=
222
i
=
1
+
2
+
ł
+
2
100
=
2
101
=
2
2535301200456458802
,993406410752
,
,
,
,
,
,
,
,
,
i
=
1
czylizgrubszaniecoponaddwaipółkwintylionaścieżek,awięcitylesamotestów.Jeśli
założymy,żewykonanietysiącatestówtrwajedmilisekundę,totestowaniezakończy
spo2,5kwadrylionachsekund,czylipobagatela80biliardachlat(wedługwspół-
czesnychbadańwiekWszechświataoceniasnaok.14miliardówlat...).
testowaniegruntowne,testowaniewyczerpujące,kompletnetestowanie(ang0exhaus-
tivetesting)metodatestowaniapolegającanakonstrukcjizestawutestówobejmują-
cegowszystkiemożliwekombinacjewejśćiwarunkówwstępnych
Zasada3.Wczesnetestowanie.Wpodrozdziale1.4wspomnieliśmyopracyBeizera,
któradałapoczątekparadygmatowihwczesnegotestowania”.Mówion,żeprocestestowy
należyrozpocząćmożliwiejaknajwcześniejwcyklużyciaoprogramowania.Częstoczyn-
nościzwiązanezprzygotowaniemplanutestówiprzypadkówtestowychpowstająjużna
etapieanalizywymagań,gdyniezostałajeszczenapisanaanijednaliniakodu.Istnieją
dwagłównepowodywczesnegotestowania.Popierwsze,wczesnetestowaniepełnifunk-
cjęprewencyjnąipozwalazapobiegaćdefektomodsamegopoczątkuprojektu.Podrugie,
kosztusuwaniadefekturośniezczasemtrwaniaprojektu,choćostatniebadaniapokazują,
żewprzypadkumetrykikosztunadefektsprawajestniecobardziejskomplikowana
3[22].
3Mniejszaliczbawykrytychwcześniejdefektówmożeoznaczaćszybszeukończenieprojektu,copozwala
zaoszczędzić,np.nakosztachwynagrodzeń.Pełnaekonomicznakalkulacjamożepokazać,żeczasamiopłaca
sprzekazaćklientowiprogramzwiększąliczbąniewykrytychjeszczebłędów,alezatozrobićtowcześniej.
15