object.title
Pourquoi automatiser les tests fonctionnels ?

Par Florent M. - TheExpert, Responsable Technique de la Digital Factory Squad

Plus rapides, de meilleure qualité, à spectre plus large que les tests manuels, l’automatisation des tests fonctionnels a tout pour séduire les développeurs informatiques afin de livrer – dans les meilleures conditions – un produit de qualité.

Mais d’ailleurs, un test fonctionnel, c’est quoi au juste  ?


Pour faire simple, un test fonctionnel est une description formelle du comportement d’un produit, exprimée sous forme de scénario. L’ensemble de scénarii, rejoués à la livraison d’un produit valident le bon fonctionnement de celui-ci.

Concrètement, dans le cas d’une application mobile, un test fonctionnel va tester toutes les fonctionnalités de celle-ci : est-ce que le module d’inscription fonctionne ?, peut-on se désinscrire ?, la navigation sur les différentes utilisations fonctionne-t-elle ? … L’idée maîtresse est d’imiter le comportement d’un utilisateur lorsque ce dernier balayera les fonctionnalités.

Le test fonctionnel est le dernier maillon de la chaîne logique des tests qui viennent valider la qualité d’un produit. Il vient en complément des tests unitaires et des tests d’intégration. Les tests fonctionnels vérifient le bon fonctionnement final, dans un contexte proche de la production.

Pourquoi automatiser les tests fonctionnels ?

Face à un nombre toujours plus croissant de produits (applications, sites web, …) il convient de gagner du temps et de la rentabilité dans la production. Ainsi, il y a 4 raisons majeures pour automatiser les tests fonctionnels :

  • L’automatisation des tests apport une meilleure rapidité d’exécution
  • En plus d’être plus rapides, ils permettent une livraison plus courte et plus fréquente ce qui s’intègre en tout point aux méthodes Agiles et Devops. En effet, l’automatisation, de part sa fréquence accroît naturellement le TTM (Time To Market, ou le temps utile pour qu’une idée se transforme en fonctionnalité utilisable).
  • L’automatisation permet d’améliorer la qualité et la couverture des tests, en particulier dans le cas de mises à jour continues du produit testé. Cela permet de détecter au plus tôt les régressions qui auraient échappées aux tests précédents.
  • Enfin, et c’est tout l’intérêt d’une automatisation : la méthode permet de réduire les coûts en théorie puisque la machine remplace l’œil humain.

Qui automatise les tests ?

Dans une équipe Agile, le responsable QA doit être autonome dans la réalisation de ses tests. On tend de plus en plus à lui demander de créer également ses scripts d’automatisation qui s’intégreront dans une chaine de CI/CD.

Quels outils existent pour automatiser les tests fonctionnels web ?

Une multitude de frameworks sont disponibles pour couvrir les autres contextes : application mobile / client lourds / webservices. Nous allons nous focaliser sur les outils permettant de tester des applications web.

Différentes solutions existent sur le marché et se distinguent autant par leurs fonctionnalités que par leur coût. En fonction du produit à tester, on optera naturellement pour l’outil le plus adapté.

HP QTP ; IBM RFT ; Silk Test ou Sélénium … les solutions d’automatisations de tests sont aujourd’hui plurielles et ont chacun leur spécificité.

Fonctionnalités des solutions d'automatisation des tests

A noter cependant – et puisque l’idée même de pratiquer une automatisation des tests fonctionnels est de réduire les coûts – que Sélénium, en licence Open source permet un vaste champ d’utilisation avec une licence à coût zéro.