Testmanagement in der Praxis: Drum prüfe, wer den Fehler findet

Inhaltsübersicht:

Ohne Fachwissen gäbe es keine Software, aber ohne Kommunikation gäbe es niemand der sie benutzt. Deshalb müssen Testmanager sowohl hard- als auch soft-skills beherrschen.

Sie kennen zwar geeignete und anerkannte Methoden, aber bleiben trotzdem neugierig, probieren öfter mal aus und entscheiden dann selbst, welcher Weg zum Ziel der Beste ist.

Testmanagement ist inzwischen ein integraler Bestandteil eines jeden Software(weiter)entwicklungsprozesses. Daran besteht kein Zweifel mehr. Aber auch wenn Unternehmen die Bedeutung der Qualitätssicherung erkannt haben, unterschätzen sie nicht selten das Know-how, welches für strukturiertes Testmanagement benötigt wird.

Die Anforderungen an die Beteiligten der Test-Teams sind deshalb ebenso hoch wie die an Entwickler. Ohne ein methodisches Vorgehen werden Testfälle übergangen oder die Richtigen werden nicht gefunden. Auch bleiben gefundene Fehler im Rahmen freier Tests ohne strenge Methodik auf der Strecke.

Ein geplantes und strukturiertes Vorgehen zeichnet sich durch eine rechtzeitige Festlegung der Testaufgaben aus. Hauptbestandteile eines Testkonzepts sind:

  • ein in Stufen eingeteilter Testprozess
  • definierte Testmethoden und -ziele
  • zu testende Objekte inkl. Beschreibung
  • eine festgelegte Testorganisation sowie -infrastruktur inkl. der jeweiligen Werkzeuge

Funktion, Leistung und Sicherheit

Im Wesentlichen zielen alle Testaktivitäten auf zwei Bereiche der Softwareentwicklung ab: Funktionalität und nicht- funktionale Eigenschaften. Besonders wichtig sind dabei Performance und Sicherheit.

Getestet wird hierbei:

  • ob die Anwendung richtig funktioniert und die Anforderung des Fachbereiches bzw. des Kunden erfüllt wurden
  • wie performant der Umgang mit der Software möglich ist
  • ob die Anwendung gegen Angriffe gesichert ist.

Das erklärte Ziel im Test- und Qualitätssicherungsmanagement ist es, Fehler bzw. Abweichungen gegenüber den Anforderungen aufzudecken und eine substantielle Verbesserung der Softwarequalität in Zusammenarbeit mit den Entwicklern herzustellen.

Idealerweise können die Testexperten auch eine Risikoabschätzung durchführen, die sich durch den Einsatz im produktiven Umfeld ergeben könnte. Vom erfolgreichen Testmanagement profitieren nachhaltig immer mehrere Zielgruppen:

  1. Das produzierende Unternehmen erzielt durch verschiedene Tests in den jeweiligen Teststufen einen gewissen Reifegrad ihrer Software. Kinderkrankheiten und unnötige Fehler können korrigiert werden und schaffen Sicherheit für alle Projektbeteiligten, insbesondere für Entwickler und Projektleiter.
  2. Die Entwicklungsabteilung erspart sich aufwendige Nachtschichten.
  3. Der Kunde profitiert von einer stabilen Software und von neuen Funktionen gleichermaßen.

Ein strukturiertes Testmanagement liefert auch den Nachweis, dass jegliche Funktionalität und gegebenenfalls weitere Eigenschaften gemäß den Anforderungen umgesetzt wurden.

Selbst wenn sich etwas auf dem Weg von der vom Kunden formulierten Anforderung bis hin zur technischen Implementierung ändert (was immer der Fall ist!) und somit die Funktionen nicht immer hundertprozentig das Kundenbedürfnis abdecken, kann der Dreiklang aus einer grundsätzlich stabilen Anwendung, einem strukturierten Testmanagement und einem gutem Anforderungsmanagement, dem Kunden schnell zufriedenstellende Lösungen anbieten.


Als Testmanager arbeitet man fast immer in zu knappen Zyklen

Als Testmanager hat man es mit allen drei Beteiligten (Entwickler, Projektleiter, Kunden) zu tun und übernimmt in größeren Projekten häufig auch die Rolle eines Teilprojektleiters.

Für jedes Projekt bringt der Testmanager seinen „Werkzeugkasten“ mit, den er ständig erweitert und der mit den Anforderungen „mitwächst“. Dieser „Werkzeugkasten“ hilft mitunter auch in Zeitnot. Und die ist beim Testen eigentlich immer gegeben.

Oft als destruktive Tätigkeit angesehen, wird anfangs wenig Zeit für das Testen eingeplant. Meist wird kurz vor dem Releaseeinsatz bzw. der Produktionsübergabe gestartet und dann ist vom ursprünglich vorgesehenen Zeitraum meistens nur noch ein kleines Zeitfenster übrig.

Hier helfen Ansätze wie bspw. „Test First“ bzw. testgetriebene Entwicklung, bei der Testfälle streng vor den zu testenden Komponenten erstellt werden. Erst wenn diese Testfälle mittels der implementierten Funktion positiv verlaufen sind, wird weiter implementiert.

Nebenbei erzielt man hiermit auch eine höhere Testabdeckung als bei üblichen Black-Box-Tests. Weniger technisch, aber langfristig auch deutlich zeitsparender als übliche manuelle Tests ist das sogenannte „Keyword driven Testing“. Immer wiederkehrenden Abläufen und Objekten werden Schlüsselwörter zugewiesen, die die Wiederverwendbarkeit von Release zu Release erhöhen und den Anpassungsaufwand an den Testfällen deutlich senken.

Mit diesem Instrument aus dem „Werkzeugkasten“ streift man bereits den Bereich der Testautomatisierung, der in Zeiten immer kürzerer Releasezyklen, dynamischeren Kundenanforderungen und wechselnden Frontends deutlich an Bedeutung gewinnen wird.


Zwischen den Welten

Als Testmanager sitzt man an einer Schnittstelle zwischen Technik, Fachlichkeit und Kunde. Man muss auf der einen Seite nicht nur verstehen, was der Entwickler macht und unter Umständen auch mal Quellcode lesen können, sondern auch im kommunikativen Bereich sehr gute Fähigkeiten besitzen.

Sich mit den Technikern austauschen zu können und zu wissen wie Anwendungen und Infrastrukturen aufgebaut sind, um bei Fehlersuche erfolgreich zu sein, gehört ebenso zu den Herausforderungen wie gegenüber der Projektleitung und den Kunden aussagekräftig zu sein. Dabei sind die wichtigsten Informationen so zu formulieren, dass die entsprechenden Partner zwar gut informiert sind, aber auch nicht mit Details überfrachtet werden, falls es technische Probleme gibt.

Als Testmanager sollte man gerne ausprobieren, sich „reinfuchsen“ und das Terrain erforschen wollen. Gerade beim Testen einer komplexen Anwendung ist es erforderlich, den Problemen stringent hinterherzugehen. Die Fehlersuche sollte dabei mit der letzten Konsequenz und einer gesunden Portion Skepsis betrieben werden. Frustriert aufzugeben hilft keinem im Projekt weiter.

Zum Testmanager gehören auch Eigenschaften wie Neugier, Abenteuerlust und Hartnäckigkeit, denn man muss die Kollegen auch mal nerven können, wenn Termindruck herrscht. Man muss sich darüber hinaus proaktiv einbringen wollen und seine Arbeit selbst suchen.

Um ein Lösung zu finden, muss man auch mal unkonventionelle Wege gehen. Denn nicht immer lässt sich der Fehlerteufel mit den Lehrbuchmethoden aufspüren. So optimiert man die Prozesse beim Kunden in kleinen Schritten für sich und sein Arbeitsumfeld.

Da man als Testmanager eigentlich immer in zu knappen Zyklen arbeiten muss, sollte man ein Gefühl dafür entwickeln, an welchen Stellen eine Anwendung besonders fehleranfällig ist. Gerade im Bereich der Schnittstellen zu anderen Anwendungen schaut man besser zweimal hin.

Das Schöne am Testmanagement ist, dass es mit den Jahren immer mehr Spaß macht, weil man inzwischen über Erfahrungen verfügt, auf eine erprobte, strukturierte Vorgehensweise zurückgreifen und trotzdem seine Neugier weiterhin ausleben kann.