In dieser Serie gebe ich meine Erfahrungen weiter, die ich beim Softwaretesten im agilen Kontext gesammelt habe. Ich war in einer großen Anzahl von agilen Softwareentwicklungsprojekten als Softwaretester tätig. In allen Projekten wurde das agile Framework Scrum eingesetzt. In dem ersten Artikel der Serie beschreibe ich meine Mission im Softwaretesten.
Meine Mission beim Softwaretesten
Als Softwaretester im agilen Kontext hat sich ein übergeordnetes Ziel für mich manifestiert. Ich weiß, dass keine Software fehlerlos ist, also ist mein Mission, in kurzer Zeit kritische Fehler zu finden. Alles andere sind Nebeneffekte.
Das Testen nach kritischen Fehlern fängt bei den Anforderungen an
Als Softwaretester will ich nicht nur zeigen, dass die Anforderung erfüllt sind. Die Anforderungen sind ein Modell der realen Welt, können jedoch davon abweichen. Anforderungen haben drei Zustände:
- Sie bilden die reale Welt richtig ab
- Sie weichen von der reale Welt ab
- Sie sind unklar definiert
Bilden die Anforderungen die Welt ab, kann nur noch bei der Implementierung eine Abweichung entstehen. Gibt es bei den Anforderungen eine Differenz zwischen Soll und Ist der realen Welt, manifestiert sie sich bei der Implementierung. Sind die Anforderungen unklar definiert, erschwert dies die Implementierung und das Testen und führt oft zu Abweichungen.
Im Scrum-Framework werden die Anforderung in Form von User-Stories definiert. Den ersten Kontakt mit den neuen User-Stories habe ich als Softwaretester meist im agilen Kontext, sobald die User Story im Backlog ist. Bevor das Backlog Refinement Event ansteht, analysiere ich die User-Stories, die im Meeting besprochen werden. Ich hinterfrage die User-Stories kritisch. Damit ich dies tun kann, analysiere ich alle Informationen, die mir zur Verfügung stehen. Dabei stelle ich mir oft unter anderem „Was-wenn“-Fragen. Hier versuche ich, die drei zuvor genannten Zustände zu identifizieren und kläre diese zusammen mit meinem Team ab.
Ich habe die Erfahrung gemacht, dass die meisten kritischen Fehler im Softwareentwicklungsprozess durch unklar definierte oder von der realen Welt abweichenden Anforderung entstehen. Je später ein Fehler im Softwareentwicklungsprozess gefunden wird, desto kostenintensiver wird es, ihn zu beheben. Aufgrund dessen versuche ich, die Abweichung zwischen Soll/Ist-Zustand schon vor der Implementierung zu identifizieren.
Im nächsten Artikel der Serie „Softwaretesten im agilen Kontext“ beschreibe ich weitere Nebeneffekte, die ich mit meinem übergeordneten Ziel abdecke.
Tutorials im Bereich Testautomatisierung von Webanwendungen, mobile Anwendungen und Webservices findest Du im Bereich: Testautomatisierung & Softwaretest Tutorials und auf unserem YouTube-Kanal: Testautomatisierung – Gewusst Wie
Hinterlasse eine Antwort