Regresjonstesting

Test av et program som var testet før etter at modifikasjoner er utført for å sikre at feil ikke har blitt introdusert eller er aktivert i uendrete områder i produktet, som et resultat av endringen. Regresjonstest blir utført etter endringer i programvaren eller omgivelsen.

Present in sylabi

Eksempel

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.

FAQ

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.

Relaterte begreper

  • retesting — kjøring på nytt av tidligere feilede tester for å verifisere en rettelse
  • bekreftelsestesting — verifisering av at en defekt faktisk er rettet
  • integrasjonstesting — testing av grensesnittene mellom integrerte komponenter
  • systemtesting — testing av det komplette integrerte systemet
  • testautomatisering — bruk av programvare til å utføre tester, noe som muliggjør hyppige regresjonskjøringer
  • defekt — feilen en regresjonspakke er laget for å avdekke

Learn more

A systematic review on regression test selection techniques by Emelie Engström, Per Runeson, Mats Skoglund in Information and Software Technology, Elsevier (2010) - 449+ citations
Comprehensive systematic review of regression test selection techniques with qualitative analysis and empirical evaluations

An empirical study of regression test selection techniques by Todd L. Graves, Mary Jean Harrold, Jung-Min Kim, Adam Porter, Gregg Rothermel in ACM Transactions on Software Engineering and Methodology (TOSEM) (2001) - 663+ citations
Controlled experiment examining costs and benefits of five regression test selection techniques with empirical data on trade-offs

A study of effective regression testing in practice by W. Eric Wong, Joseph R. Horgan, Saul London, Hiralal Agrawal in Proceedings of the Eighth International Symposium on Software Reliability Engineering (ISSRE) (1997) - 701+ citations
Highly influential early work establishing practical foundations for regression testing ensuring changes don't affect unchanged features

Regression Testing: The Ultimate Guide (March 2025)
Comprehensive guide covering regression testing basics, 8-step process, do's and don'ts, challenges, manual vs automated testing, and strategy design

Recommend more content related to this term