exploratives Testen

Was ist exploratives Testen?

Exploratives Testen ist ein informelles Testentwurfsverfahren, bei dem der Tester den Entwurf und die Durchführung der Tests gleichzeitig steuert. Anstatt Testfälle im Voraus detailliert zu definieren, nutzt der Tester während des Testens die gewonnenen Informationen, um neue Teststrategien und Testfälle zu entwickeln. Der Tester verwendet Intuition, Erfahrung und Wissen über das System, um das Testen dynamisch anzupassen und das System aus verschiedenen Perspektiven zu untersuchen.

Im explorativen Testen ist der Testprozess sehr flexibel und anpassungsfähig, da der Tester ständig auf neue Entdeckungen reagiert und die Tests entsprechend verändert.

Merkmale des explorativen Testens:

  • Dynamischer Testprozess: Der Testplan wird während des Testens angepasst, basierend auf den Ergebnissen, die während der Ausführung von Tests entdeckt werden.
  • Aktive Steuerung: Der Tester steuert den Testentwurf aktiv, indem er auf neue Erkenntnisse reagiert und daraus neue Testideen ableitet.
  • Verwendung von Wissen und Erfahrung: Der Tester nutzt sein Wissen über das System und seine Erfahrung, um das System auf ungewöhnliche oder wenig getestete Szenarien zu prüfen.
  • Ungeplante Testfälle: Tests werden nicht immer im Voraus vollständig geplant, sondern entwickeln sich während des Testens.

Beispiel für exploratives Testen:
Ein Tester testet eine neue mobile Anwendung, um die Benutzeroberfläche zu überprüfen. Anstatt vorab alle Testfälle detailliert zu entwerfen, beginnt der Tester mit grundlegenden Szenarien:

  1. Starten der App: Der Tester öffnet die Anwendung und beobachtet das Verhalten (z. B. Geschwindigkeit, Ladezeiten).
  2. Interaktive Exploration: Der Tester klickt durch verschiedene Menüs und Funktionen und beobachtet, wie die App reagiert.
  3. Anpassung der Teststrategie: Wenn der Tester auf einen Fehler oder unerwartetes Verhalten stößt (z. B. das Verlangsamen der App bei hoher Nutzung), erstellt er neue Tests, um diesen Aspekt weiter zu untersuchen.

Basierend auf den ersten Tests entwickelt der Tester nach und nach weitere Szenarien, die weniger offensichtlich sind, wie etwa das Testen der App unter unterschiedlichen Netzwerkbedingungen oder mit ungültigen Eingabedaten.

Vorteile des explorativen Testens:

  • Flexibilität: Exploratives Testen ermöglicht es, auf unvorhergesehene Fehler oder Probleme sofort zu reagieren und neue Tests zu entwickeln, ohne an einen starren Testplan gebunden zu sein.
  • Schnelligkeit: Da die Tester keine umfassenden Testskripte im Voraus entwickeln müssen, können Tests schneller durchgeführt und unerwartete Ergebnisse sofort untersucht werden.
  • Erhöhte Fehlerentdeckung: Durch die kreative Exploration des Systems können Fehler entdeckt werden, die in formellen Tests möglicherweise nicht berücksichtigt wurden, insbesondere in Bezug auf die Benutzererfahrung oder Grenzfälle.
  • Lernen und Anpassung: Der Tester kann während des Tests wertvolle Erkenntnisse gewinnen und die Teststrategie anpassen, was zu einer besseren und umfassenderen Testabdeckung führen kann.

Nachteile des explorativen Testens:

  • Mangelnde Struktur: Ohne einen festen Plan kann das explorative Testen zu unvollständigen oder subjektiven Testergebnissen führen, da der Tester möglicherweise nicht alle Aspekte des Systems abdeckt.
  • Abhängigkeit von der Erfahrung: Der Erfolg des explorativen Testens hängt stark vom Wissen und der Erfahrung des Testers ab. Ein weniger erfahrener Tester könnte wichtige Aspekte übersehen.
  • Schwierigere Nachverfolgbarkeit: Es ist schwieriger, Testabdeckung und Testdokumentation nachzuvollziehen, da die Tests nicht immer im Voraus definiert sind.

Wann sollte exploratives Testen eingesetzt werden?

  • Bei unklaren oder sich ständig ändernden Anforderungen: Wenn die Anforderungen unvollständig sind oder sich häufig ändern, kann exploratives Testen eine schnelle und flexible Möglichkeit bieten, das System zu überprüfen.
  • Bei frühen Entwicklungsphasen: In der frühen Entwicklungsphase oder bei Prototypen kann exploratives Testen dazu beitragen, die Grundfunktionen und Benutzererfahrungen schnell zu validieren.
  • Zur Ergänzung anderer Testmethoden: Exploratives Testen eignet sich hervorragend als Ergänzung zu anderen formalen Testmethoden (z. B. automatisierte Tests oder spezifizierte Tests), um Lücken zu identifizieren oder die Software aus einer anderen Perspektive zu betrachten.
  • Idealerweise gar nicht!

Exploratives Testen ist eine Methode, die eine schnelle und flexible Teststrategie bietet, besonders in Situationen, in denen die Anforderungen nicht vollständig spezifiziert oder noch nicht festgelegt sind. Es ermöglicht es Testern, kreativ und intuitiv vorzugehen und potenzielle Probleme frühzeitig zu entdecken. Diese Methode sollte jedoch als Ergänzung zu anderen strukturierten Testmethoden betrachtet werden, um eine umfassende Testabdeckung zu gewährleisten.