La mutualisation de scénarios pour assurer une maintenance simplifiée
Au fur et à mesure que l’équipe avance dans l’automatisation, il devient de plus en plus difficile de maintenir
les tests logiciels. Parfois, on se retrouve face à des projets obsolètes où il n’y a plus personne pour faire de la
maintenance qui prend de plus en plus de temps. Ainsi, l’enjeu est d’avoir les scripts d’automatisation faciles
à maintenir sur le long terme grâce à un processus établi.
Pour y arriver, la solution est de mutualiser ses scénarios de test, afin de pouvoir réutiliser chaque étape
dans l’ensemble de ses tests fonctionnels
Gestion des scénarios de test en moins de temps
Le temps. C’est la ressource principale et pourtant souvent la plus déficitaire lorsqu’il s’agit de mettre en place
et de maintenir une couverture fonctionnelle de non-régression.
Nombre de nos partenaires nous ont tenu un discours similaire lors de nos premiers échanges : des scénarios
de test ont déjà été mis en place dans le passé par les équipes techniques dans le cadre de tests automatisés
mais leur utilisation a été abandonnée au bout de quelques mois faute de temps pour maintenir ou étoffer ces
scénarios de test.
Ceci a pour conséquence d’impacter l’assurance qualité qui se voit contrainte d’accroitre le nombre
d’exécutions de tests utilisateurs fastidieux, tests utilisateurs qui auraient pu être couverts par des tests fonctionnels automatisés et dont les résultats auraient même éventuellement pu être immédiatement exploités par les équipes techniques dans le cadre d’une intégration continue.
Nous avons-nous-mêmes été initialement confronté à cette problématique de temps passé à maintenir les
scénarios de test lorsque nous avions à charge la mise en place et le maintien de la couverture fonctionnelle
de non-régression de nos premiers partenaires.
En effet, quoi de plus fastidieux que de devoir repasser sur une centaine de scénarios car le libellé d’un ou plusieurs éléments a changé, comme par exemple le bouton de connexion ?
Notre propre expérience nous a convaincu que CloudNetCare devait répondre à ce besoin d’optimisation de
la gestion des scénarios de test.
Scénarios mutualisés réutilisables dans tous vos tests
Initialement notre outil autorisait le paramétrage de tests automatisés permettant l’exécution d’un ou plusieurs scénarios complets. Chaque scénario correspondait alors à un test case de bout en bout et les tests fonctionnels étaient rarement composés de plus d’un scénario de test. Quand c’était le cas, il s’agissait souvent de scénarios préparatoires ou de nettoyage qui venaient encadrer le scénario de test principal.
Cette fonctionnalité a été repensée et il est désormais possible et même recommandé de construire un
processus de tests fonctionnels via l’agrégation et l’ordonnancement logique d’un panel de scénarios répondant
chacun à un besoin fonctionnel. CloudNetCare se charge alors de créer à partir de cette configuration un META SCENARIO (contenant l’ensemble des étapes des différents scénarios de test) qui sera exécuté lors de chaque itération du test automatisé. (Ce META SCENARIO peut être récupéré via l’interface en vue d’être utilisé avec des outils compatibles Selenium).
Le schéma ci-dessus met en avant l’intérêt de la mutualisation les scénarios.
L’exemple présenté est basique et dans le cas d’une application e-commerce il serait tout à fait normal et
même recommandé d’avoir en plus un scénario de test du parcours utilisateur pour le paiement ainsi qu’un
scénario pour la saisie des coordonnées.
Chaque scénario de test mutualisé peut être et doit être réutilisé par l’ensemble des tests fonctionnels tant
que cela reste pertinent pour votre projet.
Mise à jour rapide de vos scénarios de test
Le jour où les besoins fonctionnels couverts par les scénarios mutualisés sont amenés à évoluer (refonte du
design, ajout/suppression d’étapes, modification du parcours utilisateur, changement d’interface …), il suffit
de modifier le scénario concerné afin que l’évolution soit prise en compte lors de la prochaine itération par
l’ensemble des tests automatisés faisant appel à ce scénario.
Dans le cas de tests fonctionnels n’utilisant pas de scénarios mutualisés, la solution aurait été de modifier tous
les scénarios de test concernés par l’évolution qu’elle soit fonctionnelle, graphique ou autre. Cela peut sembler
peu impactant tant que la couverture fonctionnelle reste faible. Mais dès lors que les test cases se multiplient, la
mise à jour des scénarios de test devient alors chronophage.
Imaginons que l’on ait 100 scénarios de tests et qu’il faille modifier l’étape de gestion des cookies à la suite des
nouvelles normes exigées par la RGPD. Si on considère qu’il faut 30 secondes pour ouvrir le scénario, le modifier
et l’enregistrer via l’interface cela prendra à minima 50 minutes sans être dérangé, sans faire d’erreur et en
gardant un rythme constant. Dans la pratique cela sera plutôt 2 à 3 heures et on aura tendance à vouloir
l’étaler sur plusieurs jours s’il n’y a pas d’urgence.
Si le scénario avait été mutualisé, l’exécution aurait pris 30 secondes.
Pour conclure
Vous l’aurez compris, même s’il est tentant d’enchainer la mise en place de scénarios complets en utilisant
des outils comme Selenium IDE puis de créer un test fonctionnel associé à ce scénario afin d’obtenir rapidement
une large couverture fonctionnelle, le pari sera perdant sur le long terme.
Un travail de découpe du processus de test doit être effectué lors de la création des premiers scénarios afin
d’identifier et d’isoler les parties potentiellement communes aux futurs tests fonctionnels.
Afin d’améliorer le processus de « testing », l’idéal étant que chaque scénario de test ne réponde qu’à un besoin
fonctionnel précis. Il ne reste plus alors qu’à assembler les étapes du scénario dans des tests fonctionnels qui
pourront être automatisés et dont la maintenance sera facilitée avec comme résultat un gain de temps non
négligeable voire salutaire.
CloudNetCare
Pour que chaque clic soit une expérience réussie
On pilote vos tests, vous gardez le contrôle !
Grâce à notre expertise, vos applications et sites web restent fluides, sans bugs ni frictions, vous permettant de vous concentrer sur votre innovation et garantir ainsi une expérience utilisateur irréprochable.
Notre cabinet français d’experts en tests logiciels, automatise, gère et analyse vos tests quotidiennement pour détecter et corriger les dysfonctionnements avant qu’ils n’affectent vos utilisateurs.