Comprehensive systematic review of regression test selection techniques with qualitative analysis and empirical evaluations
Efter at et team har udsendt en rettelse af en defekt i betalingsberegningen, kører de de test, der tidligere fejlede, igen (det er gentest), og kører derefter hele regressionssuiten, der dækker resten af checkout-flowet. Regressionstest verificerer, at uændrede områder — f.eks. rabatlogik og beregning af forsendelsesomkostninger — stadig opfører sig korrekt efter ændringen. Ved kontinuerlig integration kører regressionstest typisk automatisk ved hver kodeændring.
Hvad er forskellen på regressionstest og gentest? Gentest kører de specifikke testcases, der fejlede sidste gang, for at verificere, at rettelsen virkede. Regressionstest kører test på tidligere testet, uændret funktionalitet for at sikre, at ændringen ikke introducerede nye defekter. Begge er nødvendige efter en rettelse.
Hvornår udføres regressionstest? Når som helst softwaren eller dens miljø ændres: nye funktioner, fejlrettelser, konfigurationsændringer eller infrastrukturopdateringer. Jo større ændringen er, desto vigtigere er regressionsdækningen.
Hvor meget regressionstest er nok? Nok til at dække risikoen ved ændringen. Teams starter ofte med en røgtest af de kritiske stier og udvider derefter baseret på ændringens påvirkning og tilgængelig testautomatisering.
Er regressionstest et testniveau? Det er en testtype, ikke et niveau — regressionstest kan køre på ethvert niveau, fra komponenttest til systemtest, og indgår ofte i flere faser.