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.

