Test Intelligence für manuelle Tests

Dr. Elmar Jürgens

Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

Zusammenfassung

Manuelle Tests wirken altmodisch, aufwändig und langsam: Im Vergleich zu automatisierten Tests haben sie einen sehr hohen manuellen Aufwand für die Durchführung. Test-Phasen dauern damit oft Wochen statt Stunden und verhindern dadurch potentiell kürzere Release-Zyklen.

Trotzdem spielen sie bei vielen missionskritischen Softwaresystemen eine entscheidende Rolle in der Qualitätssicherung: Weil sich einige Tests nicht oder nur mit unverhältnismäßig hohem Aufwand automatisieren lassen, oder weil manuelle Tests komplementär zu automatisierten eingesetzt werden, um andere Fehlertypen zu finden, etc. Unser Survey unter 38 Testern aus 16 internationalen Firmen hat aufgezeigt, dass diese Firmen auch weiterhin manuelle Tests als integralen Bestandteil ihres QS-Prozesses sehen und beibehalten werden.

In diesem Vortrag möchte ich Analysetechniken vorstellen, um den Aufwand und die Durchführungszeit von manuellen Tests zu optimieren. Diese Techniken sind ursprünglich für automatisierte Tests entwickelt worden, lassen sich aber auch für manuelle Tests adaptieren. Da die Kosten für die manuelle Ausführung oft viel höher sind als bei automatisierten Tests, erzielen sie oft bei manuellen Tests die viel höheren Ersparnisse.

Ich gehe im Vortrag unter anderem auf folgende Analysen ein:
•    Test-Priorisierung: Selektionsalgorithmen, die eine Teil-Testsuite ermitteln, die in kurzer Zeit einen möglichst großen Teil der Funktionalität testet. Diese „optimale Smoke-Test-Suite“ kann am Anfang einer Testphase ausgeführt werden, um zu verhindern, dass eine sehr fehlerhafte Version einer Software in den manuellen Test kommt, wo sich viele Fehler gegenseitig überdecken.
•    Test-Impact-Analyse: Auswahl der Tests, die eine spezifische Änderung am Code durchlaufen. Dadurch können bei Hotfix-Tests in kurzer Zeit neue Fehler gefunden werden, die ggf. durch den Hotfix entstanden sind.
•    Test-Gap-Analyse: Aufdeckung von Änderungen/neuen Features, die im manuellen Test übersehen und nicht getestet wurden (oder sich nach dem manuellen Test ergeben haben, und die Wiederholung des Tests erfordern).

Im Vortrag stelle ich sowohl die Grundlagen und Grenzen dieser Analysen vor, als auch Erfahrungen und Erfolge im Einsatz in der Praxis.

 

Dr. Elmar Jürgens