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: