Comprehensive systematic review of regression test selection techniques with qualitative analysis and empirical evaluations
Nachdem ein Team einen Fehler bei der Zahlungsberechnung behoben und ausgeliefert hat, führt es zunächst die Tests erneut aus, die zuvor fehlgeschlagen waren (das ist der Fehlernachtest), und führt anschließend die vollständige Regressionssuite aus, die den übrigen Checkout-Ablauf abdeckt. Der Regressionstest verifiziert, dass unveränderte Bereiche — etwa die Rabattlogik und die Berechnung der Versandkosten — nach der Änderung weiterhin korrekt funktionieren. In der kontinuierlichen Integration laufen Regressionstests typischerweise bei jeder Codeänderung automatisch.
Was ist der Unterschied zwischen Regressionstest und Fehlernachtest? Der Fehlernachtest führt die konkreten Testfälle erneut aus, die beim letzten Mal fehlgeschlagen sind, um zu verifizieren, dass die Korrektur wirkt. Der Regressionstest führt Tests auf bereits getesteter, unveränderter Funktionalität aus, um sicherzustellen, dass die Änderung keine neuen Fehler eingeführt hat. Nach einer Korrektur sind beide erforderlich.
Wann wird ein Regressionstest durchgeführt? Immer dann, wenn sich die Software oder ihre Umgebung ändert: neue Funktionen, Fehlerbehebungen, Konfigurationsänderungen oder Infrastruktur-Updates. Je größer die Änderung, desto wichtiger die Regressionsabdeckung.
Wie viel Regressionstest ist genug? Genug, um das Risiko der Änderung abzudecken. Teams beginnen oft mit einem Smoke-Test über die kritischen Abläufe und erweitern dann auf Basis der Änderungswirkung und der verfügbaren Testautomatisierung.
Ist der Regressionstest eine Teststufe? Er ist eine Testart, keine Stufe — Regressionstests können auf jeder Teststufe laufen, vom Komponententest bis zum Systemtest, und treten häufig in mehreren Phasen auf.