Anleitung für professionelles Software-Testmanagement

Seite 3: Testautomatisierung

Inhaltsverzeichnis

Automatisierte Tests können, richtig eingesetzt, den Aufwand reduzieren. Im ersten Schritt entscheidet das Testmanagement darüber, welche konkrete Methode im vorliegenden Fall Sinn macht. Bei der Entwicklung kleinerer Softwarepakete für interne Unternehmensanwendungen, die in der Zukunft keinen großen Änderungen unterworfen sind ,ist keine Testautomatisierung von Nöten.

Neben ihr spielen statische Software-Testverfahren eine wichtige Rolle. Mit ihnen findet man Hinweise auf Schwachstellen im Programmcode. Durch bestimmte Metriken lassen sich komplexe Teile einer Software identifizieren. Wichtig sind die zyklomatische Komplexität, die Halstead-Metrik, die Datenfluss-Anomalie sowie die Kontrollfluss-Anomalie (siehe [anchorlink l1]Glossar[/anchorlink]). Generell sind besonders komplexe Teile der Software mit einer höheren Wahrscheinlichkeit fehlerbehaftet.

Während der Test- und Fehlerkorrekturphase sollten nach und nach immer weniger Fehler in der Software zu finden sein, sodass sich eine Sättigungskurve ergibt (Abb. 4).

Ein vollständiger Nachweis an Fehlerfreiheit von Software ist nicht realisierbar. In Abhängigkeit der Schadenswahrscheinlichkeit und -höhe lässt sich ein unterschiedlich hoher ökonomischer Aufwand betreiben, um das Testendekriterium zu erreichen. Das legt man zu Beginn des Testmanagement-Prozesses fest. Dadurch lässt sich sicherstellen, dass alle Vertragsparteien das Testendekriterium einhalten und die Software einen gewissen Qualitätsstandard erreicht, bevor man sie ausliefert. Geeignete Endekriterien sind beispielsweise die Fehlersättigungskurve oder Fehlererwartungsmodelle.

Darüber hinaus stehen dem Testmanagement Modelle zur Verfügung, mit denen sich Fehlererwartungswerte berechnen lassen. Daraus kann man Rückschlüsse auf die erwartete Zahl an Restfehlern ziehen. Stimmt der Wert schließlich mit der Fehlersättigungskurve überein, ist das ein geeignetes Testendekriterium. Falls eine Berechnung der Fehlererwartungswerte nicht möglich ist, kann man alternativ zwischen der Schwere unterschiedlicher Fehler unterscheiden und sie beispielsweise den Kategorien erheblich, dringend, normaler und Schönheitsfehler zuweisen. Ein Endekriterium wäre, dass das Testmanagement beendet ist, sobald keine erheblichen und dringenden Fehler mehr auftreten. Das ist aber kein alleiniges Kriterium, denn es kann sein, dass man nach dem Testen der ersten Hälfte keine schweren Fehler gefunden hat, sie jedoch in der zweiten Hälfte noch bestehen. Deshalb ist es nur im Zusammenhang mit anderen wie einer hundertprozentigen Testdurchführung oder einer hohen Testfallabdeckung einzubringen. Auch Zeit und Geld sind keine empfehlenswerten Endekriterien. Für den Fall, dass das verfügbare Budget aufgebraucht ist und man kurz zuvor einen schwerwiegenden Softwarefehler gefunden hat, ist das Testmanagement noch nicht zu beenden. Grundsätzlich hängt die Wahl des Endekriteriums davon ab, was sich mit dem Fachbereich vereinbaren lässt. Es ist jedoch Aufgabe des Testmanagements, auf Risiken hinzuweisen, die durch das kundenspezifische System entstehen können.

Um den hohen Anforderungen an eine Software in komplexen und unternehmenskritischen Bereichen gerecht zu werden, ist ein Testen in jeder Entwicklungsstufe einer Software nicht mehr wegzudenken. Mit einem strukturierten Test-Management und den richtigen Methoden sowie qualifizierten Testern und Testmanagern sind Unternehmen allerdings den Anforderungen gewachsen.

Volker Maiborn
ist Geschäftsführer von beck et al. projects und verantwortet zusätzlich den Unternehmensbereich "Testmanagement". Maiborn blickt auf 20 Jahre Erfahrung in der IT-Branche zurück und hat als Projektleiter zahlreiche große Industrie- und Handelskunden betreut.