Chapitre 4 : Analyse et conception des tests Flashcards
o Appliquer les techniques de test boîte noire, boîte blanche et les techniques de test basées sur l'expérience pour dériver des cas de test à partir de divers produits activités. o Connaître l'approche de test basée sur la collaboration.
Que sont les techniques de test boîte noire ? (techniques basées sur les spécifications)
Techniques basées sur une analyse du comportement spécifié de l’objet de test sans référence à sa structure interne. (used in dynamic testing cus we execute n see behaviour). Les cas de test des techniques boîte noire ne dépendent pas de l’implémentation du logiciel. (càd si implementation change mais comportement reste le meme, les cas de tests restent utiles)
Que sont les techniques de test boîte blanche ? (techniques basées sur la structure)
Techniques basées sur une analyse de la structure interne et du traitement de l’objet de test. Les cas de test des techniques boîte blanche peuvent être créés après la conception ou l’implémentation de l’objet de test. Ils dépendent bien de la conception du logiciel. (si implementation change -> cas de test inutiles)
Que sont les techniques de test basées sur l’expérience ?
Techniques utilisant les connaissances et l’expérience des testeurs pour concevoir et implémenter des cas de test.
L’efficacité de ces techniques dépend fortement des compétences du testeur. Les techniques de test basées sur l’expérience peuvent détecter des défauts qui pourraient échapper aux techniques de test boîte noire et boîte blanche.(ils sont donc complémentaires )
Quelles sont les techniques de test boîte noire couramment utilisées?
- Partitions d’équivalence.
- Analyse des valeurs limites.
- Test par tables de décisions.
- Test de transition d’état.
Que sont les partitions d’équivalence et quel est leur principe sous-jacent ?
Les partitions d’équivalence divisent les données en partitions traitées de la même manière par l’objet de test. Si un cas de test détecte un défaut dans une valeur d’une partition, ce défaut sera détecté pour toutes les valeurs de cette partition.
Pourquoi un test pour chaque partition est-il suffisant et quels éléments de données peuvent être divisés en partitions d’équivalence ?
Un test pour chaque partition est suffisant car tous les éléments d’une partition sont traités de la même manière par l’objet de test. Les éléments de données peuvent inclure les entrées, sorties, éléments de configuration, valeurs internes, valeurs liées au temps et paramètres d’interface.
Quelles caractéristiques doivent avoir les partitions d’équivalence ?
Les partitions peuvent être continues ou discrètes, ordonnées ou non, finies ou infinies. Elles ne doivent pas se chevaucher et doivent être des ensembles non vides.
Qu’est-ce qu’une partition valide et une partition invalide, et pourquoi le partitionnement doit-il être effectué avec soin ?
Une partition valide contient des valeurs traitées par l’objet de test. Une partition invalide contient des valeurs ignorées ou rejetées. Le partitionnement doit être effectué avec soin car il peut être compliqué de comprendre comment l’objet de test traitera les différentes valeurs.
Comment la couverture est-elle mesurée dans la technique des partitions d’équivalence ?
La couverture est mesurée en exerçant toutes les partitions identifiées (y compris les partitions invalides) au moins une fois. Le pourcentage de couverture est le nombre de partitions exercées divisé par le nombre total de partitions identifiées.
Pour atteindre 100 % de couverture, chaque partition identifiée doit être testée au moins une fois.
Qu’est-ce que la couverture Each Choice et que signifie-t-elle pour les ensembles multiples de partitions ?
La couverture Each Choice exige que les cas de test exercent chaque partition de chaque ensemble de partitions au moins une fois. Elle ne prend pas en compte les combinaisons de partitions.
Pour un formulaire avec deux champs, âge et revenu :
Âge : Partition 1 (0-17), Partition 2 (18-64), Partition 3 (65+)
Revenu : Partition 1 (0-20,000), Partition 2 (20,001-50,000), Partition 3 (50,001+)
La couverture Each Choice implique qu’au moins une valeur de chaque partition pour chaque champ soit testée. Par exemple, tester (15, 10,000), (30, 30,000), et (70, 60,000) couvrirait chaque partition de chaque champ au moins une fois.
Sur quoi consiste l’analyse des valeurs limites (AVL)?
AVL se concentre sur le test des valeurs aux extrémités des partitions d’équivalence. Cela signifie que cette technique ne fonctionne que sur des partitions où les données peuvent être ordonnées (par exemple, de manière croissante ou décroissante).
Considérons une application qui accepte des notes de 0 à 100. Les partitions d’équivalence seraient : 0-49 (échec), 50-100 (réussite). Les valeurs limites seraient 0, 49, 50, et 100. Nous testerions ces valeurs limites pour vérifier si elles sont correctement gérées par le système.
Pourquoi AVL se concentre sur les valeurs limites?
L’AVL se concentre sur les valeurs limites parce que les développeurs peuvent souvent faire des erreurs lors de la gestion de ces valeurs spécifiques. Les défauts communs incluent des limites mal placées (par exemple, une limite inférieure ou supérieure mal définie) ou des limites complètement oubliées.
Dans notre exemple de notes, si le développeur a défini la limite de réussite à 51 au lieu de 50, un élève avec une note de 50 serait incorrectement classé comme ayant échoué. L’AVL aiderait à détecter cette erreur en testant précisément ces valeurs limites.
En AVL, c quoi la difference entre la technique a 2vals et a 3vals?
Ces variantes diffèrent par le nombre de valeurs testées autour de chaque limite pour atteindre une couverture complète. La technique à 2 valeurs teste la valeur limite et sa voisine la plus proche de la partition adjacente, tandis que la technique à 3 valeurs teste la valeur limite et ses deux voisines.
Exemple:
Pour une limite de 50, la technique à 2 valeurs testerait 50 et 51. La technique à 3 valeurs testerait 49, 50, et 51.
Dans la technique à 2 valeurs (Craig 2002, Myers 2011) quels sont les deux éléments de couverture pour chaque valeur limite?
La valeur limite en question et sa voisine la plus proche appartenant à la partition adjacente.
La technique à 2 valeurs implique de tester la valeur limite et la valeur voisine la plus proche dans la partition adjacente. Pour obtenir une couverture complète, toutes les valeurs limites doivent être testées.
Exemple:
Pour une partition de notes, les tests pour la limite de 50 incluraient les valeurs 50 (limite) et 51 (voisin).
Prenons un système qui accepte des valeurs numériques de 0 à 100. Supposons qu’il y a une partition pour les valeurs de 0 à 49 (échec) et une autre partition pour les valeurs de 50 à 100 (réussite). La limite entre ces partitions est 50. Avec la technique à 2 valeurs, nous testerions la valeur limite 50 et sa voisine la plus proche dans la partition adjacente, ici 49 pour la partition d’échec et 50 pour la partition de réussite.
Dans la technique à 3 valeurs (Koomen 2006, O’Regan 2019), quels sont les trois éléments de couverture?
- La valeur limite en question et ses deux voisines.
- La technique à 3 valeurs implique de tester la valeur limite ainsi que ses deux voisines. Cela signifie que parfois, les valeurs testées ne sont pas des limites strictes mais des valeurs proches. Pour une couverture complète, toutes les valeurs limites et leurs voisines doivent être testées.
Exemple:
Pour une limite de 50, les tests incluraient les valeurs 49, 50, et 51.
Supposons qu’il y a une partition pour les valeurs de 0 à 49 (échec) et une autre partition pour les valeurs de 50 à 100 (réussite). La limite entre ces partitions est 50. Avec la technique à 3 valeurs, nous testerions 49 (voisin avant la limite), 50 (la valeur limite elle-même) et 51 (voisin après la limite).
Quelle est l’avantage de la technique AVL à 3 valeurs par rapport à celle à 2 valeurs ?
Elle peut détecter des défauts que la technique à 2 valeurs pourrait manquer, comme des erreurs de condition.
Si la condition “si (x ≤ 10)” est implémentée incorrectement comme “si (x = 10)”, tester 10 et 11 ne révélerait pas le défaut, mais tester 9 (comme dans la technique à 3 valeurs) le détecterait.