Tests et TestNG

Pourquoi tester ?

Tester au plus tôt

Il est intéressant de faire des Tests lors du développement d'application logicielle.
Cela pour plusieurs raisons:


"Beware of bugs in the above code; I have only proved it correct, not tried it"
Donald Knuth



"Nos études ont montré que la probabilité qu'un programme corrigé fonctionne comme avant la correction est seulement de cinquante pourcent."
Bev Littlewood et Lorenzo Strigini, Pour la science, janvier 1993

Bugs et vie du projet


source: Applied Software Measurement, Capers Jones, 1996

La courbe ci-dessus est très interressante, car elle nous permet de mettre en paralléle 3 points importants dans le développement d'une application logicielle. Nous voyons les indicateurs:

Attachons nous tout d'abord, au premier indicateur, nous montrant où sont introduits majoritairement les bugs lors d'un développement de projet logiciel: Sur cette première courbe nous voyons que le plus gros des bugs introduits, le sont pendant la phase de codage de l'application (avec un seuil à 85%). Notons cependant qu'à un autre moment cette courbe recommence à grimper mais bien sûr de façon moins importante: il s'agit de la phase de tests de système. Ceci est normal, en effet en corrigeant un code il est toujours possible d'introduire de nouvelles erreurs.

Si nous, nous penchons maintenant sur la seconde courbe concernant la découverte des bugs, nous observons que ceux-ci sont découverts lors des différentes phases de tests. Le nombre de bugs découverts augmente en fonction des phases de tests. Nous remarquons ainsi que le nombre de bugs trouvés lors des tests systèmes est presque le double des bugs découverts lors des tests unitaires.

Enfin la dernière courbe est elle aussi très interressante car elle nous montre que le coût lié aux bugs et corrections de ceux-ci augmente de manière quasi exponentielle. Ce qui nous montre bien qu'il est nécessaire de trouver au plus vite les différents bugs d'une application. D'où l'importance de tester un maximum.