Composantes des efforts de tests
Prenons une release i, les efforts de tests de la release ETi se décomposent de la manière suivante:
- Efforts de tests manuels : ETMi
- Efforts de maintenance des cas de tests automatiques : EMAi
- Efforts des cas de tests automatisés : ETAi
- Efforts d’automatisation des cas de tests : EATi
Prenons l’hypothèse que l’effort de tests des nouvelles fonctionnalités est constant pour chaque release (équipe de développement de taille constante, déployant un volume de fonctionnalités constantes à chaque release), ces constantes seront :
- CETM pour les tests manuels,
- CETA pour les tests automatiques.
Efforts de tests pour un environnement sans tests automatisés
Prenons une release i, les efforts de tests de la release ETi se décomposent de la manière suivante:
- Efforts de tests manuels ETMi et évolue ainsi ETMi+1 = ETMi + CETM
(tests manuels de la release précédente + tests de la nouvelle release) - Efforts de maintenance des cas de tests automatiques : EMAi = 0
- Efforts des cas de tests automatisés : ETAi = 0
- Efforts d’automatisation des cas de tests : EATi = 0
Avec ETNFi = Efforts de tests des nouvelles fonctionnalités de la release i
Ainsi les efforts de tests manuels s’écrivent de la manière suivante :
- ETMi+1 = ETMi + CETM
- ETMi+1 = (i+1) x CETM
Donc ETi = i x CETM
Le déploiement de release à intervalle régulier implique un effort de tests qui augmente linéairement à chaque release lorsque les tests sont effectués manuellement pour assurer la qualité de la solution livrée. Ainsi si un ETP est requis à la première release, il en faudra deux à la seconde, … N à la Nième.
L’effort de test augmente linéairement à chaque release.
Efforts de test pour un environnement avec tests automatisés
Prenons une release i, les efforts de tests de la release ETi se décomposent de la manière suivante:
- Efforts de tests manuels : ETMi = ETNFi = CETM
(hypothèse : les tests des releases précédentes sont automatisés) - Efforts de maintenance des cas de tests automatiques : EMAi ≈ 40% x EATi = 0,4 x CETA
(hypothèse : la maintenance des tests automatisés existant requiert un effort proportionnel à l’effort d’automatisation des cas de tests) - Efforts des cas de tests automatisés : ETAi ≈ 0
(dans le cas où l’execution des tests et la génération des rapports sont automatisés) - Efforts d’automatisation des cas de tests : EATi = CETA
Avec ETNFi = Efforts de tests des nouvelles fonctionnalités de la release i
ETi = CETM + 1,4 x CETA
Le déploiement de release à intervalle régulier avec de l’automatisation de tests implique donc un effort de tests constant pour assurer la qualité de la solution livrée.
Conclusion
Efforts de tests requis à la release i pour un environnement :
- sans tests automatique : ETi = i x CETM
- avec tests automatique : ETi = CETM + 1,4 x CETA
Sans automatisation des tests, l’effort requis pour s’assurer du bon fonctionnement des applications croit avec chaque release alors que l’automatisation des tests permet de garder les efforts de tests constants pour chaque release.