Toolchain für Tester

Aufgaben und Werkzeuge für Softwaretester

Einführung

Durch meine Tätigkeit als Softwartesterin in traditionellen und auch in Agilen Projekten konnte ich die unterschiedlichsten Erfahrungen sammeln. In den verschiedenen Projekten hatte ich immer wieder mit unterschiedlichen Tools und/oder Programmen zu tun.

Als Vorbereitung für diesen Artikel zum Thema „Toolchain für den Tester“ habe ich mich mir folgende Fragen gestellt und möchte euch diese Fragen und meine Antworten hier vorstellen.

Die erste Frage, die mir in den Sinn kam, war folgende:

1. Welche Aufgabe hat ein Softwaretester?

Adobe Stock, XtravaganT

Um zu wissen welche Tools ein Tester benötigt sollten wir uns zuerst ansehen welche Aufgaben ein Tester hat.

Die Aufgabe eines Testers ist das Finden von Fehlern, das Aufdecken von Abweichungen gegenüber der Spezifikation. Dies hört sich im ersten Moment etwas destruktiv an, jedoch ist Testen eine extrem kreative und herausfordernde Aufgabe. Als Tester sollte mach sich bewusst sein, dass auch die Soft Skills wichtig sind. Tester sollten positiv und lösungsorientiert sein. Sie sollten eine eher kritische, qualitätsorientierte, skeptische Denkweise über das Produkt an den Tag legen. Testergebnisse, Testfortschritte und Produktqualität sollten genau beurteilt werden und man sollte darüber sachlich berichten.

Die Teamfähigkeiten eines Testers sind extrem gefragt, wenn sie zusammen mit Kunden bzw. dem Fachbereich effektiv an der Definition prüfbarer User-Stories bzw. Anforderungen und insbesondere auch an den Abnahmekriterien arbeiten. Die Team- und Kommunikationsfähigkeiten sind ebenfalls erforderlich, wenn sie Fehlerberichte erstellen und mit den Entwicklern oder dem Team bei der Fehlerbehebung zusammenarbeiten.

Folgende Tätigkeiten sind durchzuführen bzw. werden folgende Dinge benötigt damit der Tester seine Aufgaben erledigen und eine Software/ein Objekt testen kann:

  • Idealerweise Zugang zu den Anforderungen bzw. zur Spezifikation der Software oder entsprechende Heuristiken
  • Er benötigt eine Teststrategie
  • Er benötigt eine Testumgebung und Zugang zu dieser
  • Testdaten müssen konfiguriert bzw. erstellt werden – kann der Tester die Testdaten selbständig erstellen oder braucht er vielleicht den Kunden dazu?
  • Wie und wo werden die Testfälle und die dazugehörende Testdurchführung dokumentiert?
  • Möglicherweise Zugang zu Testwerkzeugen, um automatisierte Tests durchführen zu können
  • Zugang zum Tool für die Fehlerberichte

2. Welche Werkzeuge braucht ein Softwaretester, um seine Aufgabe erledigen zu können?Toolchain

Nachdem dieser Punkt geklärt war, stellte ich mir die  Frage:

2. Welche Werkzeuge braucht ein Softwaretester, um seine Aufgabe erledigen zu können?

Meiner Meinung nach sind die wichtigsten Werkzeuge eines Softwaretesters seine Softskills. Ohne seine Kreativität kann er keine Testfälle erstellen. Ohne seine Kommunikationsfähigkeiten kann er weder mit dem Kunden noch mit den Entwicklern kommunizieren. Ohne seine Teamfähigkeit kann er keine Schnittstelle zwischen Kunden und Entwickler sein.

Darüber hinaus braucht er natürlich auch eine Reihe von technischen Werkzeugen. Schauen uns wir diese mal an:

2.a. Um die Arbeit starten zu können braucht ein Tester sowie auch der Entwickler Zugang zur Programmspezifikation.

Ein Dokument oder mehrere Dokumente, die die Anforderungen, den Aufbau und das Verhalten des gebauten Systems bzw. der Komponenten beschreibt. Diese dient den Entwicklern als Grundlage für die Programmierung und den Testern als Grundlage für das Ableiten von Testfällen. Manchmal beinhaltet die Spezifikation auch Vorgaben zur Überprüfung/zum Testen der Anforderungen beispielweise Abnahmekriterien oder in Agilen Teams die Definition of Done.

Das Tool, indem die Anforderungen erfasst sind, beinhaltet sehr oft Texte oder sogar Dateien, es werden oft Grafiken für ein Design hinterlegt. In einigen Tools werden auch Flussdiagramme oder Ablaufdiagramme abgespeichert. Diese Diagramme zeigen oft den Ablauf/die Verwendung eines Programmes oder die Veränderung der Daten innerhalb eines Programmes.

2.b. Wo und wie werden die Testfälle und die Testdurchführung erfasst und dokumentiert?

In vielen Projekten gibt es eine einheitliche Regelung wo und wie Testfälle dokumentiert und durchgeführt werden. Wurde ein Testfall durchgeführt, wenn es keine Dokumentation dazu gibt?? Ja, wenn ein Fehler dabei aufgetreten ist und es dazu einen Fehlerbericht gibt.

Grundsätzlich empfehle ich zu dokumentieren; jedoch kann sie auch nur aus einer kurzen Beschreibung des Testfalles bestehen à Just enough wie man im Agilen so schön sagt.

Eine Dokumentation kann aus vielen Gründen wichtig sein, z.B.

  • Nach einer bestimmten Anzahl an Testfällen weiß man nicht mehr welchen man schon durchgeführt hat und welchen nicht
  • Um Testfälle wiederholen zu können bzw. damit jemand anderer auch die Testfälle wiederholen kann/muss
  • Ergebnisse der Testdurchführung sind oft die Grundlage für Testberichte an den Kunden

Es gäbe noch eine Menge an Gründen, die für eine Dokumentation spricht, Fazit ist jedoch – bitte eine Dokumentation durchführen und in einem gemeinsamen Tool speichern, archivieren und/oder für die Testergebnisprotokolle zur Verfügung stellen.

2.c. Werden vielleicht neben den manuellen Test auch automatisierte Tests durchgeführt?

  • Welches Tool wird für die automatisierten Tests verwendet?
  • Was benötige ich als Tester um die automatisierten Tests durchzuführen, zu dokumentieren und/oder gegebenenfalls zu ändern oder zu erweitern?

Vielleicht können die manuellen und die automatisierten Tests im gleichen Tool dokumentiert werden.
Das Thema Automatisierte Tests kann in manchen Fällen etwas komplexer sein und sollte daher in Projekten genau betrachtet und analysiert werden.

2.d. Ein weiteres Tool, das der Tester benötigt, ist zur Dokumentation der Fehlerberichte bzw. Fehlermeldungen.

Üblicherweise wird in einem Projekt eine zentrale Fehlerdatenbank eingerichtet, in dieser werden alle Fehlerzustände oder Defekte beschrieben, dokumentiert und verwaltet.

Ein Fehlermanagementtool ist auch ein Kommunikationswerkzeug. Es dient dazu die gefundenen Fehlerwirkungen und Abweichungen dem Entwickler und/oder dem Testmanager sowie dem Kunden mitzuteilen. Wie dies geschieht, kann für die weitere Zusammenarbeit aller beteiligten förderlich sein oder sie negativ beeinflussen.

Um das Defecttool bedienen zu können benötigt der Tester daher seine Softskills Ein Fehlerbericht sollte unbedingt sachlich und genau beschrieben sein. Durch die Fehlerbeschreibung sollte der Testfall von einer dritten Person erneut durchgeführt und somit auch das Fehlverhalten erneut produziert werden können. In der Beschreibung sind daher alle notwendigen Daten und Fakten zu erfassen.

Rückfragen sollten auch über dieses Tool möglich sein.

Testmanager und Projektmanager sollten über das Fehlermanagementtool jederzeit ein aktuelles und vollständiges Bild über den Status der Fehler verschaffen können, über die Anzahl der Fehler, die Klassifizierung und den Korrekturfortschritt.

2.e. Beim Schreiben dieses Artikels haben ich mich immer wieder gefragt ob eine Testumgebung auch als Werkzeug für den Tester gesehen wird.

Oder auch die Testdatenbanken, in der Testdaten für die Testdurchführung gespeichert werden. Ob eine Testumgebung und ihr dazugehörenden Backendsysteme und Datenbanken, die die Produktion spiegeln soll, als Tool gilt? Ich habe diese Frage auch mit meinen Kollegen im Büro kurz diskutiert. Fazit ist, es gibt hier mehrere Meinungen und viele Argumente dafür und dagegen.

Fazit

Zusammenfassend kann ich folgendes sagen, für mich sind die wichtigsten Tools, die ein Tester haben kann, seine Softskills. Darunter vor allem seine „Kommunikationsfähigkeit“.

Ohne Kommunikation kann eine Software weder analysiert noch beschrieben werden. Ohne Kommunikation kann ein Programm weder entwickelt noch an andere Programme angeschlossen werden. Ohne Kommunikation kann der Tester die gefundenen Fehler weder beschreiben noch beheben lassen. Ohne Kommunikation kann ein Team aus Analytikern, Entwicklern und Testern keine Software gestalten und erschaffen. Im Arbeitsalltag eines Testers und bei der Handhabung der einzelnen Tools zur Spezifikation, zur Testdurchführung und zum Fehlermanagement ist die Kommunikation das entscheidende Werkzeug!

Literatur: Basiswissen Softwaretest, 5. Auflage, dpunkt.verlag
Foundation Level Extension Syllabus Agile Tester, Herausgegeben durch Austrian Testing Board, German Testing Board e.V. und Swiss Testing Board

Zurück

Zum Seitenanfang navigieren