Was ist Smoke Testing?
Smoke Testing ist eine vorläufige Testmethode für Software, die ihre grundlegende Funktionalität überprüft. Durch diese Prüfung wird sichergestellt, dass die wichtigsten Funktionen der Software korrekt arbeiten, bevor detailliertere Tests durchgeführt werden.
Smoke Testing lässt sich damit vergleichen, vor einer längeren Fahrt das Anspringen Ihres Autos zu überprüfen. Wenn sich der Motor problemlos starten lässt, können Sie mit einer detaillierteren Überprüfung des Fahrzeugs fortfahren. Dabei könnten Sie beispielsweise das Getriebe, die Stoßdämpfer oder die Funktion der Klimaanlage prüfen. Bei einer Software verhält es sich ähnlich: Nachdem sie den Smoke-Test bestanden hat, ist sie bereit für umfassendere Tests.
Der Begriff „Smoke Testing“ stammt aus der Elektronik und bezeichnet eine einfache Methode zur Überprüfung eines Geräts auf schwerwiegende Probleme. Dabei wird das Gerät eingeschaltet und beobachtet, ob Rauch aufsteigt.
In der Software-Entwicklung werden beim Smoke Testing die wichtigsten Komponenten einer Software auf einfache Weise überprüft, um schwerwiegende Probleme zu identifizieren. Wenn es sich um ein Skript handelt, führen Sie es aus. Wenn es um eine Funktion geht, rufen Sie sie mit grundlegenden Eingaben auf. Wenn Sie an einer App arbeiten, starten Sie sie. Die Zielvorgabe ist einfach: Wenn keine Fehler auftreten, hat die Software den Smoke-Test bestanden.
Darum ist Smoke Testing wichtig
Im Entwicklungszyklus von Software dient Smoke Testing als erste Qualitätsprüfung, um schwerwiegende Probleme frühzeitig zu identifizieren. Dadurch gewährleisten sie, dass keine wichtigen Funktionen beeinträchtigt sind, sondern diese vor der Durchführung umfangreicherer Tests fehlerfrei ablaufen. Smoke-Tests sparen Zeit, indem sie unnötige Überprüfungen fehlerhafter Komponenten vermeiden.
Vor- und Nachteile von Smoke Testing
Smoke-Tests bieten entscheidende Vorteile:
- Sie sind schnell und einfach einzurichten und gehören daher oft zu den zuerst entwickelten Tests.
- Sie sparen Zeit und Aufwand, da sie unnötige Tests fehlerhafter Komponenten vermeiden.
Allerdings ist der Umfang von Smoke-Tests begrenzt, da sie sich nur auf kritische Funktionen konzentrieren und lediglich oberflächliche Überprüfungen ermöglichen. Wegen dieser Einschränkungen sollten sie nicht als Ersatz für detailliertere Prüfungen, wie Integrations- und Systemtests, verwendet werden. Tiefgründigere und komplexere Fehler oder Verhaltensänderungen lassen sich durch Smoke-Tests nicht immer erkennen.
Unterschiede zwischen Smoke-, Sanity- und Regressionstests
Smoke-, Sanity- und Regressionstests dienen unterschiedlichen Zwecken und werden in verschiedenen Phasen des Entwicklungszyklus durchgeführt.
Kriterium | Smoke Testing | Sanity-Test | Regressionstest |
Zweck | Frühzeitiges Erkennen größerer Probleme und Gewährleistung der Stabilität der Softwareversion für weitere Tests | Überprüfung der Korrektheit bestimmter Aspekte, darunter Fehlerbehebungen oder neu eingeführte Funktionen | Bestätigung, dass jüngste Änderungen keine neuen Fehler eingeführt oder bestehende Funktionen beschädigt haben, sowie Gewährleistung der allgemeinen Systemstabilität |
Zeitpunkt der Durchführung | Nach der Erstellung einer neuen Softwareversion, insbesondere nach größeren Änderungen oder Updates | Nach kleineren Änderungen oder Fehlerbehebungen | Nach Änderungen am Code, Erweiterungen oder Fehlerbehebungen |
Smoke Testing mit MATLAB
Mit Smoke Testing können Sie sicherstellen, dass Ihre MATLAB®-Anwendungen für den nächsten Schritt bereit sind. Diese einfache Prüfung verifiziert, dass die Hauptfunktionen ordnungsgemäß arbeiten, und sorgt für das nötige Vertrauen, bevor Sie mit detaillierteren Tests fortfahren. Ganz gleich, ob Sie Simulationen entwickeln, Daten analysieren oder Algorithmen erstellen – Smoke-Tests helfen Ihnen, die Stabilität im gesamten Entwicklungsprozess zu gewährleisten.
Beispiele für Smoke Testing in MATLAB
Zur Durchführung eines Smoke-Tests mit MATLAB können Sie ihn zu einem Skript hinzufügen und überprüfen, ob er ohne Fehler ausgeführt wird.
Sie können Smoke-Tests manuell schreiben oder MATLAB Test verwenden, um automatisch eine Testvorlage für Ihr Skript zu erstellen. Dieser erstellte Test führt das Skript aus. Wenn es fehlerfrei läuft, wird der Test bestanden, was die grundlegende Funktionalität des Skripts bestätigt. Die Ergebnisse von Smoke-Tests sind in der Test Browser-App einsehbar. Diese Oberfläche ermöglicht es, Tests interaktiv auszuführen, zu debuggen und zu analysieren.
% simpleMainScript.m % Ein einfaches MATLAB-Skript zur Berechnung der Summe der Zahlen 1 bis 10 % Summe berechnen totalSum = sum(1:10); % Ergebnis anzeigen disp(‚Die Summe der Zahlen 1 bis 10 ist:'); disp(totalSum);
% Dies ist ein automatisch generierter Beispieltest für die Datei mainscript.m classdef testmainscript < matlab.unittest.TestCase methods (Test) function test_mainscript(testCase) % Skript Mainscript ausführen mainscript; end end end
Wenn Sie die Testdatei speichern, ändert sich der Bereich „Run“ in der Registerkarte „Editor“ und ermöglicht das Ausführen der Tests in der Datei. Beim Klicken auf das Symbol „Run Tests“ fügt MATLAB alle Tests in der Datei zur Test Browser-App hinzu und führt sie durch. Das Befehlsfenster („Command Window“) zeigt den Fortschritt der Testdurchführung an. In diesem Beispiel gilt der Smoke-Test als bestanden, da keine Fehler gemeldet wurden.
Beispiele und Erläuterungen
Software-Referenz
Siehe auch: Software testing