Das TPI-Modell verbessert den Testprozess

02.10.2007
Von Boris Holzer und Dr. Thomas von der Maßen
Für das Test Process Improvement (TPI) gibt es einen Leitfaden, mit dem Entwicklerteams den Reifegrad ihrer Testprozesse bestimmen können und konkrete Vorschläge zu deren Verbesserung erhalten.

Das Testen von Software ist die wohl am weitesten verbreitete Qualitätssicherungsmaßnahme in der Softwareentwicklung. Gleichwohl stellt diese Aufgabe Entwicklungsorganisationen vor Probleme, und der Testprozess wird häufig als zu aufwändig und zu langwierig wahrgenommen. Darüber hinaus ist der Testprozess oft sehr schwer kontrollierbar, und pauschale Aussagen wie "Die Tests helfen nicht, die Softwarequalität zu verbessern" führen dazu, dass sie in zeit- und kostenkritischen Entwicklungsprojekten als Erstes über Bord geworfen werden. Erschwerend kommt hinzu, dass der Softwaretest nichts Neues schafft, sondern die Defizite eines bestehenden Programms entlarvt, was von vielen als destruktive Tätigkeit empfunden wird.

Der Testverantwortliche sieht sich außerdem mit einer Vielzahl von teilweise konträren Anforderungen konfrontiert: Die Software soll kostengünstig in immer kürzeren Release-Zyklen zur Verfügung stehen und gleichzeitig eine sehr hohe Qualität aufweisen. Ein anderes Problem tritt immer dann auf, wenn man Tests ad hoc vornimmt und deshalb kein klares Ziel definiert ist. Wer seinen Testprozess ernsthaft verbessern will, muss sich mit folgenden Aktivitäten befassen:

  • Bestimmung der Testziele: Der Testprozess soll schneller und günstiger ablaufen, oder es soll eine größere Testabdeckung erreicht werden.

  • Feststellung der Stärken und Schwächen des etablierten Testprozesses.

  • Festlegung des Sollzustands in Bezug auf die definierten Ziele sowie eine Definition der Verbesserungsmaßnahmen, die den Sollzustand herbeiführen können.

  • Etablieren und Kontrolle dieser Maßnahmen.

Aufbau des TPI-Modells

Um einen Rahmen für die Verbesserung des Testprozesses bereitzustellen, hat die Firma Iquip Informatica B.V., heute Sogeti Nederland B.V., 1997 das TPI-Modell entwickelt. Neben den einschlägigen kommerziellen Dienstleistungen gibt es mittlerweile auch deutschsprachige Literatur, in der das Verfahren ausführlich beschrieben wird. Das TPI-Modell ist ein Hilfsmittel, um den Testprozess in der Softwareentwicklung zu optimieren. Dazu stellt es Richtlinien für die Beurteilung des etablierten Testprozesses und für dessen schrittweise Verbesserung bereit. Es erlaubt zudem die Definition der damit verbundenen Ziele. Mittels des TPI-Modells lässt sich somit einerseits der Reifegrad des Testprozesses bewerten, andererseits bietet es Unterstützung, um die notwendigen Schritte für eine Verbesserung zu identifizieren, in welcher Reihenfolge diese Schritte vorgenommen werden sollen und wie sich die Maßnahmen überwachen lassen.

Das TPI-Modell unterteilt den Testprozess in verschiedene Aspekte, die auch Kernbereiche genannt werden. Es gibt 20 definierte Kernbereiche, denen jeweils wiederum Ebenen zugeordnet sind, anhand derer sich der Reifegrad eines Kernbereichs bestimmen lässt. Typischerweise sind die drei Ebenen A, B und C pro Kernbereich definiert ? es gibt aber auch Kernbereiche mit nur einer oder mit bis zu vier Ebenen. Jede höhere Ebene ist in zeitlicher, finanzieller oder qualitativer Hinsicht besser als die vorherige. Damit die Benutzer feststellen können, ob ein Kernbereich die Anforderungen einer Ebene erfüllt, definiert das TPI-Modell für jede Ebene eine Reihe von Kontrollpunkten. Sie dienen als Checkliste, die eine objektive und transparente Bewertung eines Kernbereichs ermöglichen.

Tipps für den Umgang mit dem TPI-Modell

  • Definieren Sie ein hartes Kriterium, wann die Maßnahmen abzubrechen sind. Dies kann etwa das Erreichen einer bestimmten Stufe oder das Ausschöpfen des Budgets für die Prozessverbesserung sein.

  • Wenn Sie bei den allgemeingültigen Definitionen des Modells einen Interpretationsspielraum sehen, schränken Sie diesen durch die Vorgabe Ihrer konkreten Interpretation ein.

  • Dokumentieren Sie zusätzlich zu Ihren konkreten Bewertungen auch kurze Begründungen. So wird das Verfahren nachvollziehbar.

  • Leiten Sie mehr Vorschläge für Verbesserungsmaßnahmen ab, als sich unmittelbar aus dem Modell ergeben - etwa indem nicht nur die Bereiche auf der niedrigsten Stufe betrachtet werden ?, und bewerten Sie die Gesamtheit der Maßnahmen hinsichtlich Kosten und Nutzen.

  • Verwenden Sie die in diesem Artikel vorgestellte TPI-Matrix mit rot/grün-Färbung und dem Ziel "roter Balken nach rechts". Die im ursprünglichen Modell vorgeschlagene Darstellung ohne rote Färbung und dem Ziel "grüner Balken nach rechts" ist weniger einprägsam.

Weiterhin berücksichtigt das Modell sinnvolle Kombinationen und Abhängigkeiten der Kernbereichsebenen: So hat es beispielsweise wenig Sinn, eine hohe Ebene im Kernbereich "Berichtswesen" anzustreben, wenn sich der Kernbereich "Dokumentation von Abweichungen" auf einer niedrigen Ebene befindet, es also nichts gibt, über das sich zu berichten lohnt. Eine sinnvolle Kombination von Kernbereichsebenen wird im Modell als "Stufe" bezeichnet. Insgesamt gibt es in der TPI-Matrix die Stufen 0 bis 13. Sie beschreiben, wann im Testprozess ein Kerngebiet erstmals abgedeckt sein muss und auf welcher Ebene (A bis D), also mit welchem Reifegrad. So setzt etwa "Prüfen" als letztes aller 20 Kerngebiete erst auf Stufe 6 ein. Eine höhere Stufe bedeutet also immer auch ein höheres Niveau im Testprozess.

Vorgehen in der Praxis

In der Praxis gilt es, im ersten Schritt den Reifegrad des etablierten Testprozesses anhand der definierten Kerngebiete zu bewerten, indem die Kontrollpunkte beziehungsweise die sich daraus ergebenden Checklisten überprüft werden. Das Abarbeiten der Checklisten gestaltet sich dabei unkompliziert, weil es ihren Autoren gelungen ist, diese so allgemeingültig zu formulieren, dass sie auf einen spezifischen Testprozess übertragen werden können, dabei aber nur geringen Interpretationsspielraum bieten.

Beispiel für Verbesserungsmaßnahmen

Das Modell definiert für den Kernbereich "Zeitpunkt der Beteiligung" etwa die Ebenen B (Beteiligung des Testers beim Aufstellen der Testbasis) und C (Beteiligung des Testers beim Aufstellen der Anforderungen). Die dazu motivierende Begründung lautet: "so können zu einem späteren Zeitpunkt teure Diskussionen über Anforderungen und Kriterien vermieden werden". Darüber hinaus bietet es folgende Vorschläge, um diese Verbesserung zu erreichen:

  • Beziehen Sie den Tester bei der Aufstellung der Anforderungen mit ein, um zu erreichen, dass die Anforderungen konkret, messbar und testbar sind.

  • Sorgen Sie in diesem Zusammenhang für die erforderlichen Sachkenntnisse beziehungsweise Ausbildungen, die das Testteam in die Lage versetzen, die genannten Kontrollpunkte ordnungsgemäß zu überprüfen.

  • Stellen Sie sicher, dass bei jeder Anforderung Akzeptanzkriterien aufgestellt werden.

Die Ergebnisse der als Assessment vorgenommenen Erhebung werden in der TPI-Matrix dargestellt. In der hier gezeigten Tabelle visualisieren die grün gefärbten Zellen die Ebenen, auf denen sich ein Testprozess pro Kerngebiet befindet. Rot markierte Zellen bedeuten, dass eine Ebene beziehungsweise Stufe noch nicht erreicht ist. In diesem Beispiel befindet sich der Testprozess insgesamt auf Stufe 2, auch wenn einige Kerngebiete bis zur Stufe 4 reichen, dafür aber andere noch nicht die Kriterien der Stufe 3 erfüllen. Die ausgefüllte Matrix bietet somit eine Antwort auf die Frage "Auf welcher Stufe befindet sich der aktuell etablierte Testprozess?" und ermöglicht es, davon ausgehend in kleinen Schritten Verbesserungsmaßnahmen abzuleiten.

Als Erfolgsfaktor für die Akzeptanz des Modells hat sich eine nachvollziehbare Dokumentation der Bewertung herausgestellt. Diese sollte eine knappe Beschreibung des Modells sowie die tabellarische Darstellung der Kernbereiche enthalten. Neben der konkreten Bewertung sowie der Begründung, warum eine Stufe als erreicht beziehungsweise die nächste Stufe als nicht erreicht betrachtet wird, sind in diesem Dokument auch die unternehmensspezifischen Interpretationen des Modells und der Kernbereichsdefinitionen zu beschreiben.

Mit dem TPI-Modell lassen sich aus der ausgefüllten Matrix nun Verbesserungsmaßnahmen auf zwei Arten ableiten: Zum einen ergeben sich diese aus den Begründungen, warum die Kontrollpunkte einer nicht erreichten Stufe nicht erfüllt worden sind, zum anderen beinhaltet das Modell für jeden Bereich explizite Vorschläge, wie man sich in einem Bereich um eine Stufe verbessern kann. Ferner gibt das Modell eine Priorisierung dieser Maßnahmen vor: Es sollten bevorzugt Verbesserungen in denjenigen Kernbereichen angestrebt werden, die den Gesamtprozesses auf eine höhere Stufe heben. Um einen durch Optimierung ausgewogenen Testprozess zu erhalten, müssen also die Kerngebiete identifiziert werden, deren rote Zellen am weitesten nach links hineinreichen. Diese gilt es "ein Stückchen nach rechts zu schieben". Im Beispiel der hier gezeigten TPI-Matrix müssten dementsprechend die Kernbereiche "Kostenvoranschlag und Planung" (4), "Test-Spezifikationstechniken" (5), "Testarbeitsplatz" (10) sowie "Testprozess-Management" (18) angegangen werden, wenn der gesamte Testprozess die Stufe 3 erreichen soll.

Referenzen

M. Pol, T. Koomen, A. Spillner: Management und Optimierung des Testprozesses: ein praktischer Leitfaden für erfolgreiches Testen von Software mit TPI und TMap, ISBN 3-89864-156-2, dpunkt-Verlag, 2002.

Als vorteilhaft erweist sich hier, wenn das Bewertungsdokument um ein Kapitel mit Vorschlägen für Verbesserungsmaßnahmen ergänzt wird. Um dieses ähnlich wie die Bewertung ohne intime Kenntnis des TPI-Modells nachvollziehbar zu gestalten, wird zunächst dokumentiert, in welchem Kernbereich gemäß der TPI-Matrix Verbesserungen anzustreben sind. Dann werden die zu erreichenden Kontrollpunkte und die im Modell allgemein formulierten Verbesserungsmaßnahmen aufgelistet, um schließlich konkrete Maßnahmen vorzuschlagen. Diese lassen sich dann in einer "Strategierunde" ? ein Gremium zur Definition insbesondere des Entwicklungsprozesses ? losgelöst vom TPI-Modell diskutieren und einer Kosten-Nutzen-Bewertung unterziehen.