Regressioontestimine

Allikas: Teadmusbaas

Tagasi

Põhiprintsiip

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.


Automatiseerimine

Tavaliselt kasutatakse regressioonitestimiseks testjuhtumeid (inglise test case), mis kirjutati Arvutiprogramm|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.

Regressioonitestimise kasutamine

  • Regressioonitestimine on samuti lahutamatu ekstreemprogrammeerimise (inglise extreme programming) 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.

Villem Ausmees 12. detsember 2016, kell 05:58 (EET)

Tagasi testplaani juurde