17
Programmatūras testēšanas pamati The Basics of Software Testing Matīss Rikters

Programmatūras testēšanas pamati

Embed Size (px)

Citation preview

Page 1: Programmatūras testēšanas pamati

Programmatūras testēšanas pamati

The Basics of Software Testing

Matīss Rikters

Page 2: Programmatūras testēšanas pamati

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?

Page 3: Programmatūras testēšanas pamati

Kļūme (failure) Bojājums (fault) Blusa (bug) Kļūda (error) Defektu maskēšana (defect masking)

Programmatūras testēšanas termini

Page 4: Programmatūras testēšanas pamati

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

Page 5: Programmatūras testēšanas pamati

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

Page 6: Programmatūras testēšanas pamati

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

Page 7: Programmatūras testēšanas pamati

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

Page 8: Programmatūras testēšanas pamati

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

Page 9: Programmatūras testēšanas pamati

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

Page 10: Programmatūras testēšanas pamati

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

Page 11: Programmatūras testēšanas pamati

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

Page 12: Programmatūras testēšanas pamati

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

Page 13: Programmatūras testēšanas pamati

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

Page 14: Programmatūras testēšanas pamati

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

Page 15: Programmatūras testēšanas pamati

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

Page 16: Programmatūras testēšanas pamati

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

Page 17: Programmatūras testēšanas pamati

Paldies par uzmanību!