Besonderheiten der agilen Methodik beim Testen: Grundsätze & 4 Methoden

Agile Testmethoden gewinnen in der heutigen Softwareentwicklung zunehmend an Bedeutung. Das Agile Manifest (AgM) empfiehlt einen leichtgewichtigen Ansatz, um durch häufige Kommunikation und Selbstorganisation im Team eine iterative und effiziente Entwicklung zu erreichen.
Das Testen in agilen Entwicklungsprojekten unterscheidet sich vom klassischen Testen vor allem dadurch, dass das Testen eine präventive Maßnahme ist und dass die Tests viel häufiger durchgeführt werden müssen. Diese Anforderungen werden erst durch kontinuierliche Integration und Testautomatisierung erfüllt.
Lesen Sie weiter, um mehr über die Prinzipien des agilen Testens zu erfahren und entdecken Sie 4 Methoden!
Was ist agiles Testen?
Agiles Testen ist ein Softwaretestprozess als Teil eines agilen Softwareentwicklungsprojekts.
- Es erfordert eine Konzentration auf die Unterstützung des Entwicklungsteams.
- Viele Eigenschaften von agilen Testern helfen auch einem traditionellen Tester, aber die damit verbundenen Probleme sind nicht so offensichtlich und werden daher nicht von jedem Projektteam gelöst.
- Agiles Testen folgt den Prinzipien des agilen Manifests und wendet die agilen Prinzipien auf das Testen an.
Wie unterscheidet sich das agile Testen vom traditionellen Testen?
Merkmale des agilen Testens | Merkmale des klassischen Testens | |
Merkmale |
|
|
Aufgaben |
|
|
Prozess | Die Teststufen werden nicht sequentiell ausgeführt (alle Aufgaben laufen parallel in einer Iteration) |
|
6 wichtige agile Prinzipien
- Frühzeitige und kontinuierliche Lieferung von effizienter Software zur Zufriedenheit des Kunden.
- Direkte und tägliche Zusammenarbeit zwischen Fachleuten und Entwicklern.
- Die Software wird inkrementell und in kurzen Iterationen entwickelt.
- Direkte Kommunikation von Angesicht zu Angesicht als effizienteste und effektivste Form des Informationsaustauschs.
- Funktionierende Software bedeutet Projektfortschritt.
- Konzentration auf das Wesentliche, d. h. ausdrückliche und regelmäßige Entscheidung darüber, was weggelassen werden soll.
4 Agile Testmethoden
Verhaltensgesteuerte Entwicklung (BDD)
Behavior Driven Development ist eine Technik des agilen Softwareentwicklungszyklus, die die Zusammenarbeit zwischen Qualitätsmanagement und Geschäftsanalyse in Softwareentwicklungsprojekten stärkt.
Bei BDD werden während der Anforderungsanalyse die Aufgaben, Ziele und Ergebnisse der Software in einer bestimmten Textform festgehalten, die später als automatisierte Tests ausgeführt werden können und so die Software auf korrekte Umsetzung prüfen.
Abnahmetest-getriebene Entwicklung (ATDD)
Acceptance Test-Driven Development (ATDD) ist ein Kommunikationswerkzeug zwischen dem Kunden/Benutzer, den Entwicklern und den Testern, um sicherzustellen, dass die Anforderungen gut beschrieben sind. ATDD erfordert keine Automatisierung von Testfällen, obwohl dies für Regressionstests hilfreich wäre.
Die Tests bei ATDD müssen auch für Nicht-Entwickler lesbar sein. Die Tests der testgetriebenen Entwicklung können in vielen Fällen von den Tests der abnahmegetriebenen Entwicklung abgeleitet werden.
Exploratives Testen
Massive Testautomatisierung hat ihre Vorteile, wenn es um die frühzeitige Vermeidung von Regressionen geht. Allerdings gibt es trotz massiver Testautomatisierung immer noch Lücken in der Testabdeckung. Diese Lücken können mit Exploratory Testing gezielt und auch strukturiert geschlossen werden. In agilen Projekten müssen die Testteams aufgrund der massiven Testabdeckung jedoch nicht mehr nach den einfachsten Fehlern suchen, sondern können sich gezielt auf die wichtigen und fehleranfälligen Bereiche beschränken.
Session-Based Testing
Session-Based Testing basiert auf dem explorativen Testen. Ein Problem beim explorativen Testen ist die Nachvollziehbarkeit - was wurde getestet, wie wurde es getestet, was waren die Ergebnisse. Bei klassischen Testfällen kann man auf einen Blick sehen, ob der Test erfolgreich war oder nicht.
SBT löst dieses Problem durch sogenannte Session Sheets. Diese beschreiben:
- Wer?
- hat wann getestet?
- mit welchen Daten?
- in welcher Umgebung/Browser/...?
- usw.
Risiken beim Testen in Scrum und wie man sie überwindet
- Alle Tests liegen in der Verantwortung des Teams und des Product Owners.
- Der Product Owner testet nur Akzeptanzfälle.
- Das Team führt nur Entwicklertests durch und implementiert Unit-Tests.
- Die Testqualität ist gering, weil methodische Systemtests fehlen!
- Dem übergeordneten Qualitätsmanagement fehlt ein adäquater Ansprechpartner für testmethodische Aspekte und Prozessverbesserungen.
- Der Inspect-and-Adapt-Mechanismus in Scrum vernachlässigt Testaspekte!
- Die Verantwortung für die Produktqualität wird primär aus der Sicht des Entwicklers wahrgenommen.
💡 Ist eine Lösung in Sicht?
Um mögliche Widerstände bei der Umsetzung agiler Praktiken zu minimieren oder aufzulösen, ist es für Unternehmen notwendig, agiles Testen als ganzheitlichen Ansatz zu verstehen:
- Eine enge Zusammenarbeit zwischen Entwicklern und agilen Testern ist eine unabdingbare Voraussetzung: Menschen und Interaktionen haben Vorrang vor Prozessen und Tools.
- Entwickler brauchen volle technische und methodische Unterstützung, Tester müssen als wesentlicher Bestandteil der Sprintplanung in die jeweiligen Prozesse eingebunden werden.
- Die Dokumentation wird der Funktionalität der Software untergeordnet und die kurzfristige Reaktion auf Änderungen ist wichtiger als das Befolgen eines Plans.
Daher ist es wichtig, eine effiziente Testsoftware zu verwenden, um sicherzustellen, dass alle Arbeitsabläufe automatisiert und verfolgt werden können.
✅ Tools wie BugBug helfen Ihnen bei der Testautomatisierung durch:
- Sie zeichnen auf, was Sie im Browser tun;
- Sie können alles bearbeiten und auf Ihrem Computer oder in der Cloud ausführen;
- Sie sparen viel Zeit und Mühe, um Projekte schneller abschließen zu können.
Agiles Testen: Schneller, besser, weiter
Agiles Testen ist ein zeitgemäßer Weg, um in der modernen Softwareentwicklung schnellere und bessere Ergebnisse zu erzielen. Die Umstellung auf agile Methoden erfordert zwar ein Umdenken, birgt aber viel Potenzial und setzt Ressourcen für andere Bereiche frei.
Artikel übersetzt aus dem Englischen