Voici un "
ordinogramme" selon la norme
AFNOR, en fait selon la notation de
J.D.
Warnier (dite aussi notation
LCP) dont on a déjà parlé.
Il s'agit d'un algorithme qui est constitué d'une itération qui inclut une alternative dont une des branche est composée elle-même d'une alternative. Donc une structure plutôt bien simple.
On parle de "programme structuré" car on utilise des structures élémentaires (itération, alternative) et une composition de ces structures (par
séquencement ou par
nichage) pour construire un algorithme. Ici on a noté qu'on sait à l'avance que l'on ne bouclera pas plus de 20 fois. Nous fournissons le graphe de contrôle et la structure de l'algorithme selon la notation avec parenthèse de Warnier.
Question : combien
y-a-t-il de chemin d'exécution différents possibles pour ce programme ? On suppose que tous les choix dans le programme sont indépendants les uns des autres.
La réponse : approximativement 10 puissance 14
On peut calculer le nombre cyclomatique ("complexité" de McCabe (*)) : nombre d'arcs - nombre de noeuds + 2 (+ 2 car le graphe n'est pas fortement connexe. On suppose qu'on ajoute un arc pour le rendre fortement connexe). Ici = 4.
Quand un informaticien vous dira qu'il a testé ...
demandez-lui quelle est la couverture de son test !
source : G. J.
Myers,
The Art
of Software
Testing, 1979, John
Wiley
(*) la théorie en est foireuse. Suppose qu'un programme est un ensemble d'instructions alors qu'il s'agit d'une suite d'instructions.