Comprehensive systematic review of regression test selection techniques with qualitative analysis and empirical evaluations
Etter at et team har levert en rettelse av en defekt i betalingsberegningen, kjører de på nytt testene som tidligere feilet (det er retesting), og deretter hele regresjonspakken som dekker resten av kasseflyten. Regresjonstesting verifiserer at uendrede områder — for eksempel rabattlogikken og beregningen av fraktkostnader — fortsatt oppfører seg korrekt etter endringen. Ved kontinuerlig integrasjon kjøres regresjonstester vanligvis automatisk ved hver kodeendring.
Hva er forskjellen mellom regresjonstesting og retesting? Retesting kjører de bestemte testcasene som feilet sist, for å verifisere at rettelsen virket. Regresjonstesting kjører tester på tidligere testet, uendret funksjonalitet for å sikre at endringen ikke innførte nye defekter. Begge deler trengs etter en rettelse.
Når utføres regresjonstesting? Når programvaren eller miljøet endres: nye funksjoner, feilrettelser, konfigurasjonsendringer eller infrastrukturoppdateringer. Jo større endringen er, desto viktigere er regresjonsdekningen.
Hvor mye regresjonstesting er nok? Nok til å dekke risikoen ved endringen. Team starter ofte med en runde røyktesting av kritiske stier, og utvider deretter ut fra endringens påvirkning og tilgjengelig testautomatisering.
Er regresjonstesting et testnivå? Det er en testtype, ikke et nivå — regresjonstester kan kjøres på ethvert nivå, fra komponenttesting til systemtesting, og forekommer ofte i flere faser.