Das TPI-Modell verbessert Testprozesse

17.10.2007
Von Boris Holzer  und Thomas von der Maßen 
Für das Test Process Improvement gibt es einen Leitfaden, mit dem Entwicklerteams den Reifegrad ihrer Tests prüfen können und konkrete Vorschläge zu deren Optimierung erhalten.
Grüne Felder markieren den erreichten Reifegrad im Testprozess, rote die nächste anzustrebende Stufe.
Grüne Felder markieren den erreichten Reifegrad im Testprozess, rote die nächste anzustrebende Stufe.

Das Testen von Software ist die wohl wichtigste Qualitätssicherungsmaßnahme in der Softwareentwicklung. Gleichwohl stelltdiese Aufgabe Entwicklungsorganisationen vor Probleme, und der Testprozess wird häufig als zu aufwändig und langwierig wahrgenommen. Darüber hinaus ist der Testprozess oft schwer kontrollierbar. Pauschale Aussagen wie "Die Tests helfen nicht, die Softwarequalität zu verbessern" führen dazu, dass sie in zeit- und kostenkritischen Entwicklungsprojekten als Erstes vernachlässigt werden. Erschwerend kommt hinzu, dass Softwaretests nichts Neues schaffen, sondern die Defizite eines bestehenden Programms entlarven, was von vielen als destruktiv empfunden wird.

Beispiel für Verbesserungsmaßnahmen

Das Modell definiert für den dritten 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 formuliert werden.

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 Bewertun-gen auch kurze Begründungen. So wird das Verfahren nach-vollziehbar.

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.

Fazit

TPI ist ein Reifegradmodell für den Prozess des Softwaretests. Die Granularität des Modells in Form der Unterteilung in 20 Kernbereiche mit bis zu vier Stufen ist angemessen und pragmatisch. Zudem werden die vielen gegenseitigen Abhängigkeiten der einzelnen Kernbereiche und deren Stufen in Form der TPI-Martix übersichtlich dargestellt. n Eine Besonderheit des Modells ist, dass es nicht nur Messpunkte für das Erreichen einer Ebene oder Stufe definiert, sondern auch kleinteilige Vorschläge für die Erreichung der nächsthöheren Stufe. Die Dokumentation des Modells beinhaltet eine gute Beschreibung des Vorgehens bis hin zur Bereitstellung von Checklisten, ferner die Begründung der De-finition von Bereichen und Stufen, der Abhängigkeiten der Bereiche, der Kontrollpunkte und der Vorschläge für Verbesserungsmaßnahmen. n Um den Reifegrad des Modells selbst zu erhöhen, sollte dieses um ein Abbruchkriterium erweitert werden, etwa in Form einer konkret zu erreichenden Stufe. Es sollte die optimale und nicht die höchstmögliche TPI-Stufe angestrebt werden.

Konträre Anforderungen

Testverantwortliche sehen sich zudem 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 hohe Qualität aufweisen. Ein anderes Problem tritt immer dann auf, wenn man Tests ad hoc vornimmt und kein klares Ziel für diesen Vorgang definiert. Wer seinen Testprozess ernsthaft verbessern will, muss sich mit folgenden Aktivitäten befassen:

Bestimmung der Testziele in Bezug auf Kosten, Zeit und Abdeckung (Sollzustand).

Analyse der Stärken und Schwächen des etablierten Testprozesses.

Definition der Verbesserungsmaßnahmen, die den Sollzustand herbeiführen können.

Etablieren und Kontrollieren dieser Maßnahmen.

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 (siehe Referenzen am Ende dieses Artikels). Das TPI-Modell ist ein Hilfsmittel, um den Testprozess in der Softwareentwicklung zu optimieren. Dazu stellt es Richtlinien für die Beurteilung des vorhandenen Testprozesses und 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.

Gliederung des TPI-Modells

Das TPI-Modell unterteilt den Testprozess in verschiedene Aspekte, die auch Kernbereiche genannt werden. Es gibt 20 solche Kernbereiche, denen jeweils 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.

Sinnvolle Kombinationen

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 Kernbereichs-ebenen 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.

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 ist unkompliziert, weil es den Autoren gelungen ist, die Checklisten so allgemeingültig zu formulieren, dass sie auf einen spezifischen Testprozess übertragen werden können, dabei aber nur geringen Interpretationsspielraum bieten.

Deutung der Matrix

Die Ergebnisse der Erhebung ("Assessment") 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.

Erfolg durch Dokumentation

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 Gesamtprozess auf eine höhere Stufe heben. Um einen durch Optimierung aus-gewogenen Testprozess zu er-halten, 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.

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 konkre-te Maßnahmen vorzuschlagen. Diese lassen sich in einer "Strategierunde" ein Gremium zur Definition insbesondere des Entwicklungsprozesses losgelöst vom TPI-Modell diskutieren und einer Kosten-Nutzen-Bewertung unterziehen. (ue)

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.