Smoke-Tests und Regressionstests sind wichtige Arten des manuellen Testens, die in verschiedenen Phasen der Entwicklung und Veröffentlichung von Updates angewendet werden.
Historie der Frage:
Ein Smoke-Test (ausschließlich "Smoke-Test" in der Elektronik – Überprüfung, ob es nach dem Einschalten des Geräts "Rauch" gibt) ist eine schnelle minimalistische Überprüfung, dass die Hauptfunktionen des Systems funktionsfähig sind. Regressionstests sind eine vollständige oder teilweise Überprüfung der Funktionalität, um sicherzustellen, dass neuer Code bestehende Funktionen nicht beeinträchtigt hat.
Problem:
Diese Tests werden oft verwechselt oder falsch angewendet, wodurch Zeit verloren geht oder wichtige Überprüfungen übersehen werden. Es gibt auch Fragen, wie und nach welchen Kriterien Testsets für Smoke und Regression gebildet werden sollten.
Lösung:
Wesentliche Merkmale:
Fällt Smoke-Testing unter Regressionstests?
Nein, Smoke ist eine Teilmenge von besonderen „lebenswichtigen“ Tests, während Regression sowohl neue als auch wichtige alte Überprüfungen umfasst.
Kann man vor einer Veröffentlichung nur Smoke-Tests durchführen?
Nein – das ist nicht ausreichend. Smoke signalisiert nur, dass alles "lebendig" ist, garantiert jedoch nicht das Fehlen kritischer Bugs in weniger „öffentlicher“ Funktionalität.
Ist es zulässig, die Zusammensetzung der Smoke-Tests bei jeder Veröffentlichung zu ändern?
Nein, die Zusammensetzung der Smoke-Tests ist stabil und ändert sich nur bei radikalen Änderungen des Produkts.
Vor der Veröffentlichung beschränkt sich das Team nur auf Smoke-Tests und führt keine Regressionstests durch. Infolgedessen werden Bugs in weniger auffälligen, aber wichtigen Funktionen erst nach der Veröffentlichung entdeckt.
Vorteile:
Nachteile:
Nach jedem Deployment auf die Testumgebung werden zunächst Smoke-Tests durchgeführt und anschließend Regressionstests basierend auf aktualisierten Szenarien. Die Ergebnisse werden dokumentiert und die Tests werden bei Änderungen im Produkt zeitnah angepasst.
Vorteile:
Nachteile: