Smoke vs Sanity
Agil Bewährte Methoden Verwaltung
11 min lesen
Oktober 15, 2024

Smoke Tests vs Sanity Tests: der Unterschied mit Beispielen

Im Bereich der Softwaretests stehen zwei Begriffe oft im Vordergrund: Smoke Tests und Sanity Tests. Obwohl diese Konzepte für einen Nichttester ähnlich und sogar austauschbar klingen mögen, repräsentieren sie unterschiedliche Ansätze, die in der QS einzigartige Zwecke erfüllen. Um sich in der komplexen Welt der Softwaretests zurechtzufinden, müssen Sie die grundlegenden Unterschiede zwischen beiden verstehen. In diesem Artikel finden Sie alles, was Sie zu diesem Thema benötigen.

photo
photo
Robert Weingartz
Nurlan Suleymanov

Smoke– und Sanity Tests tragen auf unterschiedliche Weise zur allgemeinen Qualitätssicherung bei. In diesem Artikel gehen wir tiefer in die Materie dieser beiden Testtechniken ein und beleuchten ihre Definitionen, Ziele, Arbeitsabläufe und vor allem ihre praktischen Anwendungen anhand von Beispielen aus der Praxis. Schnallen Sie sich also an und machen Sie sich bereit, die faszinierende Natur von Rauch- und Sanity Tests zu erforschen und die Geheimnisse hinter einer erfolgreichen Softwarevalidierung zu lüften.

Was ist ein Sanity Test?

Bevor wir ihn mit dem Rauchtest vergleichen, sollten wir diese Frage beantworten: Was ist ein Sanity Test? Sanity Tests (Plausibilitätsprüfung) ist eine schnelle, gezielte Untergruppe der Regressionstests. Er beurteilt, ob die Softwareanwendung oder das System stabil genug ist. Das Hauptziel von Plausibilitätstests ist es, sicherzustellen, dass die kritischen Funktionen, Hauptmerkmale und entscheidenden Softwarekomponenten während der Entwicklung oder Änderung nicht beschädigt oder beeinträchtigt werden.

Im Gegensatz zu umfassenden Testmethoden konzentriert sich der Sanity Test auf enge Bereiche oder spezifische Funktionalitäten der Kernfunktionalität des Systems. Der beste Zeitpunkt für die Durchführung ist nach größeren Änderungen oder Ergänzungen an der Software, wie Fehlerbehebungen, Patches oder der Implementierung neuer Funktionen. Das Ziel ist es, schnell festzustellen, ob das System bereit ist, mit ausführlichen Tests fortzufahren.

Stellen Sie sich zum Beispiel eine Webanwendung vor, die es Benutzern ermöglicht, sich anzumelden, einzuloggen und einfache Kontoverwaltungsaufgaben durchzuführen. Nach der Implementierung eines kritischen Sicherheitspatches würde ein Sanity Test die Kernfunktionen der Benutzerregistrierung, der Anmeldung und der Kontoverwaltung sowie deren Funktionalität validieren. Dieser Test würde keine umfangreichen Tests aller Funktionen oder Szenarien beinhalten, sondern sich ausschließlich darauf konzentrieren, sicherzustellen, dass die Funktionalität des Systems nach den letzten Änderungen intakt bleibt.

Egal, ob Sie Smoke-Tests zur Überprüfung grundlegender Funktionen oder Sanity-Tests zur Erkennung spezifischer Probleme durchführen, die Effizienz und Genauigkeit Ihrer Tests stehen immer auf dem Spiel. Um diese Abläufe zu optimieren, benötigen Sie eine leistungsstarke Testmanagement-Lösung, die repetitive Aufgaben automatisiert, vollständige Rückverfolgbarkeit sicherstellt und umfassende Einblicke in Ihre Testergebnisse bietet.

aqua cloud bietet genau das. Mit 100 % Rückverfolgbarkeit und KI-gesteuerten Funktionen ermöglicht aqua Ihnen, sowohl Smoke- als auch Sanity-Tests schneller und effizienter durchzuführen. Die generativen KI-Funktionen helfen Ihnen, Testfälle, Anforderungen und Testdaten mit nur drei Klicks zu erstellen, wodurch Sie bis zu 97% Ihrer Zeit sparen. Darüber hinaus können Sie mit dem zentralen Repository alle manuellen und automatisierten Tests an einem Ort verwalten, was eine reibungslose Zusammenarbeit im Team sicherstellt. Egal, ob Sie Selenium, Jenkins oder andere Automatisierungstools integrieren müssen – aquas nahtlose Integrationen halten Ihre Testpipeline effizient und zuverlässig. Und wenn Sie denken, das war’s, sorgt die native Capture-Integration von aqua für das ultimative Bug-Reporting-Erlebnis (mit nur einem Klick!) und den attraktivsten visuellen Darstellungen.

Optimieren Sie Ihre Smoke- und Sanity-Tests mit KI-gesteuerter Effizienz

Testen Sie aqua kostenlos

Smoke Test - Sind die wichtigsten funktionellen Elemente aktiv.
Sanity Test - Smoke Test + Schnelle Überprüfung, dass Ihr neuer Code nicht fehlerhaft ist.

EdisonCarterNet23 Posted in einem Software testing Reddit-Thread Vor drei Jahren.

Was ist ein Smoke Test?

Smoke Tests (oder Build-Verification-Tests) sind erste Tests, die sicherstellen sollen, dass die wesentlichen Funktionen einer Softwareanwendung oder eines Systems korrekt und stabil genug für weitere Tests sind. Ein typischer Zeitpunkt für die Durchführung von Smoke Tests ist früh im Lebenszyklus der Softwareentwicklung oder nach Erhalt eines neuen Builds oder einer Freigabe. Rauchtests mögen ähnlich klingen wie Sanity Tests, aber es gibt feine Unterschiede, über die wir in den folgenden Abschnitten sprechen werden.

Das Hauptziel von Smoke Tests besteht darin, kritische Probleme zu identifizieren, die das ordnungsgemäße Funktionieren der Anwendung verhindern könnten. Der Name „Rauchtest“ leitet sich davon ab, dass geprüft wird, ob das System „raucht“ oder auf einer grundlegenden Ebene funktioniert, ohne Feuer zu fangen.

Beim Rauchtest müssen Sie eine begrenzte und vordefinierte Anzahl von Testfällen ausführen, um die wichtigsten Softwarefunktionen abzudecken. Das Ziel ist es, eine schnelle Bewertung der Stabilität des ‚Builds‘ vorzunehmen und wichtige Probleme zu identifizieren, die Sie adressieren müssen, bevor Sie mit umfassenderen Tests fortfahren.

Nehmen wir etwa eine Softwareanwendung für eine E-Commerce-Website. Beim Rauchtest kann der Tester überprüfen, wenn die grundlegenden Vorgänge, wie das Starten der Anwendung, das Navigieren durch die Seiten, das Hinzufügen von Artikeln zum Warenkorb und das Fortfahren mit der Kasse, korrekt funktionieren. Das Hauptaugenmerk liegt darauf, sicherzustellen, dass die Kernfunktionalität intakt ist und es keine eklatanten Probleme gibt, die die Anwendung unbrauchbar machen würden. Es ist entscheidend zu wissen, dass Rauchtests nicht darauf abzielen, eine umfassende Abdeckung zu erreichen oder alle möglichen Fehler zu identifizieren. Es ist ein erster Checkpoint, um die Stabilität des Systems insgesamt zu überprüfen und festzustellen, ob es sich lohnt, Zeit für strengere Tests aufzuwenden. Ein Build, der zu früh scheitert, würde wahrscheinlich Änderungen erfordern, die andere Dinge beeinträchtigen oder zerstören. Es ist daher besser, QS-Aufwand an anderer Stelle zu betreiben, bevor offensichtliche Showstopper behoben werden.

Was sind die Unterschiede zwischen Rauch- und Plausibilitätstests?

Es ist offensichtlich, dass Rauch- und Sanity Tests einige Ähnlichkeiten aufweisen, weshalb sie oft verwechselt werden. Diese Ähnlichkeiten umfassen den Testfokus (beide konzentrieren sich auf bestimmte Bereiche der Software), die Bereitstellung von schnellem Rückmeldungen, die frühzeitige Erkennung von Fehlern oder die Abdeckung der kritischsten Aspekte der Software.

Sowohl Rauch- als auch Sanity Tests sind grundlegende Praktiken im Bereich der QS. Obwohl Rauch- und Sanity Tests unterschiedlichen Zwecken dienen, werden sie gemeinhin als wesentliche Techniken beim Testen von Software angesehen. Im Gegensatz dazu sind Benutzerakzeptanztests (User Acceptance Testing, UAT) eine weniger häufige und spezifischere Art von Tests, die sich auf die Bewertung von Software aus der Perspektive des Endbenutzers unter Verwendung von Akzeptanztest-Tools konzentrieren.

„Der beste Tester ist derjenige, der sich in den Kunden hineinversetzen kann.“

Greta James, Beratender Systemingenieur

In meinem Verständnis würden Sanity-Tests bedeuten: "Lassen Sie uns sicherstellen, dass wir nichts Schreckliches kaputt gemacht haben, nur für den Fall", während Smoke-Tests bedeuten würden: "Bestätigen wir, dass die Kernfunktionalitäten noch wie erwartet funktionieren". Also würde ich sagen, dass diese im Grunde genommen dasselbe sind, wobei der Zweck möglicherweise unterschiedlich ist und Smoke-Tests strukturierter sind.

di6 Posted in einem Software testing Reddit-Thread Vor drei Jahren.

Was ist mit den Unterschieden? Wie stellen wir den Vergleich an – Rauch- oder Plausibilitätstest? Hier sind die wichtigsten Unterschiede, die Sie über die beiden kennen sollten:

  1. Umfang: Rauchtests konzentrieren sich auf die grundlegende Stabilität und decken wesentliche Funktionalitäten ab, während Plausibilitätstests sich auf bestimmte Bereiche oder Funktionalitäten nach Änderungen.
  2. Zweck: Rauchtests sind eine schnelle Bewertung der Build-Stabilität für weitere Tests, während Plausibilitätstests sicherstellen, dass kritische Funktionen intakt sind und sich das System in einem vernünftigen Zustand befindet.
  3. Tiefe der Tests: Rauchtests sind oberflächlich und decken die Kernfunktionalitäten ab, während Plausibilitätstests mit gezielten Tests bestimmter Bereiche oder Funktionalitäten tiefer gehen.
  4. Ausführungszeitpunkt: Rauchtests werden zu einem frühen Zeitpunkt im Lebenszyklus der Softwareentwicklung oder nach einem neuen Build durchgeführt. Plausibilitätstests hingegen werden nach größeren Änderungen oder Ergänzungen der Software durchgeführt.
  5. Automatisierung: Obwohl beide automatisiert werden können, sind Rauchtests meist skriptgesteuert, während Plausibilitätstests nicht skriptgesteuert sind, da sie darauf abzielen, besonders komplizierte Codebasen zu überprüfen.

Rauchtest vs. Sanity Tests Vergleich ist hier noch nicht zu Ende. Es gibt zwar einige kleine Unterschiede zwischen ihnen, wie den Umfang der Dokumentation, die Testumgebungen oder die Testausführungszeit, aber die oben genannten Unterschiede sind wichtiger, wenn Sie diese Testmethoden implementieren.

Schlussfolgerung

Bei Softwaretests sind die Unterschiede zwischen Rauchtests und Sanity Tests entscheidend für eine effektive Qualitätssicherung. Mit Rauchtests konzentrieren Sie sich auf die grundlegende Stabilität, während Sie bei Sanity Tests tiefer in bestimmte Funktionen eintauchen. Beide spielen eine wesentliche Rolle bei der Identifizierung kritischer Probleme und der Validierung des Systems. Wenn Sie diese Testmethoden angemessen in den Lebenszyklus Ihrer Softwareentwicklung einbeziehen, können Sie ein hochwertiges digitales Produkt liefern, das den Anforderungen der Benutzer entspricht.

Die Wahl des richtigen Ansatzes für Smoke- und Sanity-Tests ist entscheidend, um die Qualität und Zuverlässigkeit Ihrer Softwareanwendungen aufrechtzuerhalten. Mit diesen Testmethoden können Sie robuste Software liefern, die den Erwartungen der Nutzer entspricht.

Smoke prüft lediglich, ob die grundlegendste Funktion des Produkts funktioniert. Zum Beispiel bei Netflix. Können Sie die App öffnen und ein Video abspielen? Während Sanity überprüft, ob die Kernfunktionen der App einwandfrei funktionieren. Zum Beispiel Videowiedergabe von verschiedenen Orten, Suchergebnisse, Wiedergabesteuerungen und einige der am häufigsten verwendeten Benutzererfahrungsflüsse.

pm-me-ur-uneven Posted in einem Software testing Reddit-Thread Vor drei Jahren.

Hier kommt aqua cloud ins Spiel. Mit über 20 Jahren Erfahrung und einem Engagement für deutsche Qualität ist aqua das erste Testmanagementsystem (TMS), das KI in die Welt der Qualitätssicherung einführt. Es bietet 100 % Sichtbarkeit und Nachvollziehbarkeit während Ihres gesamten Testprozesses, einschließlich Smoke- und Sanity-Tests. Dank der generativen KI-Funktionen können Sie Testfälle, Anforderungen und Testdaten mit nur drei Klicks erstellen, während der KI-Copilot wertvolle Einblicke bietet, um Ihren Workflow zu optimieren. Zudem genießen Sie eine nahtlose Integration mit gängigen Automatisierungs- und Projektmanagement-Tools wie Jira, Selenium, Jenkins und Ranorex. Bereit, das Testen zu erleichtern?

Beginnen Sie jetzt, sowohl Smoke- als auch Sanity-Tests mit nur wenigen Klicks zu optimieren

Testen Sie aqua kostenlos
Auf dieser Seite:
Sehen Sie mehr
Beschleunigen Sie Ihre Releases x2 mit aqua
Gratis starten
step
FAQ
Was ist ein Plausibilitätstest?

Plausibilitätstests sind grundlegende Softwaretests, mit denen Sie schnell beurteilen können, ob das System nach kleineren Änderungen oder Korrekturen ordnungsgemäß funktioniert, ohne dass Sie sich in umfangreiche Tests vertiefen müssen.

Was ist ein Rauchtest in der QS?

Ein Rauchtest in der QS ist ein vorläufiger Test, der sich darauf konzentriert, die kritischsten Funktionalitäten eines Softwaresystems schnell zu überprüfen. Er wird oft durchgeführt, bevor umfangreichere Tests durchgeführt werden.

Was sind die Unterschiede zwischen Rauchtests und Plausibilitätstests?

Zu den Hauptunterschieden zwischen Rauchtests und Plausibilitätstests gehören Tiefe, Zeitplan, Umfang, Ausführung und Zweck.

closed icon