État de l'Intelligence Artificielle appliquée à l'Ingénierie de la Qualité 2021-2022

Section 2 : Conception des tests

par Sogeti

Métier ●●●●●
Technique ○○○○○

Download the "Section 2: Design" as a PDF

Use the site navigation to visit other sections and download further PDF content

 

By submitting this form, I understand that my data will be processed by Sogeti as described in the Privacy Policy.

Introduction

L'un des objectifs les plus critiques de l'ingénierie de la qualité est de fournir des conseils clairs sur la qualité et les risques d'une manière qui inspire confiance à toutes les parties concernées. Pour y parvenir, nous devons recueillir des informations sur le comportement du système. Cela inclut, sans s'y limiter, les exigences du système, la conception fonctionnelle, les manuels d'utilisation et/ou les procédures administratives. Cette activité, connue sous le nom de conception des tests, est le processus de développement, d'écriture et de mise à jour des cas de test en réponse à des exigences nouvelles ou changeantes. L'objectif de la conception des tests est de rendre les tests plus systématiques et plus réactifs au changement. Elle doit permettre des tests rigoureux qui s'inscrivent dans le même cycle, le même sprint, tout en permettant aux parties prenantes - des analystes métier aux développeurs et aux testeurs - de rester alignées et flexibles.


Il existe de nombreuses techniques de conception de tests. Pour aider à déterminer les techniques à employer dans une situation donnée, TMAP définit qautre groupes de couverture [1]. Chacun de ces groupes peut être attribué à une technique de conception de test particulière. De plus, TMAP encourage fortement à toujours combiner les tests basés sur la couverture et ceux basés sur l'expérience réelle (tels que les tests exploratoires). 


Le développement d'un ensemble approprié de cas de test est essentiel pour relier la stratégie de test et sa mise en œuvre - les tests qui sont exécutés. Un scénario de test est utilisé pour déterminer si le système se comporte comme prévu dans des conditions spécifiées. Il doit donc contenir tous les composants nécessaires pour générer le comportement de ce système et déterminer s'il est correct.  Une façon bien connue de décrire le comportement d'un système est 'Entrée → Traitement → Sortie'.

Le schéma suivant illustre la relation entre les termes utilisés dans la conception des tests :

Implementing the test strategy

Source: https://www.tmap.net/media/91


[1] Un 'groupe de couverture' (ou coverage group, en anglais) est un ensemble de techniques de conception de tests qui visent à tester le même aspect d'un système informatique ou d'un processus métier. Les quatre groupes de couverture sont : processus, condition, données et apparence.

Les défis liés à la conception des tests

Bien que la conception des tests soit essentielle pour répondre aux questions de base telles que "quels cas de test ?", "quelles étapes, quelles conditions?", cette activité s'est complexifiée. Des exigences ou des 'user stories' mal définies, et les difficultés de versioning (ou versionage) des exigences conduisent à des erreurs de développement et à une certaine inefficacités des test en cours de sprint.

  • Environ 2/3 de toutes les personnes interrogées dans le cadre du rapport 2020 sur les tests continus ont déclaré que la conception et le maintien de cas de test significatifs qui s'alignent sur les attentes des utilisateurs constituent un défi important.
  • Certains répondants ont fait part des difficultés associées à la compréhension et à la création de cas de test à partir d'exigences textuelles, avec le risque de manquer accidentellement des cas de test ou de concevoir des cas de test incorrects.
  • Plus de la moitié des répondants ont déclaré qu'ils se retrouvent généralement avec beaucoup plus de cas de test que nécessaire, avec des chevauchements importants. Ils semblent modéliser des tests plutôt que des exigences.

Les organisations effectuent des tests excessifs dans certains domaines et des tests insuffisants dans d'autres. Des techniques appropriées de conception des tests devraient fournir la couverture nécessaire et permettre d'écrire des cas de test appropriés, et faciliter l'automatisation des tests. Il est devenu indispensable de se faire assister.

Cette section examine donc comment l'intelligence artificielle peut être utilisée pour relever certains des défis associés à la conception des tests.