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.

Bei der skriptgesteuerten Testausführung handelt es sich in der Regel um eine nicht-denkende Aktivität, bei der Tester die Testschritte ausführen und die tatsächlichen Ergebnisse mit den erwarteten Ergebnissen vergleichen. Eine solche Testausführungsaktivität kann automatisiert werden, ohne dass viele kognitive Fähigkeiten erforderlich sind.

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
  • Verfolgung von Fragen und Problemen, die während explorativer 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

    Schlussfolgerung

    In der Softwareentwicklung werden explorative Tests durchgeführt, um die Einschränkungen von Skripttests zu überwinden. Es hilft bei der Verbesserung Testfall Suite. Es legt Wert auf Lernen und Anpassungsfähigkeit.