Upload
matiss-rikters
View
661
Download
0
Embed Size (px)
Citation preview
Programmatūras testēšanas pamati
The Basics of Software Testing
Matīss Rikters
Lai pārbaudītu, vai tiek izpildītas prasības Lai mazinātu risku, ka programmatūras
lietošanas laikā atklājas lielas problēmas Reizēm testēšana ir minēta kā prasība no
pasūtītāja
Kāpēc testēt programmatūru?
Kļūme (failure) Bojājums (fault) Blusa (bug) Kļūda (error) Defektu maskēšana (defect masking)
Programmatūras testēšanas termini
Testēšana, lai atrastu kļūmes Testēšana, lai mērītu programmatūras
kvalitāti Testēšana, lai veicinātu uzticību
programmatūrai Programmatūras vai dokumentācijas
analīze, lai novērstu defektus
Testēšanas nolūki
Pēc testa mērķa vai testa tipa – piemēram, slodzes tests
Pēc testēšanas tehnikas - piemēram, robežvērtību tests
Pēc testējamā objekta – piemēram, lietotāja saskarnes tests vai datu bāzes tests
Pēc testēšanas līmeņa – piemēram, sistēmas tests Pēc testēšanas personas – piemēram, izstrādātāja
tests vai lietotāja akcepttests Pēc testa mēra – piemēram, regresijas tests
Testu nosaukumi
Funkcionalitāte (functionality) Drošība (security) Uzticamība (reliability) Lietojamība (usability) Efektivitāte (efficiency) Pārnesamība (portability) Uzturamība (maintainability)
Programmatūras kvalitāte
Pilna testēšana nav iespējama Vidēji 25%-50% projekta budžeta
testēšanai Neatrasti bojājumi var ļoti dārgi
izmaksāt Resursi ir ierobežoti
Testēšanas piepūle
Programmatūras dzīves cikla modeļi: Ūdenskrituma modelis
Testēšana ir vienreizēja darbība, notiek projekta beigās
V-veida modelis Testēšana iekļauta visā izstrādes procesā
Testēšanas process
Testēšanas plānošana un kontrole Testu analīze un izstrāde Testu implementēšana un izpildīšana Testu izejas kritēriju novērtēšana Testēšanas beigšanas aktivitātes
Testēšanas process
Resursu plānošana Testēšanas stratēģijas noteikšana Testu sadalīšana pa prioritātēm Rīku atbalsts
Testēšanas plānošana un kontrole
Loģiskie un konkrētie testu piemēri Testu piemēri sagaidāmajiem un
negaidītajiem ievaddatiem Jāsagatavo testēšanai nepieciešamā
infrastruktūra un testēšanas vide
Testu analīze un izstrāde
Testpiemēru izpilde Pilnības pārbaude Galveno funkciju izpēte Svarīgi protokolēt testus un testiem
būt reproducējamiem Par kļūmēm jāziņo un pēc to
izlabošanas atkārtoti jāpārbauda
Testu implementēšana un izpildīšana
Jāpārliecinās par visu izejas kritēriju izpildīšanos
Jāsalīdzina atrasto kļūmju apjoms testēšanas stundā pa nedēļām
Iespējams, jāveic vairāki testēšanas cikli Jāizveido kopsavilkuma atskaite
Testu izejas kritēriju novērtēšana
Jāanalizē testēšanas pieredze: Kuri no plānotajiem rezultātiem sasniegti? Kādi negaidīti atgadījumi notika? Kā lietotājs pieņēma sistēmu, kad tā tika
nodota? Jānoglabā dokumentācija un testi, kas,
iespējams, varētu noderēt turpmāk
Testēšanas beigšanas aktivitātes
Errare humanum est Izstrādātājam pašam grūtāk atrast savas
kļūdas Neatkarīga testēšanas komanda veicina
testu kvalitāti Izstrādātājiem jādraudzējas ar testētājiem un
otrādi
Testēšanas psiholoģija
Testēšana parāda defektu esamību nevis to neesamību
Pilnīga testēšana nav iespējama Testēšanas aktivitātēm jāsākas iespējami
ātrāk Pesticīdu paradokss Testi ir atkarīgi no konteksta Maldinošais pieņēmums, ka kļūdu neesamība
nozīmē, ka sistēma ir lietderīga
Vispārējie testēšanas principi
Paldies par uzmanību!