samedi 12 mai 2007

Ne croyez pas les informaticiens pros




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.

Aucun commentaire:

 
Site Meter