Regressioonitestimine

Allikas: Vikipeedia

Regressioonitestimine (inglise regression testing, ladina regressio – liikumine tagasi) on üldnimetus kõikide tarkvara testimise tüüpidele, mis on suunatud sellele, et leida vead juba varem üle testitud rakenduses või programmi koodis.

Põhiprintsiip[muuda | redigeeri lähteteksti]

Regressioonitestimise idee seisneb selles, et programmi uut versiooni kontrollitakse teistkordselt juba olemasolevate testidega.

Eesmärgiks on:

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

Regressioonitestimine algatatakse pärast esimest uuendust ja lõpetatakse lõppversiooniga. Pärast igat versiooniuuendust regressioonitestide hulk suureneb. Sellepärast suureneb 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 | redigeeri lähteteksti]

Tavaliselt kasutatakse regressioonitestimiseks testjuhtumeid (inglise 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 | redigeeri lähteteksti]

Cem Kaner on tarkvaratehnika professor Florida Tehnoloogia Instituudis ja on võib-olla kõige tuntum tarkvara kasutatavuse ja testimise spetsialist.[1]

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 tekitatavad.
  • Kõrvalnäha regressioon (inglise 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 | redigeeri lähteteksti]

  • 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 kompilaatori kirjutamise korral kasutakse regressioonitestimist saadud koodi suuruse, selle täitmise kiiruse ja iga testi näidiste kompilatsiooni aja vaatlemiseks.

Viited[muuda | redigeeri lähteteksti]

  1. "Cem Kaner" Wikipedia

Välislingid[muuda | redigeeri lähteteksti]