Smoke Test
Inhaltsverzeichnis
Was ist ein Smoke Test?
Definition
Den Begriff Smoke Test kann man mit Rauchtest übersetzen. Tatsächlich kommt diese Bezeichnung aus der Technik und dem Bereich des Handwerks, wo Installationen, Wasser- und Gasrohre oder auch ganze Gebäude mit Hilfe von Rauch auf ihre Dichtigkeit getestet werden.
Smoke Tests haben im übertragenen Sinne nun auch ihren Weg in die Software- und Hardwaretechnik gefunden. Der Begriff steht in der IT für einen Testlauf, der zum Beispiel nach einer Wartung, einer Reparatur oder auch nach dem Launch eines Programms oder Systems durchgeführt wird, um festzustellen, ob alles korrekt läuft.
Hintergrund und Allgemeines
Durch den Smoke Test an einer Software soll festgestellt werden, ob Funktionen und Anwendungen, die installiert oder integriert wurden, fehlerfrei funktionieren. Es handelt sich also um einen Funktionalitätstest. Er wird dann durchgeführt, wenn alle Einrichtungs- und Programmierarbeiten abgeschlossen sind und der Launch oder die Markteinführung unmittelbar bevor steht.
Der Name Smoke Test mag etwas verwirrend klingen, weil natürlich nirgends Rauch eingesetzt wird und im Idealfall auch nirgends Rauch entsteht. Aber wer den Gedankengang nachvollziehen und die gedankliche Brücke zum Baugewerbe schlagen kann, der versteht, woher der Begriff kommt. Wie auch am Bau hofft man beim Smoke Test in der IT, dass sich kein Rauch entwickelt, dass alles reibungslos läuft und dass im schlimmsten Falle Fehler gefunden werden, die behebbar sind.
Wie funktioniert ein Smoke Test?
Bei einer Wasserleitung kann jeder den Smoke Test durchführen. Gibt es ein Leck, wird dieses in jedem Fall erkannt. Bei einer Software ist die Lage etwas anders. Am besten wird der Smoke Test in diesem Fall nicht von demjenigen Entwickler durchgeführt, der das System und die Software wie seine Westentasche kennt, sondern von einem anderen Fachmann, der nicht mit den Augen des Entwicklers sondern eher mit den Augen eines Nutzers an den Test heran geht.
Oft unterschieden sich die beiden Ansätze –Entwicklerverhalten und Nutzerverhalten – grundlegend voneinander. Als Tester eignen sich also am besten externe Fachleute, die das neue System oder die neue Software einem echten Stresstest unterziehen. Der jeweilige Entwickler sollte natürlich zugegen sein, um schnell eingreifen zu können, wenn ein Fehler gefunden wird. Gemeinsam wird so Schritt für Schritt jede Funktion im getesteten Programm oder der Hardware geprüft und gegebenenfalls verbessert.
Ziele des Smoke Tests
Ziel des Smoke Tests ist es, einen reibungsloser Launch zu ermöglichen, Fehler zu erkennen und zu beheben. Bei jedem Smoke Test wird unter anderem auch ein unkontrollierter Absturz der Software ausgelöst, um zu sehen, wie das Programm oder System damit umgeht und ob es einwandfrei neu gestartet werden kann.
Außerdem werden die häufigsten Nutzerfehler simuliert, ein Stromausfall herbeigeführt und der ROI getestet. Selbstverständlich kann der Entwickler schon vorab Tests in allen Bereichen durchführen, um den Smoke Test so kurz wie möglich zu halten und den Aufwand (und somit die Kosten) für die Tester zu verringern.
Der Smoke Test hat Grenzen
Smoke Tests prüfen in der Regel nur die wichtigsten Eigenschaften und Funktionen einer Soft- oder Hardware. Ein positives Testergebnis bedeutet also nicht, dass überhaupt keine Fehler mehr vorhanden sind. Manchmal kann das Ergebnis nicht einmal ausreichend sein, um eine Markteinführung zu garantieren. Smoke Tests haben keine Grenzwerte und sind nicht genormt.
Die Tester müssen den Umfang ihres Tests im Grunde selbst bestimmen und arbeiten dabei natürlich mit dem Entwickler zusammen, der Anhaltspunkte liefert und ihnen mitteilt, was die Hauptfunktionen sind und was zu prüfen ist. Am Ende können immer noch zahlreiche kleine Bugs und Fehler überall in der Software zu finden sein.
Ein mangelhaftes Ergebnis gibt jedoch Aufschluss darüber, dass noch erheblicher Nachbesserungsbedarf besteht und dass weitere Tests durchgeführt werden müssen, bevor ein Produkt marktreif ist. Im Falle eines negativen Smoke Tests steht zunächst eine umfassende Analyse aufseiten der Entwickler an.
Meist sind in diesem Fall schwere Fehler in der Basis vorhanden, die beseitigt werden müssen, bevor an einen neuen Smoke Test gedacht werden kann. Ein negatives Smoke Testergebnis kann für die Entwickler sehr aufschlussreich sein, denn es liefert eine Art Arbeitsanleitung für die nächsten Schritte.
Weitergehende Tests
Smoke Tests sind nur eine Art des Prüfens. Es gibt zahlreiche andere Tests, die im Prozess der Entwicklung einer Hard- oder Software durchgeführt werden. Sie tragen einen entscheidenden Teil zur Optimierung bei. Neben den Smoke Tests gibt es zahlreiche andere Testverfahren, die ebenfalls angewendet werden.
Wer gründlich vorgehen möchte, entscheidet sich für mehrere unterschiedliche Testreihen. Beim Capability Test wird überprüft ob eine Software alle die Funktionen ausführen kann, die von ihr erwartet werden.
Beim Function Test wird festgestellt, ob die Software den funktionalen Anforderungen entspricht, die an sie gerichtet werden. Der Complex Test geht in dieselbe Richtung wie der Function Test, prüft aber darauf aufbauend, ob diese Anforderungen auch in zuverlässiger Weise erfüllt werden.
Zudem gibt es noch den Load and Capability Test, aus dem hervorgehen soll, ob eine Software einsatzbereit ist und ob sie die Kapazitätsvorgaben für einen Einsatz in der Praxis erfüllt.
Der Smoke Test ist also nur einer von vielen Tests in einer Reihe von Prüfungen.
Je nach Aufgabenstellung und je nachdem, wozu die zu prüfende Software genutzt werden soll, sind mal mehr, mal weniger Tests nötig und sinnvoll. Die Aussagekraft eines absolvierten Smoke Tests ist je nach Produkt und Ziel nicht unbedingt ausschlaggebend.
Weitere informative Glossarartikel finden Sie hier!
Sie haben noch Fragen?