Glossar · Testgrundlagen
Sanity-Test
Englisch: Sanity testing
Auch genannt: Sanity Test, Sanity Check, Plausibilitätstest
Definition
Eine enge, gezielte Prüfung nach einer kleinen Änderung oder einem Bugfix, ob der betroffene Bereich wie beabsichtigt funktioniert, bevor breiter getestet wird.
Ein Sanity-Test ist eine schnelle, gezielte Prüfung, ob eine bestimmte Änderung funktioniert und sich der Bereich darum herum noch vernünftig verhält. Er findet nach einem Bugfix oder einer kleinen Änderung an einem Build statt, der bereits einigermaßen stabil ist. Schlägt der Sanity-Check fehl, geht der Build zurück an die Entwicklung, ohne dass Zeit für einen vollständigen Regressionslauf aufgewendet wird.
Beispiel
Ein Bugreport besagt, dass die E-Mail „Passwort vergessen“ nicht verschickt wird, wenn die Adresse ein Pluszeichen enthält (ana+test@example.com). Der Entwickler liefert einen Fix. Ein Sanity-Check würde:
- Ein Zurücksetzen für
ana+test@example.comanfordern und bestätigen, dass die E-Mail ankommt. - Ein Zurücksetzen für eine normale Adresse anfordern und bestätigen, dass es weiterhin funktioniert.
- Dem Link zum Zurücksetzen folgen und bestätigen, dass das neue Passwort akzeptiert wird.
Das war es. Den Warenkorb oder das Reporting-Modul prüft hier niemand. Wenn diese Schritte bestehen, geht der Build weiter in den Regressionstest.
Sanity-Test vs. Smoke-Test
| Sanity-Test | Smoke-Test | |
|---|---|---|
| Umfang | Eng und einigermaßen tief, ein Feature oder Fix | Breit und flach, die gesamte Anwendung |
| Auslöser | Ein konkreter Fix oder eine kleine Änderung | Jeder neue Build |
| Zustand des Builds | Bereits ziemlich stabil | Unbekannt, möglicherweise kaputt |
| Form | Oft ohne Skript, von einem Tester durchgeführt | Meist eine geskriptete, automatisierte Suite |
Manche Teams beschreiben den Sanity-Test als Teilmenge des Regressionstests, die sich auf den geänderten Bereich konzentriert. Das ist eine vernünftige Sichtweise.
Ein Hinweis zur Terminologie
Die Definitionen unterscheiden sich zwischen Unternehmen und Lehrbüchern, und manche Teams verwenden „Smoke“ und „Sanity“ synonym. Nennen Sie in einem Vorstellungsgespräch die obige Unterscheidung und sagen Sie dann, dass in der Praxis entscheidend ist, dass sich das Team einig ist, was jede Prüfung abdeckt und wann sie läuft. Präzise zu sein und die Mehrdeutigkeit anzuerkennen wirkt besser, als auf einem einzigen Lehrbuch zu beharren.