TMap (Test Management Approach) ist ein Modell im Bereich des Testens und der Qualitätssicherung von Software, in der alle anfallenden Aspekte, das Umfeld und die Vorgehensweise strukturiert werden.

Damit ist TMap spezieller als Prozessmodelle wie ITIL oder das V-Modell, die den gesamten Prozess der Softwareentwicklung betrachten. Veröffentlicht wurde es 1995 von Martin Pol, Ruud Teunissen und Erik van Veenendaal. TMap ist eingetragenes Warenzeichen von Sogeti Nederland B.V. und ist Standard in vielen Organisationen weltweit. Es kann TPI® (Test Process Improvement) aus derselben Unternehmensgruppe gegenübergestellt werden. Während TMap die Tests selbst strukturiert, will TPI® den gesamten Testprozess optimieren. Damit befindet sich TPI® auf der Management-Ebene, während TMap im konkreten Projekt eingesetzt werden soll. Dabei basiert TMap auf praktischer Erfahrung und stellt damit keine theoretische, sondern eine pragmatische Methode dar.

Kernbereiche von TMap

Bearbeiten

Der Testprozess wird in 4 Bereiche, die sogenannten Kernbausteine unterteilt:

  1. Geschäftsbasiertes Testmanagement
  2. Vollständig strukturierter Testprozess
  3. Vollständiger Werkzeugsatz
  4. Adaptiver, flexibler Testprozess

Vorteile von TMap:

  • TMap beruht auf der Erfahrung aus einer Vielzahl von Projekten
  • berücksichtigt aktuelle Trends
  • fokussiert auf den Testprozess
  • optimiert Risikoabdeckung und Testtiefe
  • maximiert Einbindung der Teilhaber

Geschäftsbasiertes Testmanagement (BDTM)

Bearbeiten

Die Auswahl der Testfälle geschieht aufgrund folgender Überlegungen: welche Risiken gibt es, was soll das Ergebnis sein, wie viel Zeit darf das Testen in Anspruch nehmen und was wird es kosten. Aufgrund dieser Überlegungen, die in Absprache mit dem Kunden getroffen werden, unterstützt TMap den Geschäftsprozess und ist nah am Kunden.

Merkmale des BDTM-Ansatzes:

  • Gesamtaufwand für das Testen bezieht sich auf Risiken des Systems, das für eine Organisation getestet werden soll. Der Einsatz von Menschen, Ressourcen und Budget konzentriert sich auf die Teile des Systems, die für die Organisation am wichtigsten sind. TMap bietet die Möglichkeit festzustellen wie viele Risiken durch den gewählten Test abgedeckt werden und so das Restrisiko abzuschätzen.
  • Der geschätzte Aufwand und die Planung des Testprozesses sind eng mit der festgelegten Teststrategie verbunden. So kann leicht auf Änderungen eingegangen werden, da immer ein Plan zur Verfügung steht wie viel Zeit, Budget und Ressourcen benötigt werden.
  • Der Kunde wird in den Testablauf eingebunden, so kann auf die Wünsche des Kunden besser eingegangen werden. Ein BDTM Ansatz kann auch die Konsequenzen zukünftiger und vergangener Entscheidungen sichtbar machen.

Vollständig strukturierter Testprozess

Bearbeiten

Der strukturierte Testprozess ist untergliedert in:

  • Masterplan und Management des gesamten Testprozesses
  • Abnahme- und Systemtests
  • Entwicklertests

Masterplan

Bearbeiten

Damit im gesamten Testablauf nicht unnötig doppelt getestet wird, wird der sogenannte Masterplan in Zusammenarbeit mit dem Kunden erstellt. Der Testmanager legt also in Abstimmung mit dem Kunden und anderen Interessenvertretern die Verteilung fest, was in welcher Teststufe mit welcher Intensität getestet wird. Das Ziel ist dabei, die wichtigsten Fehler so früh und so wirtschaftlich wie möglich zu entdecken. Der Mastertestplan bildet die Grundlage für die Testpläne der einzelnen Teststufen.

Aktivitäten:

  1. Formulierung des Auftrags
  2. Verständnis für den Auftrag
  3. Produktrisiken
  4. Festlegen der Teststrategie
  5. Aufwandsabschätzung
  6. Festlegung der Planung
  7. Festlegen der Testprodukte
  8. Festlegung der Orientierung
  9. Definition der Infrastruktur
  10. Organisation-Management
  11. Bestimmung der Testprozessrisiken und Gegenmaßnahmen
  12. Rückmeldung und Konsolidierung des Plans

Abnahme- und Systemtest

Bearbeiten

Abnahme- und Systemtests werden als autonome Prozesse betrachtet. Sie haben ihren eigenen Testplan, ihr eigenes Budget und oft auch eine eigene Testumgebung.

Entwicklertest

Bearbeiten

Entwicklertests sind Tests, bei denen Kenntnisse über die technische Implementierung des Systems vonnöten sind. Entwicklertests werden bei TMap nicht als autonomer Prozess betrachtet. Der Entwickler führt die Tests selber aus.

Aufgliederung des Phasenmodells

Bearbeiten

Wie ein Systementwicklungsprozess besteht ein Testprozess aus einer Reihe verschiedener Aktivitäten. Die verschiedenen Aktivitäten werden im Phasenmodel dargestellt. Es gibt folgende Phasen:

  • Planungsphase
  • Steuerungsphase
  • Einrichtung und Wartung der Infrastruktur
  • Vorbereitungsphase
  • Spezifikationsphase
  • Durchführungsphase
  • Abschlussphase

Planungsphase

Bearbeiten

Die Planungsphase legt die Basis für einen beherrschbaren und qualitativ hochwertigen Testprozess. Deshalb ist es wichtig, mit dieser Phase so früh wie möglich zu beginnen.

Aktivitäten:

  1. Formulierung des Auftrags
  2. Verständnis für den Auftrag
  3. Bestimmung Testbasis
  4. Analyse der Produktrisiken
  5. Festlegung Teststrategie
  6. Aufwandsabschätzung
  7. Festlegung der Planung
  8. Zuweisung Testeinheiten und Testtechniken
  9. Festlegung der Testprodukte
  10. Festlegung der Organisation
  11. Definition Infrastruktur
  12. Organisation des Managements
  13. Bestimmung der Testprozessrisiken und Gegenmaßnahmen
  14. Rückmeldung und Konsolidierung

Steuerungsphase

Bearbeiten

Der primäre Testprozess wird selten nach Plan durchgeführt, dementsprechend muss die Durchführung des Testplans überwacht und ggf. angepasst werden. Dieses geschieht in der Steuerungsphase.

Aktivitäten:

  1. Management
  2. Überwachung
  3. Berichtswesen
  4. Anpassung

Einrichtung und Wartung der Infrastruktur

Bearbeiten

Hier wird für die notwendige Testinfrastruktur und die erforderlichen Ressourcen gesorgt. Dabei wird zwischen Testumgebungen, Testwerkzeugen und Arbeitsplätzen unterschieden.

Aktivitäten:

  1. Spezifikation der Infrastruktur
  2. Aufbau Infrastruktur
  3. Spezifikation der Annahme der Infrastruktur
  4. Annahme der Infrastruktur
  5. Wartung der Infrastruktur
  6. Konservierung der Infrastruktur

Vorbereitungsphase

Bearbeiten

Hier wird zuallererst ein Testbarkeitsreview der Testbasis durchgeführt. Das Ziel dieser Phase ist es, an eine Testbasis mit entsprechender Qualität zu kommen.

Aktivitäten:

  1. Zusammenstellung der Testbasis
  2. Erstellung von Checklisten
  3. Bewertung der Testbasis
  4. Erstellung Reviewbericht zur Testbarkeit

Spezifikationsphase

Bearbeiten

Die Spezifikationsphase legt die benötigten Tests und deren Ausgangssituation(en) fest. Das Ziel ist es so viel wie möglich vorzubereiten, sodass die Tests so schnell wie möglich durchgeführt werden können, wenn die Entwickler das Testobjekt ausliefern.

Aktivitäten:

  1. Erstellung Testdesign
  2. Definition Startpunkte
  3. Spezifikation Testobjektannahme

Durchführungsphase

Bearbeiten

Das Hauptziel der Durchführungsphase ist es einen Einblick in die Qualität des Testobjekts zu bekommen, indem die vereinbarten Tests durchgeführt werden.

Aktivitäten:

  1. Annahme Testobjekt
  2. Vorbereitung der Startpunkte
  3. Ausführung der Tests und Retests
  4. Prüfung und Bewertung der Testergebnisse

Abschlussphase

Bearbeiten

TMap bietet viele Vorzüge bezüglich Wiederholbarkeit von Prozessen. Ziel dieser Phase ist es, die Produkte der Durchführungsphase zu konservieren, sodass sie später wiederverwertet werden können, Produkte können sein, Testfälle, Testumgebung, Erfahrungen und Bewertungen.

Aktivitäten:

  1. Bewertung des Testprozesses
  2. Konservierung der Testware

Vollständiger Werkzeugsatz

Bearbeiten

TMap unterstützt die korrekte Durchführung des strukturierten Testprozesses mit einem vollständigen Werkzeugsatz. Dieser konzentriert sich auf die Arbeit mit folgenden Themen:

  • Techniken: Wie wird getestet

Folgende Techniken stehen zur Verfügung:

  • Infrastruktur: Wo und womit wird getestet

Um testen zu können, sind eine Testumgebung, Testwerkzeuge und Arbeitsplätze notwendig.

  • Organisation: Wer testet

Strukturiertes Testen erfordert die Aufmerksamkeit auf folgende Punkte:

  • Testrichtlinien
  • Permanente Testorganisation
  • Testorganisation im Projekt
  • Testexperten
  • Testrollen

Adaptiver, flexibler Testprozess

Bearbeiten

TMap ist ein Ansatz der in allen Testsituationen und in Kombination mit allen Systementwicklungsmethoden angewandt werden kann. Die Anpassungsfähigkeit lässt sich durch vier Eigenschaften beschreiben:

  • Auf Änderungen reagieren
  • Produkte und Prozesse (wieder)verwenden
  • Aus Erfahrung lernen
  • Erst probieren, dann versuchen

Da heute Ansätze für IT-Entwicklungen extrem variabel sein können, werden hier einige Einsatzgebiete erwähnt, in denen TMap eingesetzt werden kann.

  • Auftraggeber-Lieferanten-Beziehung (Outsourcing)
  • Interaktiven, inkrementellen, Wasserfall- und agilen Ansätzen
  • Neuentwicklung, Wartung und Migration von Informationssystemen
  • Bei kombinierten Entwicklungsverfahren, wie inhouse, auf Basis der Wiederverwendung, Einsatz von Standardpaketen, Zusammenbau gekaufter Module, alles innerhalb einer einzigen IT-Architektur
  • Zur Abdeckung nicht funktionaler Anforderungen des Informationssystems im Testverfahren
  • In Situationen, bei denen den Kommunikationsprozessen und den zugehörigen Fähigkeiten viel Aufmerksamkeit geschenkt werden muss

Literatur

Bearbeiten
  • Tim Koomen, Leo van der Aalst, Bart Broekman, Michiel Vroon: TMap Next. dpunkt, Heidelberg 2015, ISBN 978-3-89864-461-7.
  • Martin Pol, Tim Koomen, Andreas Spillner: Management und Optimierung des Testprozesses. 2, Auflage. dpunkt, Heidelberg 2002, ISBN 3-89864-156-2.
  • Bob Legrand: Q-Course Quality and Organization. Lulu Press, Morrisville 2004, ISBN 1-4116-1020-2.
  • Tim Koomen, Rob Baarda: TMmap Test Topics. Tutein Nolthenius, 's-Hertogenbosch 2005, ISBN 90-72194-75-6.
  • Joseph K. Berry: TMap, Version 3.2 (Software). Wiley, Hoboken 1996, ISBN 0-470-23704-X.
Bearbeiten