Christoph Lordieck
25. Juni 2021

Testmanagement

Testmanagement Testmanagement meint die Koordination aller Tätigkeiten im gesamten Testprozess einer Softwarelösung. Dadurch werden die Kosten einer Software über den gesamten Lebenszyklus verringert und die Unsicherheit bezüglich Softwarefehlern minimiert.

Der Testprozess nach ISTQB

ISTQB steht für International Software Testing Quality Board. Dabei handelt es sich um eine gemeinnützige Zertifizierungsstelle für Softwaretester, die eine über viele Jahre entwickelte, standardisierte Ausbildung für professionelle Softwaretester erarbeitet hat. Es gibt landesspezifische Member Boards der ISTQB in über 59 Ländern weltweit.

E-Book Testmanagement im SAP Solution Manager

E-Book SAP Solution Manager im Testmanagement

Kompendium: Testmanagement mit dem Solution Manager - 6 Schritte zum effizienten Testmanagement.

Der Testprozess nach ISTQB läuft über die folgenden Phasen:

  • Incident Management
  • Problem Management
  • Change Management
  • Release Management
Testprozess

Abbildung 1: Der offizielle Testprozess nach ISTQB

Die dazugehörigen Aktivitäten über Planung, Spezifikation, Durchführung der Test, Protokollierung und Auswertung werden nach ISTQB in die folgenden Gruppen eingeordnet:

  • Testplanung und -steuerung
  • Testanalyse und -design
  • Testrealisierung und -durchführung
  • Testauswertung und -bericht
  • Abschluss
Aktivitätsgruppierungen

Abbildung 2: Aktivitätsgruppierungen im Testmanagement nach ISTQB

Das Testmanagement umfasst innerhalb dieser Gruppen viele einzelne Aktivitäten:

  • Die Erstellung eines Testkonzepts mit Vorgaben/Zielen zur Testabdeckung, Akzeptanzkriterien von Tests, durchzuführenden Testarten, die Testumgebung/Testsysteme etc.
  • Testdefinition und Festlegung der Testinhalte
  • Bereitstellung von Testdaten
  • Koordination von Ressourcen und des Testteams
  • Die Teststeuerung und Überwachung der Durchführung
  • Das Defect-Management = die Nachverfolgung der Analyse und ggf. Behebung von unerwarteten Testergebnissen
  • Das Reporting über entsprechende Berichte

Defect vs. Fehler

Eine wichtige Unterscheidung im Testmanagement findet zwischen den Begriffen „Defect“ und „Fehler“ statt. Ein Defect (in der Software-Welt „Bug“ genannt) bezeichnet ein Fehlverhalten bzw. unerwartetes Verhalten einer Anwendung. In einem Testfall ist ein Defect ein Testergebnis, das nicht dem erwarteten Ergebnis entspricht. Ein Fehler ist die Defect-Ursache, z. B. die fehlerhafte Zeile im Quelltext der Applikation, die zu dem Fehlerverhalten geführt hat.

Mit Hilfe eines Tests werden Defects ermittelt. Bei der Analyse der Defects werden möglicherweise Fehler gefunden.

Ziele des Testmanagements

Es gibt zwei Hauptziele, die mit Testmanagement verfolgt werden:

  1. Software-Fehler so früh wie möglich aufdecken
  2. Die Unsicherheit bezüglich der Software-Qualität minimieren

Software-Fehler so früh wie möglich aufdecken

Bei der Entwicklung, Anpassung oder Installation von Software wird häufig recht spät getestet. Das führt dazu, dass eine angemessene Reaktion auf gefundene Defects oder echte Fehler erst spät vorgenommen werden kann. Die Kosten, die dadurch entstehen, steigen exponentiell an, je später ein Defect gefunden und behandelt wird. Die folgende Grafik zeigt die entstehenden Kosten zur Fehlerbehebung (rote Kurve) im Verhältnis zum Zeitpunkt, an dem ein Defect gefunden wurde (orange Kurve). Der tatsächliche Fehler und damit die Ursache für den Defect ist häufig aber schon zu Beginn des Projekts eingebaut worden (blaue Kurve).

Fehlerbehebung

Abbildung 3: Kosten der Fehlerbehebung im Verhältnis zum Zeitpunkt der Defect-Aufdeckung

Das heißt im Umkehrschluss: Je früher ein Defect gefunden und der Fehler behoben werden kann, desto günstiger ist die Fehlerbehebung.

Die Unsicherheit bezüglich der Software-Qualität minimieren

Eine falsche Annahme wäre, dass durch genügend Tests nachgewiesen werden könne, eine Software sei fehlerfrei. Die Wirtschaftlichkeit macht dieser Annahme einen Strich durch die Rechnung: eine Testabdeckung von 100 % bei mittlerer Software-Komplexität ist häufig schon sehr aufwändig und damit teuer. Testmanagement hat daher zum Ziel, die Unsicherheit, ob eine Software kritische Fehler enthält oder nicht, soweit zu minimieren, dass einer Produktivsetzung zuversichtlich entgegengesehen werden kann. Das kann durch verschiedene Parameter wie eine ausreichende Testabdeckung, Durchführung verschiedener Testarten oder auch möglichst produktivnahe Testdaten unterstützt werden. Testmanagement hat nicht zum Ziel, nachzuweisen, dass die Software keine Fehler mehr enthält.

Vorteile von strukturiertem Testmanagement

Mit strukturiertem Testmanagement mit klaren Aufgaben, Rollen und Verantwortlichkeiten gehen üblicherweise viele Vorteile einher. Dazu gehören unter anderem:

  • Kostenreduktion über den gesamten Software-Lebenszyklus aufgrund früher Defect-Identifikation und geringeren Wartungsaufwänden durch wiederholbare Tests und Klarheit bzgl. der Anforderungen, die zu testen sind
  • Bessere Planbarkeit der Testphasen durch bekannte Testumfänge
  • Personenunabhängige Tests durch ausreichende Testfalldefinition und -dokumentation, was sogar ein Outsourcing des Testens ermöglicht
  • Stetige Verbesserung der Softwarequalität durch eine stetige Verbesserung des Testmanagements
  • Die Option, die strukturierten Testfälle über Testautomatisierung ablaufen zu lassen und damit weitere Zeit und Ressourcen freizuräumen.

Wenn Sie mehr zum Potenzial von Testmanagement für Ihre Projekte und Releases erfahren möchten, empfehle ich Ihnen unser kostenloses Webinar zum Thema.

Rollen im Testmanagement

Es gibt verschiedene Rollen, die im Testmanagement unterschieden werden. Der Detailgrad der Unterscheidung ist abhängig vom Level der Betrachtung. Für die Zertifizierung ISTQB Certified Tester Foundation werden nur zwei Rollen unterschieden:

Testmanager

Ein Testmanager ist verantwortlich für den gesamten Testprozess und die erfolgreiche Durchführung der Testaktivitäten. Da es sich hierbei um eine koordinative bzw. Manager-Aufgabe handelt, kann diese von verschiedenen Personen übernommen werden, unter anderem von einem professionellen Testmanager oder auch von einem Projektleiter.

Typische Aufgaben eines Testmanagers umfassen:

  • Teststrategie und -vorgaben für das Unternehmen festlegen,
  • Erstellen und aktualisieren von Testplänen,
  • Koordination der Testpläne zwischen verschiedenen Stakeholdern,
  • Einplanen und Anstoßen der verschiedenen Testaktivitäten wie Testanalyse, Testdesign, Testimplementierung und Testdurchführung,
  • Monitoring des Testfortschritts und der Testergebnisse,
  • Reporting über Testfortschritt und -ergebnisse.

Das ist nur ein Ausschnitt – je nach Größe des Projekts/des Unternehmens, Anforderungen an das Testmanagement und verfügbare Zeit des Rolleninhabers können weitere Aufgaben dazukommen oder die genannten Aufgaben umpriorisiert werden.

Tester

Entgegen der ersten Intuition führt ein Tester nicht nur Tests durch, sondern übernimmt die operativen Aufgaben im Testprozess. In manchen Rollenmodellen wird noch deutlich zwischen z. B. einem Testdesigner, einem Testautomatisierer, einem Testarchitekten und weiteren Rollen unterschieden. Diese werden hier nicht näher beleuchtet, decken aber jeweils Teilaspekte der Testaktivitäten in einer Spezialisierung ab.

Typische Aufgaben eines Testers umfassen:

  • Prüfen der Anforderungen (= Requirements), Spezifikationen und Akzeptanzkriterien auf Testbarkeit
  • Identifizieren und Dokumentieren von Testvoraussetzungen
  • Erstellen und Implementieren von Testfällen und Testprozeduren
  • Erstellung des detaillierten Testausführungsplans
  • Tests automatisieren

Je nach Aufteilung der Aufgaben können auch die Bereitstellung der Testumgebung mit geeigneten Testdaten in die Aufgaben des Testers fallen.

Testmanagement-Normen

Über viele Jahre wurde Testmanagement systematisiert und damit auch normiert. Die erste Norm in diesem Bereich ist die ANSI/IEEE 829 „Standard for Software and System Test Documentation“, die mittlerweile in der Version 829-2008 vorliegt und die Bestandteile eines Testprozesses beschreibt.

Daraus hervorgegangen ist die Norm ISO/IEC/IEEE 29119 Software Testing, die international einige Normen des Softwaretestens zusammenfasst und damit auch ersetzt. Die Norm ist fünf Teile unterteilt, die Konzepte, Testprozess, Testdokumentation, Testtechniken und „Keyword Driven Testing“ beschreiben. An dieser Software-Norm orientiert sich auch der De-Facto-Standard des ISTQB.

Im Bereich der Softqualität gibt die ISO/IEC 9126 Qualitätsziele vor, die durch den Testprozess und entsprechende Messung der Kriterien erreicht werden sollen. Die sechs Kriterien der Softwarequalität sind Funktionalität, Zuverlässigkeit, Benutzbarkeit, Effizienz, Änderbarkeit und Übertragbarkeit. Diese Norm wurde mittlerweile durch ISO/IEC 25000 „Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Guide to SQuaRE” ersetzt.

Abhängig von der Branche eines Unternehmens kann es noch weitere Normen geben, die auch gesetzlich verankert sein können. Ein Beispiel dafür ist die Richtlinie MDD 93/42/EWG für die Medizin- und Pharmatechnik. MDD steht dabei für Medical Device Directive. Sie macht Vorgaben zur Validierung, Testdokumentation und vielen weiteren Punkten im Prozess der Software- und Produkt-Entwicklung. Ein anderes Beispiel ist die MaRisk (Mindestanforderungen an das Risikomanagement) gekoppelt mit der BAIT (Bankaufsichtliche Anforderungen an die IT) als Richtlinien der BaFin, die auch Vorgaben zu Testanforderungen beinhalten.

Abgrenzung: Testmanagement und Testautomatisierung

Häufig werden die Begriffe Testmanagement und Testautomatisierung inhaltlich durcheinandergeworfen. Das Testmanagement umfasst auf der einen Seite die Koordination aller Tätigkeiten im gesamten Testprozess. Zu großen Teilen liegen hier steuernde Aufgaben.

Die Testautomatisierung bezeichnet auf der anderen Seite lediglich die Automatisierung der Testdurchführung verschiedener Testarten. Diese geschieht häufig über Software-Unterstützung in Form von Frameworks wie Selenium, Cucumber, Unit-Testing oder auch Tools wie Worksoft Certify, Tricentis Tosca und Microfocus UFT. Das richtige Tool hängt hier sehr stark von den zu automatisierenden Testarten und Systemen/Anwendungen ab, auf die das Tool zugreifen muss.

Testmanagement-Tools

Im Bereich Testmanagement gibt es viele kleinere und größere Tools, die den gesamten Testprozess unterstützen. Dabei gibt es nicht „die eine richtige Lösung“ – auch hier, wie bei der Testautomatisierung, hängt es sehr stark von Ihrer bestehenden Landschaft, den Must-Have-Kriterien und auch der Planung in Richtung Automatisierung ab, was sich für Sie eignet. Einige populäre Vertreter sind:

  • SAP Solution Manager Test Suite (im SAP-Kontext)
  • JIRA mit dem Testmanagement-Plugin XRAY, Zephyr oder qTest
  • Microfocus ALM/QC
  • Aqua-cloud.io als Hersteller-unabhängige Cloud-Alternative
  • com

Haben Sie noch offene Fragen rund um strukturiertes Testmanagement oder Tools zur Unterstützung des Testprozesses? Kontaktieren Sie mich gerne, damit ich Sie in einem unverbindlichen Gespräch beraten kann!

Beitragsbild-So sparen Sie mit Testmanagement Zeit und Ressourcen
In diesem Webinar zeigen wir Ihnen, wie Sie mit einem systematischen Testmanagement schnell und gezielt Fehler minimieren und die Qualität Ihrer Software erhöhen können. 
Lordieck

Websession: Testmanagement

Sollten Sie Fragen zu uns und unserer Arbeit oder konkret zu Umstellungsprojekten haben, dann vereinbaren Sie eine kostenlose Websession mit uns.

Christoph Lordieck

Christoph Lordieck

Mein Name ist Christoph Lordieck. Einige Jahre Projekt- und Umsetzungserfahrung hat meinen Wissenshunger noch nicht gestillt und ich suche ständig nach neuen Themen und technischen Entwicklungen im ABAP Umfeld. Ich freue mich auf Ihre Frage oder Anregung!

Sie haben Fragen? Kontaktieren Sie mich!


Das könnte Sie auch interessieren

Preise werden insbesondere im Handel stark durch zusätzliche Absprachen mit den Lieferanten beeinflusst. Abhängig vom Umsatz oder bestimmten Dienstleistungen gibt es Rückzahlungen vom Lieferanten, die häufig einen großen Teil der […]

weiterlesen

Die Erläuterung eines jeden Akronyms (Abkürzung) beginnt meist mit dessen Aufschlüsselung, um so aus den einzelnen Begriffen die ursprüngliche Bedeutung schlusszufolgern. In diesem Fall jedoch entsteht folgendes Horrendum des IT-Berater Fachjargons.

weiterlesen

Im letzten Blogartikel Wie gestalte ich meine CDS-View Architektur haben wir uns mit den Best Practices der CDS-Architektur zum Aufbau innerhalb des Systems beschäftigt. Der nächste Schritt um alle Funktionalitäten […]

weiterlesen

Mehr von unseren Partnern


Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice