Test Gap Analyse

Die Test Gap Analyse kombiniert Informationen über Codeänderungen and Testcoverage
und deckt dadurch kritische Änderungen auf, die kein Test abgedeckt hat.
Durch diese Analyse können Sie Testaufwände gezielt priorisieren und
Fehler werden früh im Releasezyklus entdeckt statt erst beim Kunden.

Overview of test gap analysis for a list of issues and a single issue
Hintergrund

Wo treten Fehler im Code auf?

Fehler treten oft in den Code-Bereichen auf, die kurzlich geändert wurden. Test-Gap-Analyse zeigt, welche Änderungen noch nicht getestet wurden. Dadurch können solche Fehler gezielt vermieden werden.

Ungetestete Änderungen

Fehler bleiben durch Test-Gaps unerkannt

Die Erkenntnis, dass neuer oder geänderter Code häufig Fehler verursacht, ist nicht neu. Daher legen Tester großen Wert darauf, neue und geänderte Funktionalität gründlich zu testen. Das klappt leider nicht zuverlässig.

In einer Studie mit der Munich Re haben wir zwei Releases eines betrieblichen Informationssystems begleitet. In beiden Releases wurden über 50% der Änderungen nicht getestet. Diese ungetesteten Änderungen hatten eine 5x höhere Fehlerwahrscheinlichkeit.

Diese Lücke im Test, durch die über die Hälfte der Änderungen ungetestet geblieben sind, wäre ohne Tool-Unterstützung bis zum Release unerkannt geblieben - obwohl die Munich Re einen sehr strukturierten, mehrstufigen Testprozess einsetzt. Die Ursache für diese Test-Gaps ist, dass die Informationen über Änderungen über verschiedene Systeme und Teams verteilt sind. Zudem sind sie meist unvollständig.

Test-Gap-Analyse zeigt lückenlos alle ungetesteten Änderungen auf, damit Sie diese Lücken vor dem Release schließen können.

Automatisierung

Test-Gaps automatisiert erheben

Test-Gap-Analyse verbindet mehrere Datenquellen, um ungetestete Änderungen vollautomatisch und lückenlos zu ermitteln.

Code-Änderungen werden über den Vergleich von verschiedenen Versionen im Versionskontrollsystem (z.B. Git oder Subversion) ermittelt.

Tests werden mit sogenannten Coverage-Profilern analysiert, die im Hintergrund aufzeichnen, welcher Code durchlaufen wird. Sie lassen sich für alle Arten von Tests einsetzen, auch für manuelle Tests. Dies ist für alle gängigen Technologien, Plattformen und Programmiersprachen möglich.

Die Test-Gap-Analyse verbindet die Informationen über Code-Änderungen und getesteten Code, um alle ungetesteten Code-Änderungen aufzudecken.

Aus Managersicht

Test-Gaps für das gesamte System

Als Testmanager:in möchte ich vor einem neuen Release sehen, welche Test-Gaps in meiner Code-Basis insgesamt vorkommen.

Das ermöglicht mir eine risikobasierte Entscheidung, welche Test-Gaps noch vor dem Release geschlossen werden müssen.

Hierfür ermittelt die Test-Gap-Analyse alle Änderungen zwischen dem letzten Release (das gerade beim Anwender läuft) und dem neuen Release.

Aus Testersicht

Test-Gaps für einzelne Features

Als Tester:in möchte ich mich in der täglichen Arbeit auf die Test-Gaps in der Funktionalität fokussieren, die ich gerade teste.

Die Test-Gaps auf der Ebene von Features zeigen auf, welcher Code bei der Implementierung eines Features verändert, aber bisher nicht getestet wurde.

In unserem eigenen Entwicklungsprozess ist ein Teil der „Definition of Done“ eines Features, dass es keine Test-Gaps mehr aufweisen darf.

Dr. Elmar Jürgens
Erfahrungsaustausch

Möchten Sie sich zu Test-Gap-Analyse austauschen?

Jede komplexe Analyse wirft Fragen auf. Ist Sie bei Ihnen überhaupt anwendbar? Welche Erfahrungen haben andere Firmen in Ihrer Branche mit Test-Gap-Analyse gemacht? Werden die Technologien unterstützt, die Sie einsetzen? usw.

Ich beschäftige mich seit 10 Jahren mit Test-Gap-Analyse. In Forschungsarbeiten, in Vorträgen auf Fachkonferenzen, in Gesprächen mit Testern und Test-Managern und in Zusammenarbeit mit Kunden, die sie seit Jahren einsetzen.

Ich biete mich Ihnen hierzu gerne als Gesprächspartner an. Nehmen Sie Kontakt auf, ich freue mich auf unseren Austausch :-)