Image
Test Maturity Model Integration TMMi

Testprozesse verbessern mit Test Maturity Model Integration (TMMi) im DevOps-Umfeld

🕒 Lesedauer: 5 Minuten

DevOps und Test Maturity Model Integration (TMMi)

TMMi, Test Maturity Model Integration, ist ein Referenzmodell für die Bewertung und Verbesserung von Testprozessen. DevOps hat ein optimiertes Zusammenspiel zwischen Entwicklern, Betrieb und weiteren am Wertfluss beteiligten Einheiten im Fokus. Qualitätsaspekte spielen im Zusammenwirken eine tragende Rolle. Doch wie kann TMMi eingesetzt werden, um DevOps gewinnbringend zu unterstützen?

In diesem Blogartikel möchte ich einige Aspekte aufzeigen, wie TMMi DevOps zuarbeiten kann.

Bereits in einem vergangenen Blogartikel haben wir TMMi dargestellt. Zur Erinnerung eine Abbildung des Stufenmodells:

Image
Test Maturity Model Integration (TMMi) Levels
Bild 1: Reifegradstufen und Prozessbereiche in TMMi

TMMi will unabhängig vom verwendeten Softwarelebenszyklusmodell sein und sieht seinen Platz deshalb auch in Organisationen, die sich an DevOps ausrichten. Im Gegensatz zum agilen Vorgehen, gibt es aber bisher keine offizielle Anpassung von TMMi für DevOps, sondern lediglich einen Abgleich von TMMi Prozessbereichen und Zielen mit den drei Wegen von DevOps.

Im Folgenden werden einige Aspekte aufgezeigt, wie TMMi DevOps unterstützen kann.

Bei strikter Interpretation des Stufenmodells kann der festgestellte Reifegrad einer Organisation die Relevanz von TMMi-Praktiken einschränken, die zur Unterstützung von DevOps sinnvoll herangezogen werden können. Man kann TMMi aber auch eher im Sinne eines kontinuierlichen Modells nutzen. Bei einem solchen Vorgehen können Ziele, Praktiken und Subpraktiken verschiedener Reifegradstufen für DevOps eingesetzt werden.

→ Testprozessverbesserung: Wir bewerten & optimieren gemeinsam mit Ihnen Ihre Softwarequalität & Testprozesse nachhaltig

Die drei Wege von DevOps und TMMi

Ich möchte zuerst auf TMMi und die drei Wege von DevOps eingehen. Meine Überlegungen basieren auf dem Whitepaper “How TMMi supports the Three Ways of DevOPS” von J.P.Cannegieter u.a., das auf den Seiten der TMMi-Foundation zu finden ist. Beispielhaft werden im Folgenden für die drei Wege von DevOps unterstützende Prozessbereiche und Ziele von Test Maturity Model Integration angegeben.

1. Weg: Flow Optimierung

Image
DevOps_Weg_1

Bei diesem Weg geht es um die Optimierung aller Wertschöpfungsketten, die durch IT ermöglicht werden. Ein wichtiger Aspekt auf diesem Weg ist das Verkürzen von Durchlaufzeiten.

Um dieses Ziel zu erreichen, können in TMMi verschiedene Prozessbereiche beitragen, z.B. auf Stufe 2 der Prozessbereich 2 Test Planning: risikobasiertes Testen und eine auf das Risiko abgestimmte Testvorgehensweise. Auf Stufe 3 kann der Prozessbereich Test Lifecycle and Integration unterstützen: der Mastertestplan wird eingesetzt, um Tests in Teststufen optimal aufeinander abzustimmen.

2. Weg: Schnelles Feedback

Image
DevOps_Weg_2

Hier geht es darum, Feedback aus Testumgebungen und/oder dem produktiven Einsatz möglichst schnell zu den Entwicklern zu transportieren, um diesen eine zeitnahe Reaktion zu ermöglichen und Änderungen und Korrekturen an Ops weiterzugeben.

In TMMi ist auf Level 2 im Prozessbereich Monitoring and Control die Überwachung und Steuerung der Produktqualität im Fokus. Die metrikbasierte Überwachung ermöglicht eine zeitnahe Reaktion. Auf Level 3 wird im Prozessbereich Peer Reviews die frühe Inaugenscheinnahme von Artefakten und entsprechend frühe Korrekturmöglichkeiten adressiert.

3. Weg: Kontinuierliches Lernen

Image
DevOps_Weg_3

Über ständiges Experimentieren und Ausprobieren sollen auf diesem Weg Teams den gegenwärtigen Prozess zugunsten von Verbesserungen regelmäßig in Frage stellen.

In TMMi wird dieser Weg ab Level 3 im Prozessbereich Testorganisation unterstützt. Dort ist das Sammeln von Verbesserungsvorschlägen angesiedelt. Wesentlich mehr Unterstützung für diesen Weg finden sich allerdings in den TMMi Level 4 und TMMi Level 5, vor allem im Prozessbereich Test Process Optimization.

Shift Left und Shift Down

Bild 2: Shift Left und Shift Down (schematische Darstellung von Rex Black in “DevOps Testing Evolution”, TMMi Testformation Conference 2022)

Image
TMMi_Shift_Left_Shift_Down
Bild 2: Shift Left und Shift Down (schematische Darstellung von Rex Black in “DevOps Testing Evolution", TMMi Testformation Conference 2022)

Um Synergien zu heben, macht es nach Rex Black Sinn, die Einführung von DevOps mit der Einführung von TMMi Level 4 und TMMi Level 5 zu verbinden. Rex Black ist einer der bekanntesten Testexperten in den USA und war über Jahre auch Präsident des ISTQB. DevOps und TMMi verfolgen nach Rex Black dieselben Ziele, nämlich frühzeitige Fehlerentdeckung (Shift Left) und Fehlervemeidung (Shift Down).

Für Rex Black werden mit den Level 2 und 3 in TMMi lediglich Basispraktiken abgedeckt. Sie sind unabhängig vom Entwicklungsmodell, und haben keine besondere Bedeutung für DevOps.

Deutliche Unterstützung erhält DevOps erst in den TMMi Level 4 und TMMi Level 5. Doch was ist nach Rex Black der Schwerpunkt der Testlevel 4 und 5 von TMMi:

“Testen deckt die Sicherung aller Aspekte der Qualität ab und ist voll integriert in alle Lebenszyklusaktivitäten, statisch und dynamisch. Metriken adressieren Effizienz und Effektivität von Teams, Projekten und Prozessen sowie der Produktqualität (funktional und nicht-funktonal). Testen wird mit den Entwicklungs-, Security und Betriebsprozessen basierend auf den gesammelten Metriken optimiert. In DevOps und DevSecOps Kontexten, richtig angewandt, wird Testen voll in die Entwicklung, in Sicherheits- und Betriebsprozesse integriert. Das Zusammenspiel der an DevOps beteiligten Teams muss mit eingesetzten Prozessbereichen zusammenpassen.“

Wie an vielen Stellen von DevOps ist der Abbau von Silos für ein solches Vorgehen entscheidend. Das Zusammenspiel des TMMi Level 4 und TMMi Level 5 mit vergleichbaren Prozessen in den anderen beteiligten Einheiten ist dabei implizit erforderlich.

Tools, Testautomatisierung und Test Maturity Model Integration (TMMi)

Kritiker möchten vielleicht einwenden:

“TMMi hat keinen Prozessbereich, der Testtools gewidmet ist - DevOps braucht aber Tools, um effektiv zu sein.“

Ein erfahrener Assessor würde entgegnen, TMMi definiert, was zu tun ist, aber nicht wie. TMMi erlaubt, Tools zu nutzen, abhängig von den aktuellen Testnotwendigkeiten. Es gibt viele Tools, mit denen TMMi umgesetzt werden kann.

“TMMi hat keinen Prozessbereich, der die Testautomatisierung behandelt - damit DevOps effektiv sein kann, ist Testautomatisierung aber ein Muss.”

Hier würde der Assessor anführen, dass Testautomatisierung in TMMi zwar tatsächlich kein Muss ist. In TMMi wird Testautomatisierung allerdings in verschiedenen Prozessbereichen behandelt. Bei einem Assessment ist der Grad der Automatisierung und die Effektivität der Automatisierung in Augenschein zu nehmen. Sind im untersuchten Einsatzumfeld Regressionstests erforderlich oder wird TDD eingesetzt, wird Testautomatisierung voraussichtlich vom Assessor erwartet und ein Fehlen bei der Bewertung des Testprozesses als Mangel festgehalten.

Fazit

TMMi (Test Maturity Model Integration) und DevOps scheinen auf den ersten Blick nicht unbedingt zueinander zu passen. Testen ist aber in der Delivery-Pipeline oder allgemein gesprochen in der DevOps Wertschöpfungskette ein integraler Bestandteil. Einzelne Prozessbereiche und Ziele von TMMi können auf den drei Wegen von DevOps unterstützend eingesetzt werden, auf den Wegen eins und zwei sogar ab TMMi Level 2. Rex Black sieht demgegenüber die größten Synergien in einer parallelen Einführung von DevOps und TMMi Level 4 und TMMi Level 5. Auf diesen Stufen unterstützt TMMi Shift Left (Fehler so früh wie möglich finden) und Shift Down (Fehlervermeidung) vollumfänglich.

Nicht unbedingt optimal mag erscheinen, dass in DevOps wichtige Themenbereiche wie Tools und Testautomatisierung von TMMi zwar adressiert, aber nicht fokussiert in einem eigenen Prozessbereich behandelt werden. Da bei DevOps kontinuierliche Verbesserung aber ein Dauerthema ist, gehört auch die stete Verbesserung des Testprozesses zu den Daueraufgaben. Und diesbezüglich ist TMMi, Test Maturity Model Integration, eine gute Wahl!

Veröffentlicht am 25.März 2024

Aktualisiert am 16.Mai 2024

Markus Thaler

Senior Testmanager, Testarchitekt

Markus Thaler war 22 Jahre in der Commerzbank tätig, wo er sich mehr als 10Jahre um Teststandards, Testwerkzeuge und Testautomatisierung in einer zentralen Funktiongekümmert hat, bevor er nach einer Zwischenstation im Testinfrastrukturmanagement achtJahre als Testmanager in der Risikofunktion der Commerzbank gewirkt hat. Vor derCommerzbank konnte er Testerfahrungen bei Lufthansa, Siemens, Nestle und der DZ-Bankgewinnen. Aktuell ist er als Senior Testmanager und Testarchitekt bei Qytera tätig.

Finden Sie weitere interessante Artikel zum Thema: