Software-Qualitäts-Management

Keine Software-Industrialisierung ohne Testfabrik

05.05.2008
Systematisches Software-Testing ist ein elementarer Meilenstein auf dem Weg zur IT-Industrialisierung, meint Josef Narings, General Manager der Firma LEIRIOS Deutschland.
Foto: Josef Narings

Industrialisierung heißt der große Trend in der Softwareentwicklung der letzten Jahre. Ein wenig seltsam klingt das schon, denn eine "Softwareindustrie" gibt es ja schon seit langem und wenn nun die große Industrialisierung ausgerufen wird, fragt man sich natürlich, womit sich diese Industrie bisher eigentlich beschäftigt hat.

Tatsächlich ist besagte "Industrie" ihrem Namen bislang nur selten gerecht geworden. Sie hat sich in den letzen Jahren zwar einen sehr umfangreichen und auch leistungsfähigen Werkzeugkasten zugelegt, aber ihre Arbeitsmethoden und ihr Selbstverständnis sind weiterhin von viel Handwerk und immer auch von ein wenig Künstlertum geprägt. Nichts gegen die Kunst, aber ob sie sich ausgerechnet bei der Herstellung von Software betätigen sollte?

Andere Industriezweige machen es vor

In den klassischen Ingenieurdisziplinen wie Maschinenbau, Bauwesen oder Elektrotechnik wurden schon vor über hundert Jahren Methoden entwickelt, nach denen auf hohem Qualitätsniveau und mit großer Zuverlässigkeit Leistungen erbracht werden. Man kennt hier seine Ressourcen, kann Kosten und Zeitaufwand halbwegs zuverlässig abschätzen und vor allem weiß man einigermaßen sicher, was am Ende herauskommt: Ein Auto, das immer fährt, ein Flugzeug, das nur selten abstürzt, eine Waschmaschine, die ein paar Jahre zuverlässig läuft, eine Straße, die auch Regen, Eis und Schnee aushält. Und wer eine zweite Waschmaschine oder eine weitere Straße baut, kann sehr sicher sein, dass er wieder das gewünschte Ergebnis erhält.

An solche Maßstäbe muss sich die Softwareindustrie erst noch heranarbeiten. Die stark gewachsene Nachfrage nach Software, aber auch die Aufsplitterung der Herstellung durch Outsourcing- und Offshore-Projekte, haben die Mängel schmerzlich zu Tage treten lassen. Wer sich als weltweite Basisindustrie versteht, kann nicht auf persönliche Kreativität setzen, sondern muss vorhersagbare Ergebnisse liefern, reproduzierbare Produkte von stets gleichem Qualitätsniveau.

Mittlerweile hat die Branche das Problem zumindest erkannt. Allgemein akzeptierte, wissenschaftlich fundierte, industrielle Verfahren stehen zur Verfügung und werden sogar schon genutzt. Allerdings ist in einer industriellen Fertigung die gesicherte Qualität entscheidend. In den immer kürzeren Entwicklungszyklen bleibt jedoch weniger Zeit für systematische Softwaretests. Schrumpfende Projektbudgets und reduzierte Teams setzen einem qualitätsorientierten Entwicklungsprozess meist enge Grenzen. Unter Budget- und Zeitdruck wird dann an der vermeintlich schwächsten Stelle gespart: Man sieht es der Software ja nicht an, wenn sie unzureichend getestet ist - zumindest nicht sofort. Das Ergebnis mag dann zwar ein industrieller Herstellungsprozess sein - aber auch eine ansehnliche Ausschussquote. So war Industrialisierung natürlich nicht gemeint.

Handwerk hat ausgedient

Tatsächlich wird die Softwareindustrie beim Testen von ihrer handwerklichen Vergangenheit eingeholt. Tests werden nicht systematisch, sondern auf Zufallsbasis durchgeführt. Die Kreativität des Testingenieurs entscheidet über den Testverlauf. Es wird nicht definiert, welche Anwendungsbereiche und welche Parameterkonstellationen abgedeckt werden. Schließlich fehlen auch genaue Vorgaben über das angestrebte Qualitätsniveau: An die Stelle klarer Ziele treten vage, nicht operationalisierbare Vorstellungen. Viele Testteams erledigen das Testen ohnehin nebenher und sind für diese Arbeit meist nicht ausgebildet. Auf entsprechende Spezial-Qualifikationen legen viele Unternehmen keinen Wert. Hörte man irgendwann schon einmal Klagen über fehlende Softwaretester?

Angesichts des strategischen Charakters der Qualitätssicherung müssen Unternehmen ihre erratische Teststrategie durch eine Industrialisierung ihrer Softwaretests ersetzen. Die "Softwarefabrik" bedarf daher der Ergänzung durch die "Testfabrik". In einer derartigen Testfabrik lassen sich Prozesse automatisieren, so dass ohne zusätzlichen Aufwand eine bessere Testabdeckung und somit eine höhere Softwarequalität erreicht werden kann. Die Testfabrik muss sich auf einen standardisierten Prozess stützen, um rückverfolgbare, ausführbare Tests zu erzeugen, die von den Zufälligkeiten des individuellen Einfallsreichtums und der persönlichen Fertigkeiten weitgehend unabhängig sind. Der Gewinn an Produktivität, Vorhersehbarkeit, Risikominimierung und Qualität rechtfertigt die Einführung einer solchen Testfabrik allemal.

Diese Testfabrik - wobei man sich organisatorisch durchaus ein spezielles Competence-Center vorstellen kann - ist damit ein unverzichtbarer Bestandteil der kommenden Softwarefabrik. Sie ist damit auch eine Voraussetzung für die Industrialisierung der Softwareentwicklung. (ue)

Über LEIRIOS

Die Firma LEIRIOS hat den Ansatz des "Model Based Testing" (MBT) geprägt und will mit ihrer Gesamtlösung "Smart Testing" die Vorteile der UML-Modellierung mit denen von Testwerkzeugen verbinden: Ausgehend von einem Modell werden Prozesse und eine systematische Vorgehensweise entwickelt. Die technische Komponente "Test Designer" setzt dabei das UML-Modell in automatisierte Testverfahren um und bietet eine große Bandbreite von Testkriterien und Reports.