Was ist ein Rauchtest?
โก Intelligente Zusammenfassung
Smoke-Tests entscheiden darรผber, ob ein neuer Build stabil genug fรผr Tests ist. Diese Seite erklรคrt, wann sie durchgefรผhrt werden, wer sie durchfรผhrt, wie der Ablauf ist und wie automatisierte Testreihen moderne Bereitstellungspipelines steuern.

Was ist ein Rauchtest?
Rauchprรผfung ist ein Softwaretestprozess, der bestimmt, ob der bereitgestellte Software-Build stabil ist oder nicht. Smoke-Tests sind eine Bestรคtigung fรผr das QA-Team, mit weiteren Softwaretests fortzufahren. Sie bestehen aus einer minimalen Anzahl von Tests, die fรผr jeden Build ausgefรผhrt werden, um die Softwarefunktionen zu testen. Smoke-Tests werden auch als โBuild Verification Testingโ oder โConfidence Testingโ bezeichnet.
Smoke-Testing bedeutet vereinfacht gesagt, dass รผberprรผft wird, ob die wichtigsten Funktionen funktionieren und ob der zu testende Build keine schwerwiegenden Fehler aufweist. Es handelt sich um einen kurzen und schnellen Regressionstest der Hauptfunktionen. Dadurch lรคsst sich feststellen, ob der Build fehlerhaft ist und weitere Tests somit Zeit- und Ressourcenverschwendung wรคren.
Vergleichen Testen von Rauch und geistiger Gesundheit
Warum fรผhren wir Rauchtests durch?
Smoke-Tests spielen eine wichtige Rolle in der Softwareentwicklung, da sie die Korrektheit des Systems in frรผhen Phasen sicherstellen. Dadurch kรถnnen wir Testaufwand sparen. Erst nach Abschluss der Smoke-Tests beginnen wir mit den Funktionstests.
- Alle potenziellen Stolpersteine โโdes Projekts werden durch Rauchtests identifiziert.
- Mithilfe von Rauchtests werden die meisten Defekte in den Anfangsstadien erkannt. Software-Entwicklung.
- Mit der Rauchprรผfung vereinfachen wir die Erkennung und Behebung schwerwiegender Mรคngel.
- Durch Rauchtests kann das QA-Team Fehler in der Anwendungsfunktionalitรคt finden, die mรถglicherweise durch den neuen Code zutage getreten sind.
- Bei der Rauchprรผfung werden die schwerwiegendsten Mรคngel festgestellt.
Beispiel 1: Protokollierungsfenster: Durch Klicken auf die Schaltflรคche โSendenโ kann mit gรผltigem Benutzernamen und Passwort zum nรคchsten Fenster gewechselt werden.
Beispiel 2: Der Benutzer kann sich nicht von der Webseite abmelden.
Wann fรผhren wir den Rauchtest durch?
Diese Vorteile kommen nur zum Tragen, wenn die Prรผfung zum richtigen Zeitpunkt ausgelรถst wird. Smoke-Tests werden immer dann durchgefรผhrt, wenn neue Softwarefunktionen entwickelt und in einen bestehenden Build integriert werden, der in der QA-/Staging-Umgebung bereitgestellt wird. Sie stellen sicher, dass alle kritischen Funktionen korrekt funktionieren. Das folgende Diagramm zeigt, wie ein Build die QA-Umgebung erreicht, bevor die Smoke-Tests beginnen.
Bei dieser Testmethode stellt das Entwicklungsteam den Build in der Qualitรคtssicherung bereit. Tester wรคhlen eine Teilmenge der Testfรคlle aus und fรผhren sie gegen die kritischen Funktionen des Builds aus. Diese Testfรคlle dienen dazu, Fehler im Build aufzudecken. Wenn diese Tests erfolgreich sind, fรคhrt das Qualitรคtssicherungsteam mit der weiteren Vorgehensweise fort. Funktionsprรผfung.
Jeder Fehler weist darauf hin, dass das System an das Entwicklungsteam zurรผckgegeben werden muss. Bei jeder รnderung am Aufbau fรผhren wir Rauchtests durch, um die Stabilitรคt sicherzustellen.
Beispiel: -Im Anmeldefenster wird eine neue Registrierungsschaltflรคche hinzugefรผgt und der Build mit dem neuen Code bereitgestellt. Wir fรผhren einen Smoke-Test an einem neuen Build durch.
Die Smoke-Tests qualifizieren den Build fรผr weitere formale Tests und dienen dem Nachweis der Systemstabilitรคt und der Einhaltung der Anforderungen. Hauptziel ist die frรผhzeitige Erkennung schwerwiegender Probleme. Ein Build umfasst alle Datendateien, Bibliotheken, wiederverwendbaren Module und entwickelten Komponenten, die zur Implementierung einer oder mehrerer Produktfunktionen erforderlich sind.
Was passiert, wenn wir keinen Rauchtest durchfรผhren?
Wenn wir in frรผhen Phasen keine Rauchtests durchfรผhren, kรถnnen in spรคteren Phasen Mรคngel auftreten, die kostspielig sein kรถnnen. Defekt Wird ein Problem erst in spรคteren Phasen entdeckt, kann dies ein Showstopper sein, der die Verรถffentlichung der Ergebnisse beeintrรคchtigt.
Wer wird den Rauchtest durchfรผhren?
Nach der Freigabe des Builds fรผr die QA-Umgebung werden die Rauchtests von QA-Ingenieuren/QA-Leitern durchgefรผhrt. Bei jedem neuen Build bestimmt das QA-Team die Hauptfunktionalitรคt der Anwendung, um Rauchtests durchzufรผhren. Das QA-Team prรผft, ob die Anwendung, die getestet wird, Probleme bereitet.
Wie fรผhrt man einen Rauchtest durch?
Rauchtests werden normalerweise manuell durchgefรผhrt, es besteht jedoch die Mรถglichkeit, dies durch Automatisierung zu erreichen. Es kann von Organisation zu Organisation unterschiedlich sein.
Manueller Rauchtest
Smoke-Tests werden durchgefรผhrt, um sicherzustellen, dass die Navigation auf kritischen Pfaden wie erwartet funktioniert und die Funktionalitรคt nicht beeintrรคchtigt wird. Es werden Funktionstestfรคlle mit hoher Prioritรคt ausgewรคhlt und getestet, um kritische Fehler im System zu finden. Bei erfolgreichem Test wird der Funktionstest fortgesetzt. Schlรคgt der Test fehl, wird der Build abgelehnt und zur Korrektur an das Entwicklungsteam zurรผckgesendet.
Die Qualitรคtssicherung (QS) startet erneut einen Funktionstest mit einer neuen Build-Version. Dieser Funktionstest wird mit dem neuen Build durchgefรผhrt und anschlieรend in die bestehenden Builds integriert, um die Systemkorrektheit zu gewรคhrleisten. Vor dem Funktionstest sollte das QS-Team die korrekten Build-Versionen รผberprรผfen.
Automatisierte Rauchtests
Automatisierungstests wird verwendet fรผr RegressionstestsAlternativ kรถnnen wir auch automatisierte Testfรคlle fรผr den Smoke-Test verwenden. Mithilfe dieser automatisierten Tests kรถnnen Entwickler den Build sofort รผberprรผfen, sobald ein neuer Build zur Bereitstellung bereitsteht.
Anstatt bei jeder Bereitstellung des neuen Software-Builds die Tests manuell zu wiederholen, werden aufgezeichnete Smoke-Testfรคlle fรผr den Build ausgefรผhrt. Dabei wird รผberprรผft, ob die Hauptfunktionen noch ordnungsgemรคร funktionieren. Wenn der Test fehlschlรคgt, kรถnnen Sie den Build korrigieren und sofort erneut bereitstellen. Auf diese Weise kรถnnen wir Zeit sparen und einen qualitativ hochwertigen Build fรผr die QA-Umgebung sicherstellen.
Mit einem automatisierten Tool zeichnet der Testingenieur alle manuellen Schritte auf, die im Software-Build ausgefรผhrt werden.
Rauchtestzyklus
Das folgende Flussdiagramm veranschaulicht den Ablauf von Smoke-Tests. Sobald der Build in der Qualitรคtssicherung bereitgestellt ist und die Smoke-Tests erfolgreich bestanden wurden, fahren wir mit den Funktionstests fort. Schlรคgt ein Smoke-Test fehl, beenden wir die Testphase, bis das Problem im Build behoben ist.
Best Practices fรผr die Entwicklung von Smoke-Testfรคllen
Den Zyklus zu kennen ist eine Sache; keeping Eine andere Sache ist die Suite, die sie vertrauenswรผrdig macht. Eine Rauchreinigungsanlage verdient ihren Platz nur dann, wenn sie kompakt, schnell und wiederholbar ist.
- Zuerst die kritischen Pfade ermitteln: Listen Sie die Arbeitsablรคufe auf, die das Produkt kommerziell nutzbar machen, wie z. B. Anmeldung, Suche, Dateneingabe, Zahlung und Abmeldung. Wenn einer dieser Arbeitsablรคufe nicht funktioniert, ist die Version fรผr einen Tester wertlos.
- Die Suite sollte flach, aber breit sein: Berรผhren Sie jedes Hauptmodul einmal, anstatt ein einzelnes Modul eingehend zu untersuchen. Grenzwerte, negative Daten und Fehlermeldungen gehรถren in den Funktionstest, nicht hierher.
- Die Ausfรผhrungszeit begrenzen: Die meisten Teams halten den Lauf zwischen zehn und fรผnfzehn Minuten und begrenzen die Suite auf etwa zwanzig bis dreiรig Minuten. TestfรคlleEin Lauf, der eine Stunde dauert, hรถrt auf, ein Tor zu sein, und wird zum Flaschenhals.
- Fรผhren Sie dieselben Fรคlle bei jedem Build aus: Konsistenz ermรถglicht es, einen Fehler dem Code und nicht einer geรคnderten Testauswahl zuzuschreiben.
- Instabile und abhรคngigkeitsintensive Fรคlle entfernen: Ein Testfall, der ohne Codeรคnderung sowohl erfolgreich als auch fehlschlรคgt, zerstรถrt das Vertrauen in die Testumgebung. Instabile Drittanbieterdienste sollten simuliert oder als Stubs verwendet werden, wennโฆ Testautomatisierungs-Framework erlaubt.
- Ein eindeutiges Urteil fรคllen: Jeder Fall benรถtigt ein eindeutiges erwartetes Ergebnis, damit der Build ohne Diskussion angenommen oder abgelehnt werden kann.
- Versionieren Sie die Suite mit dem Build: Speichern Sie die Smoke-Cases im selben Repository wie den Anwendungscode, damit das Gate immer mit der zu testenden Version รผbereinstimmt.
Revรberprรผfen Sie die Suite bei jeder neuen Version: Entfernen Sie Anwendungsfรคlle fรผr Funktionen, die nicht mehr relevant sind, und fรผgen Sie neue, kritische Arbeitsablรคufe hinzu.
Smoke-Testing in CI/CD-Pipelines
Eine so konzipierte Suite ist kostengรผnstig genug, um bei jedem Commit ausgefรผhrt zu werden, was moderne Bereitstellungsprozesse erfordern. kontinuierliche integration Server wie z.B. Jenkins Der Code wird kompiliert, in einer Staging-Umgebung bereitgestellt und anschlieรend als erster automatisierter Schritt die Smoke-Suite gestartet. Bei einem erfolgreichen Durchlauf gelangt das Artefakt in die Funktions- und Regressionstests, wรคhrend ein fehlgeschlagener Durchlauf die Pipeline beendet und den verantwortlichen Entwickler innerhalb weniger Minuten benachrichtigt.
Zwei Testlรคufe sind รผblich. Ein Testlauf vor dem Merge sichert den Hauptzweig ab, indem er jeden Pull Request validiert, und ein Testlauf nach der Bereitstellung bestรคtigt, dass die bereitgestellte Umgebung erreichbar und korrekt konfiguriert ist. Teams, die Continuous Deployment praktizieren, fรผgen oft direkt nach der Verรถffentlichung einen dritten, reduzierten Testlauf gegen die Produktionsumgebung hinzu.
Da die Pipeline die Testsuite mehrmals tรคglich ausfรผhrt, mรผssen die Testfรคlle nicht interaktiv, selbstreinigend und unabhรคngig sein. Jeder Testfall, der auf eine menschliche Entscheidung wartet oder Testdaten hinterlรคsst, fรผhrt zu einem Stillstand der Pipeline.
Vorteile des Smoke-Tests
Hier sind einige Vorteile fรผr Rauchtests aufgefรผhrt.
- Einfach durchzufรผhren und schnell.
- Kritische Fehler und Mรคngel lassen sich in frรผhen Phasen leicht erkennen und beheben.
- Verbessert die Qualitรคt des Systems
- Reduziert das Risiko
- Der Fortschritt lรคsst sich leichter beurteilen.
- Spart Testaufwand und Zeit
- Minimiert Integrationsrisiken
โ Zu beachtende Einschrรคnkung: Ein erfolgreicher Smoke-Test zeigt lediglich an, dass der Build testbar ist. Er prรผft wichtige Funktionen nur oberflรคchlich, sodass kleinere Fehler, Grenzfรคlle und selten genutzte Features bis zum eigentlichen Funktions- und Regressionstest verborgen bleiben. Ein positives Ergebnis eines Smoke-Tests sollte niemals als Zeichen dafรผr gewertet werden, dass der Build fehlerfrei ist.
Rauchtest vs. Plausibilitรคtstest vs. Regressionstest
Alle drei werden nach einer Codeรคnderung ausgefรผhrt, weshalb sie oft verwechselt werden. Sie unterscheiden sich in Umfang, Tiefe und der Fragestellung, die sie jeweils beantworten.
Tests, die in einer Entwicklungsumgebung am Code durchgefรผhrt werden, um die Korrektheit der Anwendung vor der Freigabe an die Qualitรคtssicherung sicherzustellen, werden als Funktionstests bezeichnet. Dabei wird รผberprรผft, ob die Anwendung in der Entwicklung ihre grundlegenden funktionalen Anforderungen erfรผllt.
Sanity-Tests bestimmen den Abschluss der Entwicklungsphase und treffen eine Entscheidung, ob das Softwareprodukt fรผr die weitere Testphase bestanden wird oder nicht.
| BASIS | RAUCHTEST | SICHERHEITSTEST | Regressionstests |
|---|---|---|---|
| Geltungsbereich | Breit und flach | Eng und tief | Breit und tief |
| Frage beantwortet | Ist diese Version stabil genug fรผr Tests? | Funktioniert diese spezielle Lรถsung? | Ist irgendetwas kaputtgegangen, das frรผher funktioniert hat? |
| Reihenfolge | Erstens, bei jedem Build | Nach bestandener Rauchprรผfung | Nach dem Plausibilitรคtstest |
| Typische Dauer | 10 bis 15 Minuten | 30 bis 60 Minuten | Hours bis heute |
| Automatisierungspassung | Sehr hohe | Mรครig, oft manuell | Sehr hohe |
In der Praxis werden sie nacheinander durchgefรผhrt: Smoke-Tests zur Abnahme des Builds, Sanity-Tests zur รberprรผfung der gelieferten รnderung und Regressionstests, wenn der Zeitplan es zulรคsst.
Beispiel fรผr Rauchtestfรคlle
Die folgende Tabelle dokumentiert eine kurze Rauchsimulation, wobei jede Zeile einem kritischen Pfad entspricht.
| T.ID | TESTSZENARIEN | BESCHREIBUNG | TESTSCHRITT | ERWARTETES ERGEBNIS | TATSรCHLICHE ERGEBNIS | STATUS |
|---|---|---|---|---|---|---|
| 1 | Gรผltige Anmeldedaten | Testen Sie die Anmeldefunktion der Webanwendung, um sicherzustellen, dass sich ein registrierter Benutzer mit Benutzername und Passwort anmelden darf | 1. Starten Sie die Anwendung 2. Navigieren Sie zur Anmeldeseite 3.Geben Sie einen gรผltigen Benutzernamen ein 4.Geben Sie ein gรผltiges Passwort ein 5.Klicken Sie auf die Schaltflรคche โAnmeldenโ. |
Die Anmeldung sollte erfolgreich sein | wie erwartet | Passieren |
| 2 | Artikelfunktionalitรคt hinzufรผgen | Artikel kรถnnen zum Warenkorb hinzugefรผgt werden | 1.Kategorienliste auswรคhlen 2.Fรผgen Sie den Artikel zum Warenkorb hinzu |
Der Artikel sollte zum Warenkorb hinzugefรผgt werden | Der Artikel wird nicht zum Warenkorb hinzugefรผgt | Scheitern |
| 3 | Abmeldefunktion | รberprรผfen Sie die Abmeldefunktion | 1. Wรคhlen Sie die Schaltflรคche โAbmeldenโ. | Der Benutzer sollte sich abmelden kรถnnen. | Der Benutzer kann sich nicht abmelden | Scheitern |


