Was ist exploratives Testen?

⚡ Intelligente Zusammenfassung

Exploratives Testen ist ein Testansatz, bei dem Tester Testfälle gleichzeitig entwerfen und ausführen, ohne sie vorher zu skripten. Dabei liegt der Schwerpunkt auf Untersuchung, Lernen und der Intuition des Testers, um Fehler aufzudecken, die beim skriptbasierten Testen oft übersehen werden. Diese Methode wird häufig in der agilen Entwicklung eingesetzt.

  • 🔍 Definition von explorativem Testen: Tester entwerfen und führen Tests spontan aus, anstatt sie im Voraus zu skripten.
  • 🆚 vs. Skriptbasiertes Testen: Skriptbasierte Tests bestätigen die Anforderungen; explorative Tests untersuchen und passen sich während des Testvorgangs an.
  • 🧠 Denkaktivität: Es legt Wert auf Lernen, Kreativität und die Intuition der Tester, um versteckte Fehler aufzuspüren.
  • 🗂️ SBTM-Prozess: Fehlerklassifizierung, Testcharta, Zeitrahmen, Überprüfung der Ergebnisse und Nachbesprechung.
  • am besten geeignet für: Fehlende Anforderungen, frühe Iterationen, kritische Anwendungen und erfahrene Tester.
  • Abtausch: Findet mehr Fehler und fördert die Kreativität, ist aber stark von den Fähigkeiten des Testers abhängig.

Was ist exploratives Testen?

Was ist exploratives Testen?

Versuchsforschung ist eine Art Softwaretest, bei dem Testfälle nicht im Voraus erstellt werden, sondern Tester das System im laufenden Betrieb überprüfen. Sie können sich vor der Testdurchführung Ideen darüber notieren, was getestet werden soll. Der Schwerpunkt des explorativen Testens liegt eher auf dem Testen als „denkender“ Aktivität.

Exploratives Testen wird häufig in agilen Modellen eingesetzt und dreht sich alles um Entdeckung, Untersuchung und Lernen. Es betont die persönliche Freiheit und Verantwortung des einzelnen Testers.

Warum exploratives Testen?

Beim Skripttesten entwerfen Sie zuerst Testfälle und führen diese später aus. Beim explorativen Testen hingegen handelt es sich um einen gleichzeitigen Prozess, bei dem Testdesign und Testausführung zur selben Zeit durchgeführt werden.

Die Durchführung von skriptbasierten Tests ist üblicherweise eine nicht-kognitive Tätigkeit, bei der Tester die Testschritte ausführen und die tatsächlichen Ergebnisse mit den erwarteten Ergebnissen vergleichen. Diese Testdurchführung kann automatisiert werden, da sie keine umfangreichen kognitiven Fähigkeiten erfordert.

Versuchsforschung

Der aktuelle Trend beim Softwaretesten geht jedoch dahin, forciert zu werden Automatisierung, exploratives Testen ist eine neue Denkweise. Automatisierung hat ihre Grenzen

Versuchsforschung

Unterschiede zwischen skriptbasiertem und explorativem Testen

Skriptbasiertes Testen Versuchsforschung
Ausgehend von den Anforderungen Basierend auf den Anforderungen und der Erkundung während des Tests
Festlegung von Testfällen rechtzeitig im Voraus Ermittlung von Testfällen während des Testens
Bestätigung der Prüfung mit den Anforderungen Untersuchung des Systems oder der Anwendung
Betont Vorhersage und Entscheidungsfindung Betont Anpassungsfähigkeit und Lernen
Beinhaltet bestätigte Tests Beinhaltet eine Untersuchung
Es geht um die Kontrolle von Tests Es geht um die Verbesserung des Testdesigns
Als würde man eine Rede halten – man liest aus einem Entwurf Wie ein Gespräch – es ist spontan
Das Skript hat die Kontrolle Der Verstand des Testers hat die Kontrolle

Explorative Testtechniken

  • Es handelt sich nicht um Zufallstests, sondern um Ad-hoc-Tests mit dem Ziel, Fehler zu finden
  • Ist strukturiert und streng
  • Ist kognitiv (denkend) strukturiert im Vergleich zur prozeduralen Struktur von Skripttests. Diese Struktur stammt von Charter, Timeboxing usw.
  • Ist sehr lehrreich und beherrschbar
  • Es ist keine Technik, sondern ein Ansatz. Welche Aktionen Sie als Nächstes ausführen, hängt davon ab, was Sie gerade tun

So führen Sie explorative Tests durch

Nachfolgend finden Sie eine Schritt-für-Schritt-Anleitung zum Durchführen von explorativem Testen, das auch als sitzungsbasiertes Testmanagement (SBTM-Zyklus) bezeichnet wird:

Schritt 1) ​​Erstellen Sie eine Bug-Taxonomie (Klassifizierung)

  • Kategorisieren Sie häufige Arten von Fehlern, die in früheren Projekten gefunden wurden
  • Analysieren Sie die Grundursachenanalyse der Probleme oder Fehler
  • Finden Sie die Risiken und entwickeln Sie Ideen zum Testen der Anwendung.

Schritt 2) Testcharter

  • Testcharter sollte vorschlagen
    1. was zu testen ist
    2. wie es getestet werden kann
    3. Was muss angeschaut werden?
  • Testideen sind der Ausgangspunkt für Explorationstests
  • Mithilfe der Testcharta können Sie ermitteln, wie der Endbenutzer das System nutzen kann

Schritt 3) Zeit Box

  • Bei dieser Methode arbeiten zwei Tester mindestens 90 Minuten zusammen
  • In dieser 90-minütigen Sitzung sollte es keine Unterbrechungen geben
  • Die Timebox kann um 45 Minuten verlängert oder verkürzt werden
  • Diese Sitzung ermutigt Tester, auf die Antwort des Systems zu reagieren und sich auf das richtige Ergebnis vorzubereiten

Schritt 4) RevErgebnisse anzeigen

  • Bewertung der Mängel
  • Aus den Tests lernen
  • Analyse der Versorgungsgebiete

Schritt 5) Nachbesprechung

  • Zusammenstellung der Ausgabeergebnisse
  • Vergleichen Sie die Ergebnisse mit der Charta
  • Prüfen Sie, ob zusätzliche Tests erforderlich sind

Beste Praxis für exploratives Testen

Während der explorativen Ausführung muss Folgendes getan werden:

  • Die Mission des Testens sollte sehr klar sein
  • Machen Sie sich Notizen darüber, was getestet werden muss, warum es getestet werden muss und wie die Produktqualität beurteilt wird
  • Tracking Fragen und Probleme, die während der explorativen Tests aufgeworfen wurden
  • Für effektive Tests ist es besser, die Tester paarweise zusammenzustellen
  • Je mehr wir testen, desto wahrscheinlicher ist es, dass wir die richtigen Testfälle für die erforderlichen Szenarien ausführen

Es ist sehr wichtig, ein Dokument zu erstellen und Folgendes zu überwachen:

  • Testabdeckung – Ob wir uns Notizen zur Abdeckung von Testfällen gemacht haben und die Qualität der Software verbessern
  • Risiken – Welche Risiken müssen abgedeckt werden und welche sind alle wichtig?
  • Testausführungsprotokoll – Aufzeichnungen zur Testausführung
  • Probleme/Anfragen – Machen Sie sich Notizen zu den Fragen und Problemen im System

Intelligentere explorative Tests finden mehr Fehler in kürzerer Zeit.

Vor- und Nachteile von explorativen Tests

Vorteile

  • Dieser Test ist nützlich, wenn Anforderungsdokumente nicht oder nur teilweise verfügbar sind
  • Es umfasst einen Untersuchungsprozess, der dabei hilft, mehr Fehler zu finden als normale Tests.
  • Entdecken Sie Fehler, die von anderen Testtechniken normalerweise ignoriert werden
  • Hilft, die Vorstellungskraft der Tester zu erweitern, indem immer mehr Testfälle ausgeführt werden, was letztendlich auch die Produktivität verbessert
  • Diese Tests gehen bis in den kleinsten Teil einer Anwendung vor und decken alle Anforderungen ab
  • Diese Tests decken alle Arten von Tests ab und decken verschiedene Szenarien und Fälle ab
  • Fördert Kreativität und Intuition
  • Generierung neuer Ideen während der Testdurchführung

Nachteile

  • Dieser Test hängt ausschließlich von den Fähigkeiten des Testers ab
  • Begrenzt durch die Domänenkenntnisse des Testers
  • Nicht geeignet für lange Ausführungsdauer

Herausforderungen des explorativen Testens

Es gibt viele Herausforderungen bei explorativen Tests, die im Folgenden erläutert werden:

  • Der Umgang mit der Anwendung oder dem Softwaresystem ist eine Herausforderung
  • Es ist schwierig, Fehler zu reproduzieren
  • Es kann eine Herausforderung sein, festzustellen, ob Werkzeuge verwendet werden müssen
  • Es kann schwierig sein, die besten Testfälle für die Ausführung zu ermitteln
  • Die Berichterstattung über die Testergebnisse ist eine Herausforderung, da der Bericht keine geplanten Skripte oder Fälle enthält, die mit dem tatsächlichen Ergebnis oder Ergebnis verglichen werden könnten
  • Es ist schwierig, alle Ereignisse während der Ausführung zu dokumentieren
  • Beim explorativen Testen müssen keine konkreten Testfälle ausgeführt werden. Daher ist es schwierig zu entscheiden, wann man aufhören soll.

Wann nutzen Sie explorative Tests?

Explorative Tests können in großem Umfang eingesetzt werden, wenn

  • Das Testteam besteht aus erfahrenen Testern
  • Eine frühzeitige Iteration ist erforderlich
  • Es liegt eine kritische Anwendung vor
  • Neue Tester kamen ins Team

Häufig gestellte Fragen

Exploratives Testen ist strukturiert, zielgerichtet und nutzt Testkriterien und Zeitvorgaben, um Fehler zu finden, während Ad-hoc-Tests informell und ungeplant sind. Exploratives Testen ist dokumentiert und wiederholbar; Ad-hoc-Tests sind dies in der Regel nicht.

Exploratives Testen ist hauptsächlich eine manuelle, gedankengetriebene Tätigkeit, da sie auf der Intuition des Testers und Entscheidungen in Echtzeit beruht. Tools können jedoch Sitzungen aufzeichnen, Protokolle erfassen und die Dokumentation während des Testens unterstützen.

SBTM ist eine strukturierte Methode, um exploratives Testen in zeitlich begrenzten, zielorientierten Sitzungen durchzuführen. Die Tester dokumentieren ihre Ergebnisse und besprechen anschließend die Testabdeckung, die gefundenen Fehler und ob weiterer Testbedarf besteht.

KI unterstützt exploratives Testen, indem sie Testideen vorschlägt, Testpläne generiert, Protokolle auf Anomalien analysiert und ungetestete Bereiche identifiziert. Sie ergänzt die Intuition des Testers, anstatt den explorativen Denkprozess zu ersetzen.

Nein. Exploratives Testen beruht auf menschlicher Kreativität, Neugier und fachlichem Urteilsvermögen, die KI nicht vollständig ersetzen kann. KI unterstützt zwar durch die Durchführung wiederkehrender Analysen, aber qualifizierte Tester bleiben für neue Erkenntnisse unerlässlich.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: