Share via


Richtlinien für Feuerproben

Aktualisiert: November 2007

Im Softwarebereich bezeichnet der Begriff Feuerprobe (engl.: Smoke Test) das Validieren von Codeänderungen, bevor diese in die Quellcodestruktur des Produkts eingecheckt werden. Nach Codeüberprüfungen stellt eine Feuerprobe die kostengünstigste Methode zum Erkennen und Beseitigen von Softwarefehlern dar. Bei einer Feuerprobe wird sichergestellt, dass Änderungen im Code wie erwartet funktionieren und nicht das gesamte Build destabilisieren.

Hinweis:

Der Begriff Feuerprobe stammt aus der Hardwareindustrie. Dieser Begriff leitet sich wie folgt ab: Nach dem Ändern oder Reparieren eines Geräts oder einer Komponente wurde es einfach eingeschaltet. Wenn kein Feuer auftrat, hatte die Komponente den Test bestanden.

In den folgenden Richtlinien werden empfohlene Vorgehensweisen für Feuerproben beschrieben. Es gibt ein breites Spektrum unterschiedlicher Auswirkungen beim Befolgen dieser Richtlinien. Diese reichen von der Verbesserung der Kommunikation zwischen Teammitgliedern bis zum Entwickeln spezieller Methoden für den Einsatz von Test- und Debugtools.

Zusammenarbeit mit dem Entwickler

Da mit einer Feuerprobe geänderter Code getestet wird, müssen Sie mit dem Entwickler des Codes zusammenarbeiten. Sie müssen sich über Folgendes im Klaren sein:

  • Was hat sich im Code geändert? Zum Verständnis der Änderung müssen Sie auch über die verwendete Technik informiert sein. Der Entwickler kann Ihnen dabei helfen.

  • Wie beeinflusst die Änderung die Funktionalität?

  • Wie beeinflusst die Änderung die Abhängigkeiten zwischen verschiedenen Komponenten?

Ausführen einer Codeüberprüfung vor einer Feuerprobe

Führen Sie vor einer Feuerprobe eine Codeüberprüfung durch, die sich auf alle Änderungen im Code konzentriert. Codeüberprüfungen sind die kostengünstigste und effektivste Methode zum Validieren der Codequalität und zum Schutz vor Codefehlern und inhaltlich falscher Umsetzung. Mit einer Feuerprobe wird sichergestellt, dass zuerst der wichtigste oder anfälligste Bereich überprüft wird, der durch eine Codeüberprüfung oder Risikoabschätzung ausgemacht wurde, da der Testvorgang bei einem Fehlschlagen dieses Bereichs nicht fortgesetzt werden kann.

Installieren von privaten Binärdateien in einem neuen Debugbuild

Da sich eine Feuerprobe nur auf das Überprüfen der funktionalen Änderungen in aktualisierten Binärdateien konzentriert, muss der Test in einer unberührten Testumgebung ausgeführt werden, in der die Debugbinärdateien der getesteten Dateien verwendet werden.

Hinweis:

Das Testen mit falschen Binärdateien ist ein häufiger Fehler bei der Feuerprobe. Nehmen Sie zum Vermeiden dieses Fehlers alle aktualisierten Binärdateien in das Testbuild auf, wenn Abhängigkeiten zwischen zwei und mehr aktualisierten Binärdateien bestehen. Andernfalls sind die Ergebnisse des Tests möglicherweise ungültig.

Erstellen täglicher Builds

Tägliche Builds erfordern, dass die Teammitglieder zusammenzuarbeiten und ein synchronisiertes Arbeiten der Entwickler gefördert wird. Wenn sich Iterationen neuer Builds verzögern, kann dies schnell dazu führen, dass Produkte mit mehrfachen Abhängigkeiten nicht mehr synchron sind. Das Einhalten eines Ablaufs mit täglichen Builds und einer Feuerprobe aller geänderten oder neuen Binärdateien gewährleistet hohe Qualität.

Weitere Informationen zum Einrichten regelmäßig erstellter Builds finden Sie unter Ausführen von Builds in Team Foundation Build. Weitere Informationen zum Überprüfen der Builds Ihres Produkts finden Sie unter Gewusst wie: Konfigurieren und Ausführen von Buildüberprüfungstests (Build Verification Test - BVT).

Hinweis:

Machen Sie einen täglichen Build höchster Qualität zur obersten Priorität des Teams. Wenn das Build nicht funktionsfähig ist, weil für ein eingechecktes Codesegment keine Feuerprobe durchgeführt wurde, veranlassen Sie die Entwickler und Tester alle anderen Arbeiten ruhen zu lassen, bis das Problem gelöst ist. Die Konsequenzen für ein nicht funktionsfähiges Build sollten nicht zu streng ausfallen, jedoch das Bewusstsein stärken, dass ein funktionierendes tägliches Build die oberste Priorität des Teams ist.

Sie müssen keine umfassenden Tests ausführen. Der Zweck einer Feuerprobe besteht nicht darin, eine vollkommen fehlerfreie Binärdatei zu erhalten. Dies würde zu viel Zeit erfordern. Sie führen eine Feuerprobe durch, um das Build auf einer allgemeinen Ebene zu überprüfen. Es soll sichergestellt werden, dass Änderungen in einer Binärdatei nicht das gesamte Build destabilisieren oder schwerwiegende Funktionsfehler verursachen.

Web- und Auslastungstests

Beim Erstellen von Webtests und Auslastungstests empfiehlt es sich, vor dem Ausführen langer und intensiver Tests eine Feuerprobe durchzuführen. Bei Web- und Auslastungstests bezeichnet eine Feuerprobe einen kurzen Test mit geringer Auslastung. Verwenden Sie eine Feuerprobe zur Überprüfung, ob alles korrekt konfiguriert ist und wie erwartet funktioniert, bevor Sie Leistungs- oder Belastungstests ausführen.

Siehe auch

Aufgaben

Gewusst wie: Konfigurieren und Ausführen von Buildüberprüfungstests (Build Verification Test - BVT)

Weitere Ressourcen

Arbeiten mit Webtests

Arbeiten mit Auslastungstests

Ausführen von Builds in Team Foundation Build

Arbeiten mit Komponententests

Testtools-Aufgaben