Zum Inhalt springen

Filterfragen - jeden Zweig einer Umfrage testen, ohne jeden Pfad zu testen

SurveyTester findet die Fragen, die die Filterführung steuern, und erzeugt wenige Testfälle, die jeden Zweig jeder Filterfrage nehmen.

Veröffentlicht 4 Min. Lesezeit .md

Jede Umfrage hat Fragen, deren Antwort entscheidet, was als Nächstes kommt: "Besitzen Sie ein Auto?" öffnet den Auto-Block, "Wie alt sind Sie?" filtert die unter 18-Jährigen aus. Das sind Filterfragen. SurveyTester findet sie in Ihren Testläufen, lässt Sie das Ergebnis korrigieren und erzeugt wenige Testfälle, die jeden Zweig jeder Filterfrage mindestens einmal nehmen.

Warum das ohne SurveyTester schwierig ist

  • Die Zahl der Pfade explodiert. Eine Umfrage mit 20 Fragen und je 10 Antwortoptionen hat 10^20 mögliche Antwortkombinationen. Die kann niemand alle testen.
  • Die meisten Fragen spielen für die Filterführung keine Rolle. Eine Zufriedenheitsskala oder eine Markenbewertung führt meist zur selben nächsten Seite, egal wie geantwortet wird. Nur wenige Fragen ändern den Pfad wirklich - welche, steckt in der Programmierung.
  • Zufällige Antworten verfehlen seltene Zweige. Ein Testbot, der zufällig antwortet, wählt die 5-%-Option eines Screeners fast nie. Der Zweig dahinter bleibt ungetestet, bis ein echter Befragter den Fehler findet.
  • Filter wirken nicht immer auf der nächsten Seite. Eine Frage auf Seite 3 kann entscheiden, ob Seite 12 gezeigt wird. Das durch Klicken herauszufinden, dauert lange.

Was SurveyTester macht

Filterfragen finden

Nach abgeschlossenen Testläufen vergleicht SurveyTester die Pfade der Läufe. Eine Frage gilt als Filterfrage, wenn die Läufe mit einer Gruppe von Optionen eine Seite erreichen und die Läufe mit den anderen Optionen nie. So werden auch Filter gefunden, die erst einige Seiten später wirken, und Screener, die das Interview beenden.

Optionen, die zum selben Ergebnis führen, bilden einen Zweig. "Besitzen Sie ein Auto?" hat zwei Zweige: Ja (der Auto-Block folgt) und Nein (er wird übersprungen).

SurveyTester meldet eine Filterfrage nur bei eindeutigen Belegen. Wurde eine Frage nur in wenigen Läufen zufällig beantwortet, kann eine saubere Aufteilung Zufall sein, also wartet SurveyTester auf weitere Läufe. Seiten, die eine Umfrage zufällig zeigt, werden nicht als Filter gewertet.

Ist dem Projekt ein Fragebogen zugeordnet, zählen auch seine "Fragen, wenn ..."-Bedingungen: Eine Frage, von der eine andere abhängt, ist eine Filterfrage - schon vor dem ersten Testlauf.

Placeholder: screenshot of the Pages table with the Routing badge
Filterfragen tragen in der Seitentabelle ein Abzeichen

Das Ergebnis korrigieren

Öffnen Sie in der Seitentabelle den Erwartungsdialog einer Frage. Unter Filterfrage wählen Sie:

  • Automatisch (erkannt) - folgt dem, was Testläufe und Fragebogen zeigen.
  • Ja - die Frage steuert die Filterführung, auch wenn die Läufe es noch nicht gezeigt haben. Ohne erkannte Zweige zählt jede Option als eigener Zweig.
  • Nein - die Frage steuert die Filterführung nicht (zum Beispiel eine Seite, die absichtlich zufällig gezeigt wird).

Der Dialog zeigt außerdem die erkannten Zweige, wie viele Seiten jeder Zweig zeigt oder überspringt, und die Optionen, die noch kein Testlauf gewählt hat.

Placeholder: screenshot of the Routing question section of the expectations dialog
Automatisch, Ja oder Nein und die erkannten Zweige

Testfälle zur Filterabdeckung erzeugen

Klicken Sie auf der Seite Testfälle auf Filterabdeckung generieren. SurveyTester plant die Testfälle so, dass jeder Zweig jeder Filterfrage mindestens einmal genommen wird:

  • Ein Testfall nimmt einen Zweig jeder Filterfrage, die er erreicht. 20 Filterfragen mit je 10 Optionen brauchen deshalb etwa 10 Testfälle, nicht 10^20.
  • Verschachtelte Filter werden beachtet. Eine Frage, die nur im Ja-Zweig einer früheren Frage gestellt wird, wird in den Testfällen geplant, die Ja nehmen.
  • Screenout-Zweige kommen zuletzt, in eigenen Testfällen, damit sie die anderen nicht abschneiden.
  • Fragen, die keine Filterfragen sind, bleiben zufällig - die Testläufe variieren also weiterhin.

Die Testfälle heißen Routing coverage 01, 02 usw. Nach weiteren Testläufen können Sie sie neu erzeugen: Die Zeilen der Filterfragen werden aktualisiert, alles andere, was Sie ergänzt haben, bleibt.

Placeholder: screenshot of the Generate routing coverage button on the Test Cases page
Ein Klick plant die Testfälle zur Filterabdeckung

Schritt für Schritt

  1. Führen Sie einige Testläufe durch, manuell oder mit dem SurveyBot. Je vielfältiger die Antworten, desto schneller zeigen sich die Filterfragen.
  2. Klicken Sie unter Seiten & Routing auf Filterfragen erkennen (die Erkennung läuft auch automatisch nach Testläufen). Fragen mit dem Abzeichen Filter sind Filterfragen.
  3. Prüfen Sie sie: Öffnen Sie den Erwartungsdialog einer Frage und setzen Sie Ja oder Nein, wo Sie es besser wissen.
  4. Klicken Sie unter Testfälle auf Filterabdeckung generieren.
  5. Lassen Sie die Routing coverage-Testfälle mit dem SurveyBot laufen. Zusammen nehmen sie jeden Zweig.
  6. Nach Änderungen an der Umfrage: Erkennung und Erzeugung erneut ausführen.
Placeholder: screenshot of the generated Routing coverage test cases
Die erzeugten Testfälle, einer je Kombination, die der Plan braucht

Gut zu wissen

  • Die Erkennung liest die letzten 500 abgeschlossenen Testläufe. Abgebrochene Läufe zählen nicht als "Seite übersprungen".
  • Eine Filterfrage, die von zwei Antworten gemeinsam abhängt ("zeigen, wenn Q2 = 1 UND Q5 = 3"), findet die Erkennung nicht immer. Markieren Sie die Fragen mit Ja.
  • Trägt eine Option eines Zweigs eine Screenout-Markierung des Umfragesystems, erwartet der Testfall dieses Ergebnis.

Siehe auch Blöcke im Routing-Diagramm und Erwartungen an Fragen.