Regressioonitestimine (inglise keeles regression testing, ladina keeles regressio – liikumine tagasi) on üldnimetus kõikide tarkvara testimise tüüpidele, mis on suunatud vigade avastamisele varem testitud rakenduses või programmikoodis.
Regressioonitestimise idee kohaselt kontrollitakse programmi uut versiooni teist korda juba olemasolevate testidega.
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.
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 iga õnnestunud kompilatsiooni, suuremas projektis igal ööl või igal nädalal.
Florida Tehnoloogia Instituudi tarkvaratehnika professor Cem Kaner on arvatavasti tuntuim tarkvara kasutatavuse ja testimise spetsialist.[1]
Kaner kirjeldas kolme regressioonitestimise põhitüüpi:
Regressioonitestimise kohta on Cem Kaneril ja James Bachil presentatsioon "Musta kasti tarkvara testimine: Osa 11 – regressioonitestimine" (Black Box Software Testing: Part 11 - Regression Testing).