Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
4.TeSTOWanieWcyklUżyciaOPrOGramOWania
Wyrażeniawnawiasach/.../oznaczająfrazywyszukiwanewtekście.Wnawiasach
okrągłychznajdująsięwartości,któreprzypisywanedozmiennychonazwachujętych
wznakiI...I.NaprzykładteksthNacisnąłem/”zostanieprzypisanydowzorca/Nacisną-
łem(\w+)/,przyczymzmiennaopprzyjmiewartośćh/”.Składniawyrażeńwnawiasach
okrągłychjestzwiązanazobsługąwyrażeńregularnych
1,np.h.*”oznaczadowolnyciąg
znaków,h\d+”dowolnyniepustyciągcyfritd.Dlakażdegoprzypasowanegofragmen-
tukodwykonujeodpowiedniąoperację,np.dlatekstuwsekcjiGivenjestwykonywa-
nainstrukcjacalc.pushn.to_ioznaczającawpisaniedokalkulatorawartościzmiennejn
zrzutowanejnatypcałkowity.
SekcjeBeforeorazAfterwskrypciezawierająinstrukcjesłużąceodpowiedniodo
montowaniairozmontowaniaśrodowiskatestowego,potrzebnegodoprzeprowadzenia
danegotestu.WnaszymprzypadkusekcjaBeforeskładasięzjednejinstrukcji,tworzącej
instancjękalkulatora,naktórejbędąwykonywanezadaneoperacje.SekcjaAfterjestpu-
stapozakończeniutestunicniemusimyrozmontowywać.
Osobatworzącawymaganiawpostaciscenariuszyniemusiznaćjęzykaprogramo-
wania.Wystarczy,żebędzieposługiwałasięodpowiednimifrazamijęzykanaturalnego.
Skryptprzetransformujetonakonkretneoperacjewprogramieiprzetestujetakąhisto-
ryjkę,porównującwynikwykonaniaztym,cozostałozapisanewsekcjiThen.Wpodej-
ściuBDDkonstruujemynajpierwscenariusztestowyzachowaniasystemu,anastępnie
tworzymykod,któryzaliczytentest.
4.1.;.MetodologiaCleanroom
MetodologiaCleanroompostrzegaproceswytwarzaniaoprogramowaniajakoczyn-
nośćstricteinżynierską,opartąnapodstawachnaukowych,głównienametodachsta-
tystycznychimatematycznych[53].Aspekttworzeniaproduktujakoprocesprogrami-
stycznychpróbibłędówmatudrugorzędneznaczenie.Innymiprzykładamitegotypu
formalnychpodejśćWiedeńskaMetodaProdukcji(ang.ViennaDevelopmentModel,
VDM)oraznotacjaZ[54],[55].
WpodejściuCleanroomdążysiędoosiągnięciaprzezproduktokreślonegopozio-
muniezawodnościprzezrygorystycznyproceskontrolinastawionynazapobieganiede-
fektomniżnaichpóźniejszewykrywanieiusuwanie.Wosiągnięciutegocelupomaga
wykorzystaniemetodformalnychpodczasprojektowaniaoprogramowania,metodstaty-
stycznejkontrolijakościpodczasinkrementacyjnychfazwytwórczychorazstatystyczne-
gopodejściadotestowania.
kontrolajakości(ang.qualitycontrol)operacyjnetechnikiidziałania,częśćzarzą-
dzaniajakością,koncentrującasięnaspełnieniuwymagańjakościowych[56]
Testowanie(wCleanroomnazywanecertyfikacją)opartejestnaformalnejspecyfi-
kacji,wykorzystywanejdotworzeniaprofilioperacyjnychprogramu,czylioczekiwanych
1WięcejinformacjiowyrażeniachregularnychCzytelnikznajdziewDodatkuC.
68