Regressionstest

Test af en tidligere testet komponent eller system efter ændring for at sikre at defekter hverken er blevet introduceret eller afdækket i uændrede områder af softwaren som følge af de foretagne ændringer.

Present in sylabi

Foundation 2018 Foundation Extension - Performance Testing 2018 Foundation Extension - Gambling Industry Tester 2018

Eksempel

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.

FAQ

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.

Relaterede begreber

  • gentest — kører tidligere fejlede test igen for at verificere en rettelse
  • bekræftelsestest — verificerer, at en defekt faktisk er rettet
  • integrationstest — tester grænseflader mellem integrerede komponenter
  • systemtest — tester det komplette integrerede system
  • testautomatisering — bruger software til at udføre test, hvilket muliggør hyppige regressionskørsler
  • defekt — den fejl, en regressionssuite er designet til at afdække

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