Automatisation des tests
Mise à jour le Dimanche, 14 Juin 2009 23:31 Écrit par Sangaré Mohamed Samedi, 21 Février 2009 08:16
1 Avantages de l’automatisation des tests
L’automatisation des tests a des avantages directs pour les équipes en charge des tests :
• Réduction des coûts par un retour sur investissement rapide sur les activités de conception, maintenance et exécution des testsL’automatisation des tests a également des avantages indirects pour les utilisateurs du système d’information :
• Réduction des délais d’exécution des tests
• Amélioration de la qualité du processus de test
• Revalorisation du travail des équipes en charge des tests.
• Amélioration de la qualité du logiciel : moins d’anomalies en production, grâce à une augmentation de la couverture de test et une meilleure qualité des tests
• Réduction globale des coûts par un retour sur investissement rapide, liée notamment à la diminution des anomalies en production
• Meilleur respect des exigences « time to market », grâce à la réduction des délais d’exécution des tests
• Facilité de collaboration entre experts des tests et experts fonctionnels.
On note que certains de ces avantages sont quantitatifs (charges, coûts) et peuvent donc être
à la base d’un calcul de retour sur investissement.
D’autres avantages sont qualitatifs et ne peuvent donc pas être intégrés dans un calcul
de retour sur investissement. Ils ne doivent pas être négligés pour autant.
1.1 Réduction des coûts par un retour sur investissement rapide
Pour les 3 activités de conception initiale, de maintenance (adaptation à chaque nouvelle
version de l’application) et d’exécution d’un test, l’automatisation a les conséquences
suivantes :
• Augmenter significativement la charge (donc les coûts) de conception : la conception
d’un test automatisé et réutilisable (y compris développement de script) peut être 3 à 7
fois plus longue que la conception d’un test manuel
• Augmenter significativement la charge de maintenance, dans des proportions
similaires à la conception
• Réduire drastiquement la charge d’exécution : l’exécution d’un test automatisé peut
être 20 à 30 fois plus rapide que l’exécution d’un test manuel.
L’automatisation permet d’exécuter des tests à un coût marginal très faible, après
un investissement initial en conception ou maintenance.
L’automatisation des tests conduit donc à une réduction des coûts au-delà d’un certain
nombre d’exécutions. Ce nombre d’exécutions dépend essentiellement du nombre
de livraisons par an et de la qualité du logiciel livré (plusieurs exécutions peuvent être
nécessaires à chaque livraison pour lever des anomalies).
On obtient des courbes du type (la conception initiale du test correspond au nombre d’exécutions 0):

1.2 Réduction des délais d’exécution des tests
Les tests automatisés se caractérisent par une très grande rapidité d’exécution : la saisieétant immédiate, la durée du test dépend essentiellement des temps de réponse
des transactions, ou des durées des traitements batch.
L’automatisation des tests offre d’autres possibilités permettant de réduire la durée des tests :
• Exécution sans opérateur, la nuit par exemple
• Exécution en parallèle sur plusieurs postes de travail.
Enfin, par rapport à un test manuel, l’automatisation peut transférer une partie de l’effort
de test en amont du développement (conception et automatisation des tests dès
les spécifications de l’application).
L’automatisation permet de réduire la durée de l’exécution des tests, qui se trouve en général
sur le chemin critique entre le développement et la mise en production, d’où le risque
de syndrome « du sandwich » : face aux dérives du développement et à la date fixée
de livraison en production, les objectifs de tests sont dégradés pour faire face
aux engagements et à l’exigence « time to market ».

