Sanity testing
Agil Prüfbarkeit Bewährte Methoden Verwaltung
18 min lesen
Oktober 28, 2024

Was ist Sanity Testing? Kompletter Leitfaden

Es gibt ein paar kleine Änderungen in Ihrem Code. Klingt harmlos, oder? Manchmal ist es das, aber manchmal kann schon die kleinste Änderung Ihr gesamtes Software-System beeinflussen. Sie kann die Kernfunktionen beeinträchtigen, auf die Sie sich verlassen. Wie stellen Sie also sicher, dass alles noch funktioniert, ohne die gesamte Testreihe durchlaufen zu müssen? Hier kommt das Sanity Testing ins Spiel. Wie, wann und warum? Das erklären wir Ihnen in diesem Leitfaden.

photo
photo
Stefan Gogoll
Nurlan Suleymanov

Was ist Sanity Testing?

Sanity Testing ist eine schnelle Überprüfung, um sicherzustellen, dass wichtige Teile Ihrer Anwendung nach kleineren Änderungen oder Bugfixes weiterhin korrekt funktionieren. Es handelt sich um eine Art Softwaretest, der sich auf die Validierung von Kernfunktionen konzentriert und sicherstellt, dass durch die neuesten Updates keine neuen Probleme entstanden sind. Im Gegensatz zu einem vollständigen Regressionstest, der das gesamte System abdeckt, ist das Sanity Testing gezielter und schneller.

Sanity Testing und Smoke Testing werden oft verwechselt, aber:

  • Smoke Testing prüft, ob die grundlegenden Funktionen eines neuen Builds überhaupt funktionieren,
  • Sanity Testing folgt später und stellt sicher, dass die spezifischen Korrekturen oder Updates keine wichtigen Funktionen beeinträchtigt haben.

Nun, da Sie mit dem Konzept vertraut sind, gehen wir weiter zu den Gründen, warum Sie es brauchen.

In meinen Augen wären Sanity-Tests: „Lass uns sicherstellen, dass wir nichts Schreckliches kaputt gemacht haben, nur für den Fall.“

di6 Reddit

Zweck von Sanity Testing

Warum benötigen Sie Sanity Testing?

Bei kleinen Aktualisierungen ist es leicht anzunehmen, dass alles reibungslos läuft – aber das ist nicht immer der Fall. Sanity Testing stellt sicher, dass Sie nicht von neuen Problemen nach einer Korrektur oder Anpassung überrascht werden. Es ist eine schnelle Möglichkeit, um:

  • Kritische Bereiche zu validieren, die von Änderungen betroffen sein könnten.
  • Neue Fehler zu entdecken, bevor sie Ihr Projekt stören.
  • Zeit zu sparen, indem Sie sich nur auf relevante Teile konzentrieren, anstatt auf eine vollständige Regression.
  • Schnelles Feedback zu erhalten, damit Sie mit Zuversicht weitermachen können.

Sanity Testing sorgt also dafür, dass Ihr Testprozess effizient bleibt und hilft Ihnen, die Qualität zu priorisieren, ohne Ressourcen zu verschwenden. Es ist besonders wichtig in schnellen Umgebungen und bei engen Fristen, in denen Sie jede Sekunde nutzen müssen.

Sanity Testing-Process

Jetzt, da Sie das Warum des Sanity-Testings verstehen, lassen Sie uns den Ablauf erläutern. Sanity Testing ist schnell und gezielt, folgt jedoch einem strukturierten Ansatz, um sicherzustellen, dass nichts übersehen wird. Betrachten Sie es als eine gezielte Inspektion der kritischsten Bereiche, die von den kürzlich vorgenommenen Änderungen betroffen sein könnten.

Hier ist eine Schritt-für-Schritt-Anleitung zum Prozess des Sanity-Testings:

  1. Identifizieren Sie die Bereiche, die von den aktuellen Änderungen betroffen sind
    Beginnen Sie damit, die spezifischen Updates oder Fehlerbehebungen zu überprüfen. Sie sollten sich nur auf die Bereiche konzentrieren, die möglicherweise von den Änderungen betroffen sind. Wenn Sie beispielsweise die Funktion zum Bearbeiten des Benutzerprofils geändert haben, konzentrieren Sie Ihre Sanity-Tests auf dieses Modul. So sparen Sie Zeit und stellen sicher, dass Sie nur das testen, was wichtig ist.
  2. Bereiten Sie Ihre Testfälle vor
    Wählen Sie gezielte Testfälle aus, die sich auf die Kernfunktionen der betroffenen Bereiche konzentrieren. Diese Testfälle sollten einfach, aber effektiv sein. Wenn Sie beispielsweise die Anmeldefunktion aktualisiert haben, sollten Ihre Testfälle die grundlegende Anmeldefunktionalität überprüfen (z. B. Eingabe gültiger Anmeldeinformationen und Passwortzurücksetzungen). Betrachten Sie es als eine Qualitätsstichprobe.
  3. Führen Sie die Tests aus
    Führen Sie Ihre Tests in den spezifischen Bereichen durch, die Sie identifiziert haben. Da es beim Sanity Testing um Effizienz geht, müssen Sie kein vollständiges Regressionstestpaket ausführen. Konzentrieren Sie sich nur auf die Änderungen und deren Auswirkungen auf die Kernfunktionen. Wenn Sie beispielsweise die Suchfunktion aktualisiert haben, testen Sie, ob die Benutzer weiterhin ohne Fehler suchen können.
  4. Analysieren Sie die Ergebnisse
    Überprüfen Sie nach dem Ausführen Ihrer Tests die Ergebnisse. Wenn alles reibungslos funktioniert, sind Sie bereit, fortzufahren. Sollten jedoch neue Probleme auftreten, könnte dies auf tiefere Probleme hinweisen, da dies die Notwendigkeit weiterer Regressionstests zur Folge hat.

Sanity tests

Dies ist die kurze theoretische Checkliste für Sanity Testing, ähnlich wie bei allen anderen Testarten. Die praktischen Schritte sind jedoch etwas anders. Lassen Sie uns diese kurz aufschlüsseln.

Wie führt man Sanity Testing durch?

Wie bereits bekannt, dreht sich beim Sanity Testing alles um Effizienz. Das Ziel ist es, kürzlich vorgenommene Änderungen schnell zu validieren und dabei die kritischsten Teile Ihrer Anwendung im Blick zu behalten. Hier erfahren Sie, wie Sie sicherstellen können, dass das Sanity Testing aus technischer Sicht korrekt durchgeführt wird:

  • Beginnen Sie mit kleinen, fokussierten Testfällen

Wählen Sie Testfälle aus, die sich speziell auf die aktualisierten Bereiche konzentrieren. Das bedeutet, dass keine unnötigen Tests in nicht verwandten Modulen durchgeführt werden. Wenn beispielsweise das Update einen Fehler im Zahlungs-Gateway behoben hat, testen Sie nur den Zahlungsablauf. Durch die Beibehaltung eines kleinen Umfangs stellen Sie schnellere Ergebnisse sicher und konzentrieren sich auf das, was am wichtigsten ist.

  • Führen Sie Sanity-Tests manuell oder automatisiert durch

Sie können Sanity-Tests manuell durchführen oder Automatisierung nutzen, je nach den Anforderungen Ihres Projekts. Bei einfachen Fehlerbehebungen ist manuelles Testen möglicherweise schneller. Für wiederkehrende Tests oder komplexere Funktionen können automatisierte Sanity-Tests Ihnen jedoch helfen, schnellere und zuverlässigere Ergebnisse zu erzielen. Und natürlich ermöglichen Automatisierungstools, dass Sie diese Tests konsistent durchführen, da sie Zeit für umfassendere Tests freisetzen.

  • Priorisieren Sie kritische Pfade

Konzentrieren Sie sich auf die wesentlichen Teile Ihrer Anwendung – dies sind die Bereiche, deren Ausfall die größten Störungen verursachen würde. Wenn Ihr Update beispielsweise ein Problem beim Checkout behebt, testen Sie den gesamten Checkout-Prozess (Artikel in den Warenkorb legen, Rabatt anwenden, Zahlung verarbeiten), um sicherzustellen, dass alles reibungslos funktioniert.

  • Dokumentieren Sie Ihre Ergebnisse

Führen Sie Aufzeichnungen über die durchgeführten Sanity-Tests sowie deren Ergebnisse. Auch wenn alles erfolgreich ist, ermöglicht Ihnen diese Dokumentation, nachzuvollziehen, was getestet wurde, und hilft bei der Fehlersuche, falls in Zukunft Probleme auftreten. Wenn Sie ein Dokumentationstool verwenden, wird der Prozess erheblich einfacher, da es alle Ihre Testaktivitäten speichert und verfolgt.

  • Bestimmen Sie die nächsten Schritte

Wenn Ihre Sanity-Tests bestanden werden, ist das ein grünes Licht, um mit dem Entwicklungszyklus fortzufahren. Wenn jedoch neue Probleme auftreten, ist es an der Zeit, mit umfassenderen Regressionstests tiefer zu tauchen. Sanity-Testing ist ein schneller Kontrollpunkt, der Ihnen hilft zu entscheiden, ob Sie fortfahren oder weiter untersuchen sollen.

Indem Sie sich auf diese Schritte konzentrieren, können Sie Sanity-Tests effizient durchführen und sicherstellen, dass die Anwendung nach jeder Änderung stabil bleibt. Es geht darum, klug zu arbeiten und nicht hart—so können Sie Probleme erkennen, bevor sie zu größeren Herausforderungen werden.

Jetzt, da Sie gesehen haben, wie entscheidend Sanity-Testing für die Stabilität Ihrer Anwendung nach Aktualisierungen ist, stellen Sie sich vor, Sie hätten ein Werkzeug, das diesen Prozess vereinfacht und Ihre Testanstrengungen auf die nächste Stufe hebt. Ein  Testmanagementsystem (TMS) kann jeden Schritt zentralisieren und automatisieren, wodurch es einfacher wird, Ihre Sanity-Tests effizient zu verfolgen, zu dokumentieren und zu verwalten. Aber was wäre, wenn Sie über die Sanity-Tests hinausgehen könnten?

Hier kommt aqua cloud ins Spiel. aqua geht über die Verwaltung grundlegender Sanity-Tests hinaus. Die KI-gesteuerte Testfallgenerierung spart Ihnen 97 % der Zeit und gewährleistet gleichzeitig eine 100 %ige Abdeckung selbst für die komplexesten Testszenarien. Mit aqua erhalten Sie Echtzeiteinblicke, vollständige Nachverfolgbarkeit von Anforderungen bis hin zu Mängeln und leistungsstarke Integrationen mit Automatisierungs- und Projektmanagement-Tools wie Jira, Jenkins, UnixShell, PowerShell und Azure DevOps. Darüber hinaus können Sie mit der Capture-Integration Bugs mit nur einem Klick sofort aufzeichnen und melden. Bereit, Ihre Testanstrengungen zu einem Kinderspiel zu machen?

Vereinfachen Sie nicht nur die Sanity-Tests; automatisieren und optimieren Sie 200 % Ihrer Testanstrengungen

Testen Sie aqua kostenlos

Sanity-Test-Beispiele

Jetzt, da wir wissen, wie Sanity-Tests funktionieren und warum sie entscheidend sind, lassen Sie uns einige praktische Beispiele betrachten, um zu sehen, wie sie in sowohl manuellen als auch automatisierten Testszenarien angewendet werden.

Manuelle Sanity-Tests

Manuelle Sanity-Tests sind, wenn Sie gezielte Tests selbst durchführen, ohne automatisierte Tools zu verwenden. Dieser Ansatz ist besonders nützlich, wenn es um einmalige Fehlerbehebungen oder Änderungen in weniger komplexen Bereichen des Systems geht.

Nehmen wir an, Sie haben ein Problem mit der Anmeldung behoben. Sie würden zunächst testen, ob sowohl gültige als auch ungültige Anmeldedaten funktionieren, um sicherzustellen, dass die Anmeldefunktion ordnungsgemäß funktioniert. Nachdem Sie sich angemeldet haben, würden Sie überprüfen, ob das Benutzer-Dashboard richtig geladen wird. Als nächstes würden Sie den Checkout-Prozess durchlaufen, um zu verifizieren, dass die Transaktionen weiterhin wie erwartet funktionieren. Auf diese Weise bestätigen Sie, dass die Behebung des Anmeldeproblems keine anderen wichtigen Bereiche der App beeinträchtigt hat. Jeder Schritt stellt sicher, dass die Kernfunktionalität intakt bleibt.

Wie Sie sehen, basiert manuelles Sanity-Testing stark auf kritischem Denken, da Sie unerwartetes Verhalten identifizieren können, während Sie mit dem System interagieren. Es kann zeitaufwändig sein, insbesondere bei größeren Projekten, ist jedoch auch flexibel und ideal für Änderungen, die keine häufige Wiederholung erfordern. Zudem ist manuelles Sanity-Testing der richtige Weg, wenn die Testfälle zu spezifisch für die Automatisierung sind.

Automatisierte Sanity-Tests

Automatisierte Sanitätstests beziehen sich darauf, vordefinierte Testskripte mithilfe von Tools auszuführen. Dies ist besonders hilfreich, wenn Ihre Anwendung häufig kleinere Updates erhält. Automatisierungstools ermöglichen es Ihnen, Sanitätstests schnell und wiederholt nach jedem Update durchzuführen.

Angenommen, ein Bugfix im Anmeldeprozess betrifft andere Teile Ihrer App, wie den Checkout und die Kontoeinstellungen. Anstatt jeden Bereich manuell zu testen, ermöglicht Ihnen das automatisierte Sanitätstestverfahren, all diese Überprüfungen mit einem einzigen Skript durchzuführen. Das Skript würde:

  • Beginnen Sie mit der Überprüfung des Logins.
  • Fahren Sie fort, um zu bestätigen, dass der Benutzer erfolgreich zum Checkout gelangen kann.
  • Stellen Sie sicher, dass die Kontoeinstellungen korrekt funktionieren.

Dies stellt sicher, dass alle betroffenen Bereiche überprüft werden, ohne dass für jedes Feature manuelle Tests erforderlich sind. Dadurch sparen Sie Zeit und gewährleisten, dass nichts Kritisches kaputt geht.

Der Hauptvorteil des automatisierten Sanity-Testings ist die Geschwindigkeit und Konsistenz. Sie können mehrere Funktionalitäten in Minuten anstatt in Stunden testen. Es erfordert jedoch eine anfängliche Einrichtung und Wartung der Skripte, weshalb es vorteilhafter für wiederkehrende oder großangelegte Projekte ist.

Vorteile des Sanity-Testings

Es gibt mehrere Vorteile, die Sanity-Tests in Ihren Testbemühungen bieten, darunter:

  • Zeitersparnis: Sanity-Tests reduzieren den Testumfang, indem sie sich nur auf die betroffenen Bereiche nach kleinen Änderungen konzentrieren.
  • Vermeidung von Überlastung durch Regressionstests: Es ist nicht erforderlich, das gesamte System erneut zu testen, sondern nur die relevanten Teile.
  • Schnelles Feedback: Sie können sofort überprüfen, ob Ihre kritischen Funktionen weiterhin intakt sind, ohne auf die Ergebnisse der vollständigen Regressionstests warten zu müssen.
  • Effizient für kleine Teams: Wenn Ihre QA-Ressourcen begrenzt sind, ermöglicht das Sanity-Testing eine schnelle, gezielte Validierung, ohne Ihr Team zu überlasten.
  • Risiko minimieren: Es hilft, neue Fehler zu erkennen, bevor sie in die Produktion gelangen, und verringert die Wahrscheinlichkeit, fehlerhafte Funktionen freizugeben.

Nachteile des Sanity-Testings

Allerdings hat das Sanity Testing auch seine Nachteile, darunter die folgenden:

  • Eingeschränkte Abdeckung: Da es sich nur auf spezifische Bereiche konzentriert, kann das Sanity Testing Probleme in anderen Teilen des Systems übersehen.
  • Erfordert genaue Eingrenzung: Sie müssen genau wissen, welche Teile des Systems von den Änderungen betroffen sind—ansonsten könnten entscheidende Bereiche nicht getestet werden.
  • Kann redundant sein: Bei kleineren Updates kann das manuelle Sanity Testing wie ein unnötiger Schritt erscheinen, wenn das Update zu geringfügig ist.
  • Nicht umfassend: Das Sanity Testing ersetzt kein vollständiges Regression Testing. Es ist eine schnelle Überprüfung, jedoch keine tiefgehende Untersuchung möglicher Fehler.
  • Falsche Sicherheit: Das Bestehen von Sanity Tests garantiert nicht, dass die Anwendung völlig fehlerfrei ist. Es bestätigt lediglich, dass die unmittelbaren Änderungen korrekt funktionieren.

Während das Sanity Testing eine schnelle und effiziente Möglichkeit bietet, die wichtigsten Funktionen nach Aktualisierungen zu validieren, hat es seine Einschränkungen. Diese Einschränkungen machen die Notwendigkeit eines robusteren Ansatzes für Softwaretests deutlich. Sich ausschließlich auf Sanity Testing zu verlassen, kann zu Lücken in der Abdeckung führen, insbesondere bei komplexen Systemen. Hier wird eine umfassende Lösung, wie ein Testmanagementsystem (TMS), unerlässlich, um diese Lücken zu schließen und Ihre Testbemühungen zu steigern.

aqua cloud bietet viel mehr als nur Sanity Testing. Es bietet Ihnen ein zentrales Repository, in dem Sie Ihre manuellen und automatisierten Sanity-Tests nahtlos kombinieren können. Mit KI-gestützter Testfall-, Anforderungs- und Testdatengenerierung können Sie einfach 97 % Ihrer Zeit sparen. Denken Sie an die Abdeckungslücken, die wir oben erwähnt haben? aqua geht auch darauf ein, indem es 100 % Abdeckung in Ihrer Testlandschaft gewährleistet. Mit aqua erhalten Sie zudem den Vorteil einer vollständigen Rückverfolgbarkeit von Anfang bis Ende sowie nahtlose Integrationen mit Tools wie Jira und Azure DevOps, die sicherstellen, dass jeder kritische Pfad vollständig abgedeckt ist. Darüber hinaus machen die Echtzeit-Kollaboration und das Defect Tracking von aqua, einschließlich der 1-Klick-Fehleraufzeichnung mit Capture, es zum ultimativen Werkzeug zur Risikominderung und Verbesserung der Effizienz Ihres Teams. Lassen Sie sich nicht von den Einschränkungen des Sanity Testings zurückhalten—optimieren Sie Ihre gesamten Testbemühungen auf einmal.

Optimieren Sie Ihre Sanity-Testing-Bemühungen mit einem zu 100 % AI-gestützten TMS

Testen Sie aqua kostenlos

Die Quintessenz

Wie Sie in diesem Leitfaden gesehen haben, ist Sanity Testing eine wesentliche, zeitsparende Methode, die Ihnen hilft, die Kernfunktionen nach kleineren Updates schnell zu überprüfen. Obwohl es sich nicht um einen vollständig umfassenden Ansatz handelt, bietet es einen effizienten Prüfpunkt, bevor Sie in detailliertere Tests eintauchen. Wenn es richtig durchgeführt wird, schützt es Ihre App vor leicht vermeidbaren Problemen und hält Ihren Testprozess schlank und effektiv.

Wie bei allen spezifischen Testarten handelt es sich jedoch um einen eingegrenzten Ansatz für einen bestimmten Zweck. Was Sie brauchen, ist eine ultimative Lösung, die Sie nicht nur bei den Sanity Testing-Bemühungen, sondern auf Ihrer gesamten Testreise begleitet – und das ist aqua cloud. Kontaktieren Sie uns einfach und lassen Sie uns beginnen, Ihre Tests zu transformieren.

Auf dieser Seite:
Sehen Sie mehr
Beschleunigen Sie Ihre Releases x2 mit aqua
Gratis starten
step
closed icon