Les tests automatiques: Best practices

Publié dans: 

La rentabilité est un facteur décisif pour approuver l’automatisation des tests fonctionnels pour certains projets et la refuser pour d’autres. Pour être plus efficace et maximiser le RSI, il faut suivre les bonnes pratiques pour le développement et l’exécution des tests automatiques.


Les étapes fondamentales à respecter sont ordonnées ci-après:

  1. Développer un plan de test,

  2. Choisir les cas de tests à automatiser,

  3. Choisir l’outil d’automatisation de tests,

  4. Développer les scripts de tests,

  5. Fixer une stratégie de lancement des campagnes de tests.

Développer un plan de test

L’élaboration d’un plan de test permettra à l’équipe de connaitre de près le produit et les exigences clients. En effet, cette étape permettra à l’équipe qualité d’avoir une visibilité plus claire sur l’état instantané, sur ce qui est demandé et sur la convergence du produit. Ainsi, elle facilitera et structurera la sélection des scénarios de tests à automatiser.

Choisir les cas de tests à automatiser

L’apport de l’automatisation n’est pas équitable pour tous les cas de test; il dépend de la difficulté de la fonctionnalité, du scénario de test, et de l’implémentation du script. Ainsi, il est inutile d’automatiser tous les scénarios détaillés dans le cahier de tests, ceci diminuera le RSI.


Pour sélectionner les cas de test à automatiser il faudra étudier ces facteurs:

  • La répétitivité du scénario dans les campagnes de test.

  • La stabilité de l’interface graphique de la fonctionnalité.

  • L’existence d’un facteur de régression élevé pour la fonctionnalité.

  • Le risque d’instabilité avec certaines plateformes.

  • Les fonctionnalités qui nécessitent plusieurs informations répétitives à renseigner.

  • Les scénarios lourds à reproduire.

  • Les tests dont le résultat n’est pas assez performant manuellement.

Outil d’automatisation de tests

Le choix de l’outil de développement est une étape assez critique pour le démarrage du projet d’automatisation. Pour assurer un bon choix, il est indispensable que l’application assure les critères listés ci-après:

  • Interaction avec le produit: la facilité de manipulation de l’interface de produit à tester par l’outil est un facteur primordial. Ceci permettra de développer plus de tests en un temps réduit.

  • Manipulation des données de tests: offrir la possibilité de définir des variables et des données de tests, gérer des opérations logiques, etc. Ainsi, on pourra assurer la maintenabilité et la réutilisabilité des tests développés.

  • Génération d’un rapport de test: génération des outputs des tests exécutés avec une traçabilité de l’exécution claire et un résumé des résultats. De la sorte, l’équipe qualité pourra faire une synthèse rapide et précise.

  • Compatibilité avec la plateforme de test: valider la compatibilité de l’outil d’automatisation avec l’OS, la technologie et la plateforme de tests.

Développement des scripts de tests

Le développement des scripts de tests devrait suivre les recommandations de bon fonctionnement afin d’assurer la stabilité et la maintenabilité du code développé:

  • Faire appel aux éléments de l’interface graphique à travers leurs identifiants et non à travers des références susceptibles à des modifications minimes au cours du développement.

    <element id="document-header" href="/racine/fils1/fils1_2/documentpage" class="documentpage-header">PAGE TITLE</element>

    Pour cet élément il sera plus correct d’utiliser l’id que le href ou la class. L’id est unique et il n’est pas susceptible de changer face à une modification minime tel le cas du href.

  • Valider la stabilité du script développé. Pour ce faire, il faut lancer chaque script à plusieurs reprises en simulant des situations différentes et valider son exécution pour chaque tentative.

  • Éviter les scripts assez longs. Il est plus bénéfique de développer des cas de tests qui portent de courts scénarios, puis les lancer en parallèle. En effet, la durée d’attente de la fin d’exécution des tests automatiques sera très réduite lorsque les suites de tests sont lancées en parallèle que lorsqu’elles sont lancées enfilées.

  • Développer des scripts de tests orientés données. Autrement, il faudra développer des scénarios en externalisant les données de tests dans des variables, des fichiers de données externes ou dans une base de données. Cette externalisation permettra la sauvegarde des données de tests et la réutilisabilité du script.