Regressioonitestimine

Allikas: Vikipeedia
Jump to navigation Jump to search

Regressioonitestimine (ingl. regression testing, ladina regressio – liikumine tagasi) on üldnimetus kõikide tarkvara testimise tüüpidele, mis on suunatud vigade avastamisele varem testitud rakenduses või programmikoodis.

Põhiprintsiip[muuda | muuda lähteteksti]

Regressioonitestimise idee kohaselt kontrollitakse programmi uut versiooni teist korda juba olemasolevate testidega.

Eesmärgid on:

  • veenduda, et programmi uue versiooni integreerimine ei toonud endaga kaasa vigade tekkimist juba testitud koodis;
  • veenduda, et muutunud süsteem vastab endiselt nõuetele. Vigu, kus programm pärast muutuste integreerimist ei tööta enam nii nagu peaks, nimetatakse regressioonivigadeks (ingl. regression bugs).

Regressioonitestimine algatatakse pärast esimest uuendust ja lõpetatakse lõppversiooniga. Pärast iga versiooniuuendust regressioonitestide hulk suureneb. Sellepärast pikeneb ka nende täitmise aeg ja teiste ressursside vajadus. Regressioonitestimine võib koosneda ainult edukalt sooritatud testidest: ei ole mõtet kontrollida mooduli funktsionaalsust, kui eelnevas versioonis see ei töötanud.

Regressioonitestimise protsess

Automatiseerimine[muuda | muuda lähteteksti]

Tavaliselt kasutatakse regressioonitestimiseks testjuhtumeid (ingl. test case), mis kirjutati programmi väljatöötamise alguses. Samuti on soovitatav regressioonitestid automatiseerida, sest neid on vaja kasutada programmi igas järgmises versioonis. Tihedaks automaattestimiseks kasutatakse spetsiifilist tarkvara, mis paneb teste käima teatud ajavahemiku järel. Väikeses projektis võib see toimuda pärast igat õnnestunud kompilatsiooni, suuremas projektis iga öö või iga nädal.

Cem Kaneri arvamus[muuda | muuda lähteteksti]

Florida Tehnoloogia Instituudi tarkvaratehnika professor Cem Kaner on arvatavasti tuntuim tarkvara kasutatavuse ja testimise spetsialist.[1]

Kaner kirjeldas kolme regressioonitestimise põhitüüpi:

  • Vea regressioon (ingl. bug regression) – katse tõestada, et parandatud viga tegelikult ei ole parandatud;
  • Vanade vigade regressioon (ingl. old bug regression) – katse tõestada, et koodi või andmete viimane uuendus lõhkus vanade vigade parandust, nö vanad vead on uuesti tekitatavad;
  • Kõrvalnähu regressioon (ingl. side effect regression) – katse tõestada, et koodi või andmete viimane uuendus lõhkus teisi rakenduse osi.

Regressioonitestimise kohta on Cem Kaneril ja James Bachil presentatsioon "Musta kasti tarkvara testimine: Osa 11 - regressioonitestimine" (Black Box Software Testing: Part 11 - Regression Testing).

Regressioonitestimise kasutamine[muuda | muuda lähteteksti]

  • Regressioonitestimine on ekstreemprogrammeerimise lahutamatu osa.
  • Regressioonitestimist võib kasutada mitte ainult korrektsuse kontrollimiseks, vaid ka tulemuse kvaliteedi hindamiseks. Näiteks kompilaatori kirjutamise korral kasutatakse regressioonitestimist saadud koodi suuruse, selle täitmise kiiruse ja iga testi näidiste kompilatsiooni aja vaatlemiseks.

Viited[muuda | muuda lähteteksti]

  1. "Cem Kaner" Wikipedia

Välislingid[muuda | muuda lähteteksti]