Wer zu spät testet, verschleudert Geld

08.09.2006
Von Stefan Ueberhorst

Selbst wenn man sich dem Idealzustand eines konsistenten Design- und Testprozesses nähert: Ein in sich geschlossener Software-Entwicklungszyklus kommt in der Realität oft dann vom Kurs ab, wenn es darum geht, spätere Änderungen im Design auch in den Requirements nachzupflegen. Nicht selten stellt sich heraus, dass die eine oder andere Funktionsspezifikation anders als ursprünglich gedacht implementiert oder während des Lebenszyklus einer Applikation geändert werden muss, was dann gerne auf kurzen Wegen erfolgt. Ein vollständig ableitbares Testmodell würde jedoch erfordern, dass solche Modifikationen in der Anforderungsspezifikation hunderprozentig nachgeführt werden. "Diese Prozessqualität bekommt kaum eine Organisation konsequent und durchgängig hin", so die Praxiserfahrung von Faßbender. Ein geschlossener Modellansatz von der Anforderung bis zur Anwendung wird damit ausgehebelt.

Chaos Report: Projekte machen Ärger: Die Standish Group analysierte über 9000 IT-Projekte.
Chaos Report: Projekte machen Ärger: Die Standish Group analysierte über 9000 IT-Projekte.

Einen weiteren Versuch, die Kette zu schließen, sieht der Experte in dem jüngst aufgekommenen Ansatz des Model-driven Testing. Ihren Ausgangspunkt hat diese Entwicklung im Bereich technischer Softwaresysteme, etwa in der Telekommunikation, wo sich die Spezifikationen gut in abstrakten Modellen beschreiben lassen. Es bleibe abzuwarten, ob sich solch ein Vorgehen auch im Bereich der Geschäftssoftware etablieren lässt.

Was sich Faßbender letztlich für den Tester wünscht, sind intelligente Tools, die nicht nur den mechanischen Teil der Erstellung und Verwaltung von Tests abbilden, sondern auch den kreativen Teil der methodischen Testfallfindung und Testdatendefinition aktiv unterstützen - oder gar den Fachspezialisten effektiv Tests erstellen lassen. Doch das sei Zukunftsmusik, hier sehe er noch keinen bahnbrechenden Ansatz in der Branche.

Einig sind sich die Spezialisten darin, dass das Thema Testen in den Unternehmen künftig sehr viel ernster angegangen wird. Die Firmen werden von den Todsünden der Vergangenheit eingeholt, heißt es in der Branche, denn der Einzug der IT hat inzwischen ein Ausmaß angenommen, dass Systemausfälle zunehmend verheerende Folgen haben. Hinzu kommt, dass die Bereiche Softwareentwicklung und betriebswirtschaftliche Software bereits über ausgereifte Vorgehens- und Prozessmodelle verfügen - lediglich im Testumfeld werden diese Ansätze noch nicht praktiziert. Und dies in Zeiten, in denen die Industrie verstärkt auf Web-Services-Techniken und Service-orientierte Architekturen setzt. Die Qualitätssicherung solcher Infrastrukturen wird deutlich komplexer und setzt die systematische Spezifikation und Pflege von Testfällen zwangsläufig voraus. (ue)

Testen in SOA-Umgebungen wird komplexer

Die Einführung Service-orientierter Architekturen und damit von Web-Services stellt neue Herausforderungen an die Testpraxis. Zusätzlich zum klassischen Unit- und Integration-Test muss letzterer von einem ständigen Regressionstest begleitet werden. Kai-Uwe Gawlik von SQS erklärt, warum:

Im SOA-Umfeld versprechen zentrale Servicegeber zum Beispiel über Web-Services die funktionale Bereitstellung von Teilen ganzer Geschäftsprozesse. Auf der anderen Seite nutzen Servicenehmer häufig nur Teile der angebotenen Services. Um eine höchstmögliche Sicherheit dieses Prozesses zu gewährleisten, muss vereinfacht ausgedrückt zum Beispiel von Seiten des Servicenehmers ständig geprüft werden, ob sich der angebotene Dienst noch genau so verhält, wie es bislang der Fall war, oder ob sich Veränderungen eingestellt haben. Dies erfolgt im Rahmen des Regressionstests.

Spätestens hier wird klar, welche Bedeutung die systematische Spezifikation und Pflege von Testfällen sowohl für den Servicetest als auch für den Geschäftsprozesstest hat. Diese können, um Aufwand einzusparen, in Form von Testsuiten von Servicegeber und -nehmer gemeinsam genutzt werden. Zudem liegt es nahe, solche regelmäßigen Prüfschritte mit einer konsequenten Testautomatisierung zu verbinden, was ebenfalls Einsparungen bringt.