L’exécution de l’analyse et de l’automatisation des tests fonctionnels
Dans les processus des tests automatisés, nous distinguons trois phases distinctes et récurrentes : création et maintenance des scénarios, exécution des tests, et enfin analyse des résultats des tests. Cet article porte sur l’automatisation des tests fonctionnels et aborde l’exécution et l’analyse des résultats. L’objectif ? Vérifier chaque fonctionnalité de votre logiciel, application web ou mobile.
Automatisation des tests fonctionnels : les 3 enjeux de l’exécution.
Il s’agit de la phase proprement dite d’automatisation des tests fonctionnels : utiliser des “robots” qui exécutent les parcours sur des cibles (ex : Navigateur, smartphone, …) avec des jeux de données spécifiques (rappel sur l’importance des jeux de données). Il est impératif d’étudier le comportement de l’outil d’automatisation des tests fonctionnels face aux problématiques suivantes dans le cadre de votre projet.
Parallélisme :
Etudier comment le moteur d’orchestration et de configuration gère la complexité du séquençage des tests : il en découle une durée d’exécution de l’ensemble de la couverture offerte par l’automatisation des tests fonctionnels. L’objectif n’est pas uniquement de jouer les parcours les uns derrière les autres mais d’exécuter simultanément des parcours indépendants. C’est un gain de temps considérable.
Segmentation des devices (navigateurs / smartphones / tablettes …) :
Au vu du nombre de versions de navigateurs existantes et du nombre de téléphones différents, cette problématique est fondamentale et elle est liée au point précédent (parallélisme).
Stratégie de gestion des faux positifs/négatifs :
Comment l’outil d’automatisation des tests fonctionnels gère-t-il les cas suivants (non exhaustifs) :
- Indisponibilité temporaire d’un service tiers (exemple : l’authentification);
- Accès internet temporairement hors service (si l’applicatif nécessite une connexion internet) ;
- Un problème hardware sur un téléphone (pour un test d’App mobile).
Si la solution est déployée sur site, surtout ne sous-estimez pas la mise en œuvre et la maintenance de la configuration hardware /software nécessaire.
L’analyse des résultats et découverte des régressions
Il s’agit d’étudier le processus de restitution de la phase 2, la pertinence des résultats et la fiabilité des informations disponibles pour investigation. Il faut mettre en place un processus d’analyse des régressions pour fiabiliser les cas avérés et fournir un maximum d’informations aux développeurs. Car tout cela n’a qu’un seul objectif : améliorer la qualité des livrables. Et, pour cela, il faut pour chaque régression remonter à la cause racine du dysfonctionnement.
Il est important que tous les résultats soient historisés pour suivre : l’évolution de la couverture de la campagne de test et des dysfonctionnements levés, au fil des itérations. Les résultats peuvent être présentés dans des tableaux de bord dédiés ou remontés dans des outils de consolidation via des API.
Une même trame doit être appliquée pour l’industrialisation de l’automatisation des tests fonctionnels : conception, intégration, exécution et analyse. Il ne vous reste plus qu’à vous pencher sur l’analyse des deux principaux cas usuels : le monde Desktop Web (navigateurs) et le monde des applications mobiles.
Cas pratique : comment réaliser vos tests apps avec la méthode CloudNetCare ?
Les solutions et enjeux des tests sur mobile répondent à des règles de base communes à tous les supports : comme pour tout test fonctionnel, il faut en amont créer un scénario et un code composé d’étapes successives. Et l’utilisation des tests fonctionnels sur mobile n’échappent pas à la règle, comme en témoigne la méthode et l’approche testeur de CloudNetCare.
Téléchargement du package
La première action répond à une condition simple : cela va consister à télécharger le fichier de package correspondant à la version de votre application :
- APK pour téléphone ou tablette Android
- IPA pour iPhone real device
- APP pour un smartphone iOs sur émulateur
L’upload et l’enregistrement du package aboutissent à la création d’un scénario “vide” qu’il va falloir construire en implémentant des étapes de modification.
Mobile Recorder
Le pendant de Selenium IDE pour la partie mobile n’existant pas, les équipes R&D CloudNetCare ont développé l’outil « Mobile Recorder » qui permet :
- De « sniffer » l’application mobile pour en extraire les informations.
- D’enregistrer les étapes interactivement avec l’application, d’un simple clic.
- De visualiser en mode exécution le scénario créé
Capture d’écran de l’outil “Mobile recorder enregistrement ”
Capture d’écran de l’outil “Mobile recorder exécution”
Et c’est depuis la plateforme qu’il est possible d’effectuer un travail permettant de générer facilement les différentes étapes du scénario :
- Clic sur un élément
- Envoyer une donnée
- Attendre un élément
- Vérifier la présence d’un élément ou d’un texte
- …
Tout cela répond à la même logique que lors de la création d’un scénario avec le plug-in Selenium IDE. Le Mobile Recorder détecte, en plus, les zones interactives pour que d’un simple clic le chemin de la cible soit automatiquement renseigné.
Création du nouveau test fonctionnel
Une fois toutes les étapes enregistrées et le scénario terminés, il est possible de créer un nouveau test fonctionnel. À noter que l’on peut tout aussi bien constituer un test fonctionnel qui sera composé de plusieurs scénarios qui s’exécutent les uns après les autres.
Le bonus : la plateforme peut, le cas échéant, automatiquement détecter les jeux de données présents. Il sera alors possible d’ajouter les terminaux sur lesquels nous souhaitons exécuter le scénario et activer ou non la capture d’écran : très utile pour identifier plus facilement les régressions en comparant les écrans obtenus et les écrans attendus.
Une fois le test créé, il ne reste plus qu’à le lancer ou programmer son automatisation des tests fonctionnels et les résultats s’exploitent de la même manière que pour le web.
Comme pour l’ensemble des usages, nous avons voulu une approche ludique et intuitive dans le traitement de vos problématiques et de la collecte de donnée. Notre objectif ? Permettre au plus grand nombre de bénéficier de la puissance de l’automatisation des tests fonctionnels pour logiciels. Nous sommes à votre disposition pour mettre en place des démonstrations complètes de notre plateforme sur simple demande.
De votre choix de prestataire en tant qu’éditeur dépendra la limitation ou non de vos applications, la portabilité de leurs fonctionnalités ou encore la finalité de leur usage, sans limitation. Nous sommes là pour vous aider à vérifier le caractère fonctionnel de vos livrables. Sensibles aux notions de copyright et de droit d’usage de vos logiciels et applications, nous vous assurons leur qualité dans le respect des règlements en vigueur. Indispensable pour assurer la notoriété de votre société face à votre public cible.
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.