Agiles Testen
Agiles Testen
Agile Methoden werden immer häufiger in der Softwareentwicklung eingesetzt. Eine kürzlich durchgeführte Umfrage ergab, dass Scrum die breiteste agile Methode zur Umsetzung der Prinzipien des agilen Manifests sind. Jedoch sowohl das agile Manifest als auch die Scrum-Beschreibung ignorieren die Testaktivitäten und die Testorganisation.
Obwohl empfohlen wird, Methoden der testgetriebenen Entwicklung oder der kontinuierlichen Integration zu verwenden, beschreiben sie aber nicht den Testprozess des Systems. Testaktivitäten und Testorganisation spielen eine entscheidende Rolle und entscheidend für den Erfolg agiler Methoden.
Der wesentliche Unterschied zwischen dem Testen in agilen Projekten und dem klassischen Testen besteht darin, dass wesentlich früher angefangen wird und die gleichen Tests häufiger durchgeführt werden müssen. Schließlich wird das System ständig verändert und häufiger ausgeliefert. Im Vergleich zu klassischen Projekten zahlt sich automatisiertes Testen in agilen Projekten deutlich früher aus. Aufgrund der Bedeutung des Testens in agilen Projekten hat sich eine besondere Sichtweise auf das Testen herausgebildet:
In agilen Projekten wird Testen als ausführbare Spezifikation verstanden. Wie bei klassischen Projekten wird auch bei agilen Projekten zwischen technischen Spezifikationen in Form von Unit-Tests und Anwendungsdomänen-Spezifikationen in Form von Akzeptanztests unterschieden. Ein agiles Team, wie es zum Beispiel das Vorgehensmodell Scrum definiert, ist selbst organisiert. Idealerweise gibt es keinen externen Projektmanager und erst recht keinen Testmanager. Diese Rollen übernehmen die Mitglieder des Teams selbst. Dennoch hat das Agile Testing dieselben Aufgaben, die auch das klassische Testmanagement bewältigen muss:
- Testplanung
- Testschätzung und Testorganisation
- Testerstellung und Testdurchführung
- Testüberwachung, Teststeuerung und Dokumentation
Alle Aufgaben laufen parallel in einer Iteration ab und nicht in nacheinander folgenden Aktivitäten wie im klassischen Testmanagement. Zudem berücksichtigt Agile Testing die klassischen Teststufen. Denn diese Stufen definieren unterschiedliche Testarten, die gleichzeitig bestimmte Testmethoden und –werkzeuge nach sich ziehen. Sowohl klassische als auch agile Projekte nutzen diese Methoden und Werkzeuge. So lassen sich zum Beispiel codenahe Komponententests durch automatisierte Techniken ausführen, während Sie Systemtests meist manuell durchführen. Allerdings ordnet agile Testing diese Stufen in ein anderes System ein, weil es die Teststufen nicht nacheinander durchführt.
Entwickler-Tests
Entwicklertests werden in der täglichen Entwicklungsarbeit durchgeführt. Der Zweck ist die Überprüfung des täglichen Entwicklungsergebnisse für SprintTasks. Jeder Entwickler bearbeitet seine Sprint-Tasks, diese dienen auch der Testgrundlage für die Entwicklung der benötigten Testfälle.
Testservices für:
- Testmanagement
- Coaching von Projektmitarbeitern
- Testautomatisierung
- Security Awareness Schulungen
- Penetrationstest
- Barrierefreiheitstest
Sprint Test
- Korrekte Funktionsweise des Inkrements und das zusammenspiel mit vorhergegangenen Inkrementen.
- Sicherstellung das frühere Inkremente nicht verändert wurden
Testservices für:
- Testmanagement
- Coaching von Projektmitarbeitern
- Testautomatisierung
- Security Awareness Schulungen
- Penetrationstest
- Barrierefreiheitstest
Release Test
Anstatt eines Sprint-Backlogs kann analog ein sogenanntes Test-Backlog erstellt werden,
Testservices für:
- Testmanagement
- Coaching von Projektmitarbeitern
- Testautomatisierung
- Security Awareness Schulungen
- Penetrationstest
- Barrierefreiheitstest
Werden manuelle Tests dann noch benötigt?
Bei Softwareänderungen ist es nötig Änderungen im Testskript vorzunehmen. Es kann passieren, dass das Testskript zwar noch durchläuft, aber nicht mehr alles korrekt prüft.
„Definition of READY“ (DoR)
Eine DoR wird verwendet, um eine frühe Testbarkeit der Software zu gewährleisten. Es handelt sich im Grunde um eine Checkliste, die zum Einsatz kommt, wenn die User Story vom Product Owner erstellt und in deren Qualitätssicherung verwendet wird, spätestens aber bei der Überführung der Story aus dem Produkt, wird die DoR den Weg in das Sprint Backlog finden.
„Definition of DONE“ (DoD)
Ganz kurz: die DoD verankert Qualitätsziele. Es ist eine weitere Checkliste, die beschreibt, welche Ziele das Team bei der Umsetzung der Story erreichen muss, bevor sie als „bereit für die Einreichung in einem Sprint-Review“ betrachtet werden kann. In der DoD liegen Testziele wie z.B. die erforderlichen Testtypen, die zu erreichende Testabdeckung und Testende-Standards fest (z.B. alle gefundenen Fehler beseitigen). Eine DoD dient somit unmittelbar der Sicherung der Produktqualität, wie auch der Kundenzufriedenheit.