Erkundungstests in Agile

Exploratory Testing ist eine wichtige Aktivität in einer agilen Umgebung, da es Softwaretestern helfen kann, mit dem rasanten Entwicklungstempo agiler Softwareprojekte Schritt zu halten.

Zunächst eine kurze Einführung in die agile Methodik und explorative Tests:

In der agilen Methodik wird Software in kleinen Iterationen veröffentlicht. Jede Iteration durchläuft Planung, Schätzung, Entwicklung, Integration, Test und Freigabe. Aufgrund häufiger Veröffentlichungen wird die Testautomatisierung immer wichtiger, da Entwickler schnelles Feedback zum Status der Anwendung erhalten müssen. Die automatisierten Überprüfungen dienen als Regressionstests, um sicherzustellen, dass die Software bei jeder Version nicht zurückgegangen ist.


Explorative Tests sind definiert als gleichzeitiges Lernen, Testdesign und Testausführung. Es handelt sich um einen Testansatz, bei dem der Tester als integraler Bestandteil des Testprozesses bewertet wird und dieselben Werte wie beim Agilen Manifest verwendet werden:

  • Individuen und Interaktionen über Prozesse und Werkzeuge
  • Arbeitssoftware über umfassende Dokumentation
  • Kundenzusammenarbeit über Vertragsverhandlungen
  • Auf Veränderungen reagieren über einen Plan folgen

Explorative Tests ergänzen auch die Testautomatisierung. Während automatisierte Überprüfungen auf Regressionsprobleme prüfen, konzentriert sich Exploratory Testing auf neue Funktionen, die entwickelt wurden. Dies ist wichtig, da jeder Sprint in der Regel nur einige Wochen dauert. Dadurch bleibt nicht genügend Zeit, um Testfälle zu skripten und später für die Anwendung auszuführen. Auf der anderen Seite ermöglichen explorative Tests in einer agilen Umgebung den Testern, sich mit der Domäne und der Anwendung vertraut zu machen. Bei jeder Iteration wird das Verständnis verbessert und somit werden die Tester effizienter.


Gemäß Brian Maricks Testquadrant Das Testen hat zwei Seiten: eine, die die Programmierung unterstützt, dh das Schreiben von Code (Komponententests) oder einen Hinweis darauf, wann der Programmierer fertig sein könnte (Abnahmetests), und diejenigen, die das Produkt kritisieren, dh „einen fertigen betrachten Produkt mit der Absicht, Unzulänglichkeiten zu entdecken. “ Hier, im Bereich der Produktkritik, können explorative Tests eine wichtige Rolle bei agilen Projekten spielen.

In agilen Projekten werden die Tests, die die Programmierung unterstützen, meist von Entwicklern durchgeführt und sind fast immer automatisiert. Sie sind ein Hinweis darauf, dass sie aus Sicht eines Programmierers durchgeführt wurden, während Sondierungstests darauf abzielen, mögliche Probleme zu finden, die über automatisierte Programmierertests hinausgehen. Die Erkundungstester konzentrieren sich auf Bereiche, in denen vorhandene automatisierte Tests möglicherweise zu kurz kommen.

Effektive Erkundungstester, die an agilen Projekten arbeiten, verwenden die Taktik der Erkundungstests, um das Projektteam über mögliche Probleme mit dem Produkt zu informieren. Ihre Tests können unstrukturiert und freestyle sein oder mithilfe von Chartern und Testsitzungen verwaltet werden. Aufgrund der kurzen Entwicklungsintervalle wird das Testen von Natur aus risikobasiert, und explorative Tests können sich auf Bereiche mit hohem Risiko konzentrieren, um potenzielle Probleme zu finden.

Agile Methoden und explorative Tests sind komplementäre Methoden, die zusammen eine hervorragende Synergie innerhalb der Testerfahrung erzielen können.