Eine Software-Regression ist ein Softwarefehler, durch den eine Funktion nach einem bestimmten Ereignis nicht mehr wie vorgesehen funktioniert (z. B. ein Systemupgrade, Systempatching oder eine Änderung der Sommerzeit)., Eine Software-Performance-Regression ist eine Situation, in der die Software immer noch korrekt funktioniert, aber langsamer arbeitet oder mehr Speicher oder Ressourcen als zuvor verwendet.
Regressionen werden häufig durch Fehlerbehebungen verursacht, die in Software-Patches enthalten sind. Ein Ansatz zur Vermeidung dieser Art von problem ist Regressionstest. Ein ordnungsgemäß entworfener Testplan zielt darauf ab, diese Möglichkeit vor der Veröffentlichung von Software zu verhindern. Automatisierte Tests und gut geschriebene Testfälle können die Wahrscheinlichkeit einer Regression verringern.,
Eine Software-Regression kann von einem von drei Typen sein:
- Local-eine Änderung führt zu einem neuen Fehler im geänderten Modul oder in der geänderten Komponente.
- Remote-Eine Änderung in einem Teil der Software unterbricht die Funktionalität in einem anderen Modul oder einer anderen Komponente.
- Unmasked-eine Änderung entlarvt einen bereits vorhandenen Fehler, der vor der Änderung keine Wirkung hatte.