Tests de chemin et tests de chemin de base dans les logiciels avec exemples
⚡ Résumé intelligent
Le test de chemin de base est une technique de boîte blanche qui dérive des cas de test à partir des chemins logiques d'un programme, en utilisant un graphe de flux de contrôle et la complexité cyclomatique pour trouver l'ensemble minimal de chemins indépendants.

Qu’est-ce que le test de chemin dans les tests logiciels ?
Le test de chemin est une méthode de test structurel qui consiste à utiliser le code source d'un programme afin de trouver tous les chemins exécutables possibles. Il permet de déterminer toutes les erreurs contenues dans un morceau de code. Cette méthode est conçue pour exécuter tout ou partie du chemin via un programme informatique.
Tout programme complexe comporte de nombreux chemins d'exécution possibles. Tester chacun d'eux est à la fois difficile et chronophage, et la plupart se chevauchent. Le test des chemins de base réduit cette redondance en identifiant le plus petit ensemble de chemins qui exécute chaque instruction et chaque branche au moins une fois.
Tests de chemin de base en génie logiciel
Test du chemin de base en génie logiciel est un Blanc Box Tests méthode dans laquelle les cas de test sont définis en fonction de flux ou de chemins logiques qui peuvent être empruntés à travers le programme. L'objectif des tests de chemin de base est de définir le nombre de chemins indépendants, de sorte que le nombre de cas de test nécessaires puisse être défini explicitement pour maximiser la couverture des tests.
In génie logicielLes tests de chemin de base impliquent l'exécution de tous les blocs possibles dans un programme et permettent d'obtenir une couverture de chemin maximale avec le moins de cas de test. Il s'agit d'une méthode hybride de tests de branche et de méthodes de test de chemin.
Un exemple simple permet de concrétiser l'idée.
Le diagramme de flux ci-dessus contient des instructions conditionnelles ; le contrôle peut donc atteindre la sortie par plusieurs chemins. Trois chemins indépendants sont nécessaires pour la parcourir :
- chemin 1: 1,2,3,5,6, 7
- chemin 2: 1,2,4,5,6, 7
- chemin 3: 1, 6, 7
Comment dessiner un graphe de flux de contrôle
Chaque étape du test du chemin de base dépend du graphe de flux de contrôle ; il est donc important d'être précis sur la manière dont il est construit.
- Nœud: Une séquence d'instructions qui s'exécutent toujours ensemble est représentée par un cercle. Une suite d'instructions sans branchement se réduit à un seul nœud.
- Bord: Un transfert de contrôle d'un nœud à l'autre, représenté par une flèche. Les arêtes sont le seul moyen de transmission du contrôle.
- Nœud de prédicat : Un nœud contenant une condition, auquel s'ajoutent au moins deux arêtes. Ces éléments déterminent le niveau de complexité.
- Région: Une zone délimitée par des arêtes et des nœuds. Le nombre de régions plus une est également égal à la complexité cyclomatique.
Prenons l'exemple d'un court module comportant deux décisions :
if (a > b) { // node 1, predicate max = a; // node 2 } else { max = b; // node 3 } if (max > limit) { // node 4, predicate alert(); // node 5 } return max; // node 6
Le graphe possède 6 nœuds et 6 arêtes, ce qui donne V(G) = 6 – 6 + 2 = 2 d'après la formule des arêtes. Le dénombrement des prédicats donne le même résultat plus rapidement : 2 décisions plus 1 équivalent à 3 chemins indépendants à travers les deux branches prises ensemble. Utilisez la méthode de calcul la plus fiable et vérifiez votre résultat avec l'autre.
Deux règles qui permettent d'éviter la plupart des erreurs. Premièrement, une affection complexe telle que si (x > 0 && y > 0) Cela compte comme deux nœuds de prédicat, et non un seul, car le court-circuit crée une seconde décision. De plus, une boucle contribue à un nœud de prédicat, quel que soit le nombre d'itérations.
Étapes du test du chemin de base
Les étapes de base impliquées dans les tests de chemin de base comprennent
- Dessinez un graphique de contrôle (pour déterminer différents chemins de programme)
- Calculer le Complexité cyclomatique (métriques pour déterminer le nombre de chemins indépendants)
- Trouver un ensemble de chemins de base
- « Générer » cas de test pour exercer chaque chemin
Avantages et limites des tests de chemin de base
Avantages des tests de chemin de base
- Cela aide à réduire les tests redondants
- Il concentre l'attention sur la logique du programme
- Elle remplace la sélection arbitraire des cas de test par une base analytique
- Les cas de test qui exercent un ensemble de bases exécuteront chaque instruction d'un programme au moins une fois.
Limites des tests de chemin de base
- Il est impossible de trouver le code manquant. Une exigence jamais implémentée n'a pas de chemin d'accès, donc aucun test ne sera généré pour elle. Les tests de chemin d'accès de base doivent être associés aux tests basés sur les exigences.
- Le nombre de chemins augmente rapidement. Les boucles imbriquées et les conditions composées augmentent rapidement la complexité, et un module avec V(G) supérieur à 20 devient difficile à couvrir de cette manière.
- La couverture n'est pas synonyme d'exactitude. L'exécution d'un chemin d'exécution prouve que le code s'exécute, mais pas qu'il produit la bonne réponse. Chaque test nécessite toujours une assertion pertinente.
- Chemins dépendants des données. Certains chemins ne sont accessibles qu'avec des combinaisons d'entrées spécifiques qui peuvent être difficiles, voire impossibles, à construire.

