Wer ist zuständig für den Smoketest?

Ein guter Geruchssinn ist bisweilen in der Hardwareentwicklung ganz nützlich. Spannend ist der Zeitpunkt, an dem an eine neu entwickelte Platine zum ersten Mal die Betriebsspannung angelegt wird. Ich hatte es während meiner Zeit in der Hardwareentwicklung (inzwischen rund 30 Jahre her) mehrfach erlebt, welch vernichtende Wirkung eine vermeintlich niedrige Versorgungsspannung von 5 V auf eine neue Platine mit Layoutfehlern hat: Bauteile erhitzen sich und rauchen binnen weniger Sekunden mit Rauchentwicklung und beißendem Gestank ab. Daher kommt Begriff Smoketest als Synonym für die Erstinbetriebnahme einer neu entwickelten Hardware.

Im Bereich der Softwareentwicklung gibt es auch den Begriff des Smoketests, wenngleich die Gefahr einer Rauchentwicklung dort eher nicht besteht….

Software raucht nicht

Bei einer Software wird mit dem Smoketest überprüft, ob ein Build die erwarteten fundamentalen Anforderungen erfüllt. Im Zusammenhang mit dem Smoketest stellt sich die Frage, wer diese Art von Test ausführt – Entwickler oder Tester. Ich bin Fan davon, dass der Smoketest in der Verantwortung der Entwicklung liegt, was allerdings nicht heißt, dass ihn die Entwickler alleine ausführen.

Oftmals legen die Tester nach Übergabe einer Software in Breite mit dem spezifizierten Testumfang los. Die Zeit bis zur Auslieferung ist ja meist knapp. Fällt erst dann ein kritischer Mangel an einer essentiellen Funktion auf, so heißt es sehr schnell für die Tester „Kommando zurück“ und die Entwickler übernehmen erneut – und das meist sehr kurzfristig. Das Interface zwischen Entwicklung und Test wird zweimal beansprucht. Ist die Entwicklung maßgeblich in den Smoketest involviert bzw. liegt dort sogar die Verantwortung für dessen (positives !) Ergebnis, dann steigen die Chancen, dass die Tester an Ende tatsächlich eine „testwürdige“ Software für die nachfolgenden Testschritte in Händen haben.

Natürlich ist diese Betrachtung schwarz / weiß gemalt. Ein guter Ansatz ist, wenn Entwickler und Tester sich gemeinsam über Inhalt und Umfang des Smoketests einig werden und diesen zusammen im Sinne einer Übergabe des „Systems under Test“ durchführen. Mit einem solchen Teamwork lässt sich das in einer starren Organisationsstruktur (…und speziell wenn nach dem klassischen Wasserfallmodell gearbeitet wird) bisweilen anzutreffende „Fingerpointing“ zwischen Entwicklern und Testern bei Problemen und Verzögerungen minimieren. Es lohnt sich ferner darüber nachzudenken, welche Testautomatisierung schon dem Entwickler zur Seite gestellt werden kann, um dessen eigene Tests – sogar noch vor der Smoketestphase – produktiver zu gestalten.

Fazit: Der Smoketest ist ein wichtiger Meilenstein an der Schnittstelle zwischen Entwicklung und Test, aber die Verantwortung für die Durchführung und das Ergebnis sollte in jedem Fall bei der Entwicklung angesiedelt sein.

Wer macht bei Ihnen die Smoketests – wie laufen sie bei Ihnen ab – was sind Ihre Erfahrungen?

Leave a Reply

Your email address will not be published.