Aller au contenu

Questions filtres - tester chaque branche d'une enquête sans tester chaque chemin

SurveyTester trouve les questions qui pilotent le routage et génère quelques cas de test qui empruntent chaque branche de chaque question filtre.

Publié 4 min de lecture .md

Chaque enquête contient des questions dont la réponse décide de la suite : « Possédez-vous une voiture ? » ouvre le bloc voiture, « Quel âge avez-vous ? » écarte les moins de 18 ans. Ce sont des questions filtres. SurveyTester les trouve dans vos tests, vous permet de corriger le résultat et génère quelques cas de test qui empruntent chaque branche de chaque question filtre au moins une fois.

Pourquoi c'est difficile sans SurveyTester

  • Le nombre de chemins explose. Une enquête de 20 questions à 10 options chacune compte 10^20 combinaisons de réponses possibles. Personne ne peut toutes les tester.
  • La plupart des questions ne comptent pas pour le routage. Une échelle de satisfaction ou une évaluation de marque mène en général à la même page suivante, quelle que soit la réponse. Seules quelques questions changent vraiment le chemin - lesquelles, c'est caché dans la programmation.
  • Les réponses aléatoires manquent les branches rares. Un robot de test qui répond au hasard ne choisit presque jamais l'option à 5 % d'un filtre de sélection. La branche derrière reste non testée jusqu'à ce qu'un vrai répondant trouve l'erreur.
  • Les filtres n'agissent pas toujours sur la page suivante. Une question de la page 3 peut décider si la page 12 s'affiche. Le découvrir en cliquant prend beaucoup de temps.

Ce que fait SurveyTester

Trouver les questions filtres

Une fois les tests terminés, SurveyTester compare leurs chemins. Une question est une question filtre quand les tests qui ont choisi un groupe d'options atteignent une page et que les tests qui ont choisi les autres options ne l'atteignent jamais. Cela trouve aussi les filtres qui n'agissent que quelques pages plus loin, et les filtres de sélection qui terminent l'interview.

Les options qui mènent au même résultat forment une branche. « Possédez-vous une voiture ? » a deux branches : Oui (le bloc voiture suit) et Non (il est sauté).

SurveyTester ne signale une question filtre que lorsque les preuves sont claires. Si une question n'a été répondue au hasard que dans quelques tests, une séparation nette peut être une coïncidence ; SurveyTester attend donc d'autres tests. Les pages qu'une enquête affiche au hasard ne sont pas prises pour un filtre.

Si un questionnaire est associé au projet, ses conditions « Poser si ... » comptent aussi : une question dont une autre dépend est une question filtre, avant même le premier test.

Placeholder: screenshot of the Pages table with the Routing badge
Les questions filtres portent un badge dans le tableau des pages

Corriger le résultat

Ouvrez la boîte de dialogue des attentes d'une question dans le tableau des pages. Sous Question filtre, choisissez :

  • Automatique (détectée) - suit ce que montrent les tests et le questionnaire.
  • Oui - la question pilote le routage, même si les tests ne l'ont pas encore montré. Sans branches détectées, chaque option compte comme une branche.
  • Non - la question ne pilote pas le routage (par exemple une page affichée au hasard à dessein).

La boîte de dialogue montre aussi les branches détectées, le nombre de pages que chaque branche affiche ou saute, et les options qu'aucun test n'a encore choisies.

Placeholder: screenshot of the Routing question section of the expectations dialog
Automatique, Oui ou Non, et les branches détectées

Générer les cas de test de couverture

Sur la page Cas de test, cliquez sur Générer la couverture du routage. SurveyTester planifie les cas de test de sorte que chaque branche de chaque question filtre soit empruntée au moins une fois :

  • Un cas de test emprunte une branche de chaque question filtre qu'il atteint. 20 questions filtres à 10 options nécessitent donc environ 10 cas de test, pas 10^20.
  • Les filtres imbriqués sont respectés. Une question posée uniquement dans la branche Oui d'une question précédente est planifiée dans les cas de test qui prennent Oui.
  • Les branches d'exclusion viennent en dernier, dans leurs propres cas de test, pour ne pas écourter les autres.
  • Les questions qui ne sont pas des questions filtres restent aléatoires : les tests continuent de varier.

Les cas de test s'appellent Routing coverage 01, 02, etc. Vous pouvez les générer à nouveau après d'autres tests : les lignes des questions filtres sont mises à jour, tout ce que vous avez ajouté reste.

Placeholder: screenshot of the Generate routing coverage button on the Test Cases page
Un clic planifie les cas de test de couverture

Étape par étape

  1. Effectuez quelques tests, manuellement ou avec le SurveyBot. Plus les réponses sont variées, plus vite les questions filtres apparaissent.
  2. Dans Pages & Routage, cliquez sur Détecter les questions filtres (la détection s'exécute aussi automatiquement après les tests). Les questions portant le badge Filtre sont des questions filtres.
  3. Vérifiez-les : ouvrez la boîte de dialogue des attentes d'une question et choisissez Oui ou Non là où vous en savez plus.
  4. Dans Cas de test, cliquez sur Générer la couverture du routage.
  5. Exécutez les cas de test Routing coverage avec le SurveyBot. Ensemble, ils empruntent chaque branche.
  6. Après une modification de l'enquête, relancez la détection et la génération.
Placeholder: screenshot of the generated Routing coverage test cases
Les cas de test générés, un par combinaison nécessaire au plan

Bon à savoir

  • La détection lit les 500 derniers tests terminés. Les tests abandonnés en cours de route ne comptent pas comme « page sautée ».
  • Une question filtre qui dépend de deux réponses à la fois (« afficher si Q2 = 1 ET Q5 = 3 ») n'est pas toujours trouvée par la détection. Marquez les questions avec Oui.
  • Si une option d'une branche porte un marqueur d'exclusion du système d'enquête, le cas de test attend ce résultat.

Voir aussi Blocs dans le diagramme de routage et Attentes sur les questions.