Le retour sur investissement de la Plateforme de Qualification Scapin est spectaculaire.
Moins de cinq mois suffisent pour que le coût des tests automatisés avec Sélénium dépasse celui des tests automatisés avec Scapin.
Et si vous ne faisiez que des tests manuels avant d’adopter Scapin, votre investissement devient rentable au bout de huit mois seulement.
En revanche si vous optez pour Sélénium au motif que c’est open source et gratuit, sachez qu’il vous faudra largement plus d’un an avant de rentabiliser vos investissements.
Les tests fonctionnels sont complexes.
Les tests fonctionnels contrôlent des cas d’usage réels et des processus métier complets. Ce sont des tests bout en bout qui vérifient le comportement de l’application dans son écosystème. Seuls les tests fonctionnels permettent de s’assurer que l’application fonctionne correctement et qu’elle est conforme aux attentes. Ce n’est pas le cas des tests unitaires ou d’intégration qui testent isolément des composants ou des sous-ensembles. Ces tests permettent seulement aux développeurs de vérifier leur code.
Pour toutes ces raisons les tests fonctionnels requièrent l’expertise du testeur. Sils sont réputés complexes à automatiser, c’est parce que le testeur à rarement les compétences nécessaires pour les scripter. Il faut donc faire appel à des codeurs.
La spécificité de la Plateforme de Qualification Scapin, c’est justement que le testeur peut facilement automatiser ses tests sans avoir recours aux compétences d’un codeur.
Présentation de l’étude
L’objet de l’étude est de comparer la performance de trois systèmes de production et d’exécution de tests :
la production manuelle (rédaction et exécution)
la production de tests automatisés avec l’automate open source (Sélénium - lien https://www.selenium.dev/selenium-ide/ )
la production de tests automatisés avec la Plateforme de Qualification Scapin
Pour cela l’étude se base sur le cas théorique d’une application développée en mode agile avec des sprints d’environ 2 semaines. Le coût de revient de la production des tests est calculé pour chaque système.
Des conclusions sans appel
L’étude fait ressortir 3 croisements de courbes correspondants à 3 retours sur investissement différents :
ROI Scapin/Sélénium
ROI Scapin/manuels
ROI Sélénium/manuels
Ces 3 ROI donne un avantage indiscutable aux tests Scapin. Le premier intervient dès les premières livraisons. Le second arrive en moins de 8 mois. Pour le troisième, il faut attendre, dans le meilleur des cas, au minimum un an.
Les hypothèses de l’étude
L’étude se base sur les hypothèses de temps de travail suivantes :
7 heures de travail effectif par jour pour prendre en compte les temps consacrés aux réunions et aux nécessaires moments de détente
8,96 jours travaillés en moyenne par sprint calculé sur la base 215 jours travaillés par an.
Les autres hypothèses de l’étude sont les suivantes :
Nombre de tests pour la 1ère livraison : 40
L’équipe projet commence à envisager les tests lorsque les toutes premières fonctions de l’application sont stabilisées. C’est pourquoi le nombre de tests de la première version testée est un peu plus important
Nombre moyen de nouveaux tests à chaque release : 10
Estimation du nombre de tests nouveaux ou à actualiser lors de la livraison d’un sprint.
Nombre de tests manuels rédigés par jour : 14
S’agissant de tests end-to-end un temps de 30 minutes pour rédiger un test nous semble une moyenne raisonnable. Sur la base d’une journée de 7 heures, cela donne 14 tests rédigés par jour.
Nombre de tests manuels exécutés par jour : 28
Considérant les temps de préparation, d’exécution et de notation des résultats, nous tablons sur un temps d’exécution d’une quinzaine de minutes en moyenne pour chaque test. Soit 28 tests par jour.
Nombre de tests Sélénium codés par jour : 3
Il faut concevoir une architecture logicielle suffisamment solide et scalable pour que la maintenance ne soit pas une horreur. Cela prend un temps difficile à estimer. 3 tests par jour cela signifie 2h20 pour coder un test fonctionnel. C’est une estimation moyenne qui nous semble acceptable même si elle est sans doute un peu optimiste.
Nombre de tests créés avec Scapin par jour : 6
Le StepBuilder de Scapin permet au testeur de construire aisément des tests complexes, de les variabiliser, de les dériver, etc. D’où une productivité accrue sans commune mesure avec celle du codage Sélénium. Six tests par jour cela correspond à 1h10 par test ce qui semble largement suffisant compte tenu des possibilités offertes par le StepBuilder.
Coût automaticien par jour : 302€
Sur la base d’un coût annuel pour l’entreprise de 65K€
Coût testeur par jour : 205€
Sur la base d’un coût annuel pour l’entreprise de 44K€
Coût de l’abonnement Scapin : 9000€
Tarif indicatif d’entrée de gamme avec paiement annuel en une fois de 9000€
Les tests manuels
Le tableau ci-dessus détaille le calcul des coûts release par release. On voit que la rédaction des tests représente une charge modérée et stable. En revanche celle d’exécution des tests ne cesse d’augmenter puisqu’à chaque nouvelle release l’ensemble des tests est rejoué.
Les tests Sélénium
L’automatisation des tests avec Sélénium ne peut se faire que lorsque l’application est stabilisée et disponible. Les scripts ne sont donc disponibles que pour la version suivante de l’application. Cela signifie qu’avec Sélénium, ce n’est jamais la version livrée qui est testée mais toujours la précédente. Le test de la version livrée doit donc se faire manuellement. L’intégration de ce coût supplémentaire est d’autant plus justifiée que la rédaction des nouveaux tests sert de spécification pour l’automaticien.
Les tests Scapin
Contrairement à Sélénium les tests Scapin peuvent être créés en avance de phase comme les tests manuels. C’est l’exécution automatique qui donne à Scapin un avantage décisif sur les tests manuels. Il faut aussi noter que le test Scapin est beaucoup plus lisible qu’un test manuel. Le patrimoine de test Scapin est une source documentaire exploitable. On ne peut pas en dire autant des tests manuels.
Conclusion
Cette étude illustre l’avantage comparatif de Scapin. Il l’emporte sur les tests manuels à cause de la non-régression particulièrement chronophage. Il l’emporte sur Sélénium à cause du codage des scripts très onéreux. Hors coût de l’abonnement, le coût d’un test Scapin s’élève à 34€, contre 123€ pour un test Sélénium.
Outre cet avantage comparatif, Scapin dispose de nombreux atouts. D’abord pour le testeur :
Le travail du testeur est valorisé. La construction des tests est ludique et simple. Leur maintenance est tout aussi facile grâce aux fonctionnalités de versioning et aux outils de productivité du StepBuilder. Rien à voir avec la galère de la maintenance des scripts Sélénium.
Le testeur a la maitrise des tests. Il ne dépend pas des développeurs pour l’automatisation. Il en organise lui-même l’industrialisation.
Ensuite pour la stratégie de test :
La facilité à automatiser les tests fonctionnels rend moins nécessaire la multiplication des tests unitaires. Cela soulage les équipes de développement d’une tâche qui les … embête.
Scapin rend le modèle de la pyramide des tests obsolète. Le coût d’automatisation ne dicte plus le nombre et le type de tests à réaliser. Seuls les objectifs de test comptent, autant pour les tests unitaires que fonctionnels.
En contexte agile le test fonctionnel cesse d’être un goulot d’étranglement. La principale raison d’être de la pyramide des tests s’effondre.
Enfin Scapin ne se contente pas d'émuler l'automate de test Sélénium. C’est un véritable framework de Qualification collaboratif qui regroupe toutes les activités du test. Il constitue aussi une source de documentation compréhensible et consultable par tous les acteurs du projet.
Commenti