Regressioonitestimine: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
Iiiren (arutelu | kaastöö)
Resümee puudub
Resümee puudub
3. rida:
== Põhiprintsiip ==
 
Regressioonitestimise mõteidee onseisneb selles, et järelkontrollidaprogrammi uut programmi versiooni vanadekontrollitakse teistkordselt juba olemasolevate testidega.
 
'''Eesmärgiks on:'''
* veenduda selles, et programmi uue versiooni integreerimine ei toonud endaga kaasa vigade tekkimist juba üle testitud koodis;
* veenduda selles, et muutunud süsteem endiselt vastab endiselt [[nõue|nõuetele]]. Niisuguseid vigu – kus programm pärast muutuste integreerimist ei tööta enam nii, nagu peaks töötama – nimetatakse regressioonivigadeks (inglise ''regression bugs'').
 
Regressioonitestimine algatatakse pärast esimest uuendust ja lõpetatakse lõppversiooniga. Pärast igaigat versiooniuuendust regressioonitestide hulk suureneb,. sellepärastSellepärast suureneb ka nende täitmise aeg ja teiste ressursideressursside vajadus. Regressioonitestimine võib koosneda ainult edukalt sooritatud testidest: ei ole mõtet kontrollida mooduli funktsionaalsust, kui eelnevas versioonis see ei töötanud.
 
[[Pilt:Regressiooni-testminie.gif|500px|thumb|Regressioonitestimise protsess.]]
15. rida:
== Automatiseerimine ==
 
Tavaliselt kasutatakse regressioonitestimiseks testjuhtumeid (inglise ''test case''), mis oli kirjutatudkirjutati [[Arvutiprogramm|programmi]] väljatöötamise alguses. Samuti on soovitatav automatiseerida regressioonitestid automatiseerida, sest neid on vaja kasutada programmi igas järgmises programmi versioonis. Tihedaks regressioon automaattestimiseks kasutatakse spetsiifilist [[tarkvara]], mis paneb neidteste käima mingi antudteatud ajavahemiku järel. Väikeses [[projekt|projektis]]is võib see toimuda pärast igaigat õnnestunud kompilatsiooni, suuremas [[projekt|projektis]] iga öö või iga nädal.
 
== Cem Kaner'iKaneri arvamus ==
 
Cem Kaner on tarkvara tehnikatarkvaratehnika professor [[Florida Tehnoloogia Instituut|Florida Tehnoloogia Instituudis]] ja on võib-olla kõige tuntum tarkvara kasutatavuse ja testimise spetsialist.<ref>[http://en.wikipedia.org/wiki/Cem_Kaner "Cem Kaner" Wikipedia]</ref>
 
Cem Kaner kirjeldas kolme regressioonitestimise '''põhitüüpi:'''
* Vea regressioon (inglise ''bug regression'') – katse tõestada, et parandatud viga tegelikult ei ole parandatud.
* Vanade vigade regressioon (inglise ''old bug regression'') – katse tõestada, et koodi või andmete viimane uuendus lõhkus vanade vigade parandust, nö vanad vead on uuesti tekitatavattekitatavad.
* Kõrvalnäha regressioon (inglise ''side effect regression'') – katse tõestada, et koodi või andmete viimane uuendus lõhkus teisi rakenduse osi.
 
RegressioonitestimiseksRegressioonitestimise kohta on Cem Kaneril ja James Bachil olemas väga hea presentatsioon "Musta kasti tarkvara testimine: Osa 11 - regressioonitestimine" (''Black Box Software Testing: Part 11 - Regression Testing'').
 
== Regressioonitestimise kasutamine ==
 
* Regressioonitestimine on samuti lahutamatu ekstremaalse programmeerimise (inglise ''extreme programming'') osa.
* Regressioonitestimist võib kasutada mitte ainult korrektsuse kontrollimiseks, vaid ka tulemuse kvaliteedi hindamiseks. Näiteks [[kompilaator|kompilaatori]]i kirjutamise korral kasutakse regressioonitestimist saadud koodi suuruse, selle täitmise kiiruse ja iga testi näidiste kompilatsiooni aja vaatlemiseks.
 
== ViidedViited ==
<references/>
 
== Välislingid ==
 
* [http://www.testingeducation.org/k04/bbst11_2004.pdf "Black Box Software Testing: Part 11 - Regression Testing"] (inglise keeles)
* [http://www.kaner.com/ Cem Kaneri kodulehekülg] (inglise keeles)