Programmez: L’émergence des outils d’automatisation sans script : pourquoi sont-ils de plus en plus utilisés ?

L’automatisation des tests n’est plus une question ! Les raisons pour lesquelles nous automatisons sont nombreuses et variées. On peut par exemple penser au :

  • gain de temps sur l’exécution des tests ce qui peut permettre de dégager du temps aux testeurs, de diminuer ses coûts ou de diminuer son « Time to Market ».
  • gain d’’argent en diminuant le coût des campagnes de test
  • l’intégration des tests à une chaîne d’intégration continue afin d’assurer une qualité minimale, de tester au plus tôt mais aussi d’implémenter le déploiement continu
  • l’amélioration de la qualité du logiciel en repérant plus rapidement et plus souvent de potentielles régressions

Pourquoi des outils d’automatisation de test sans scripts ?

Malheureusement, même si les raisons d’automatiser sont nombreuses et légitimes, les échecs des projets d’automatisation des tests sont nombreux. On peut considérer qu’un projet d’automatisation est en échec lorsqu’il n’atteint pas son but. Voici quelques raisons fréquentes : 

  • des problèmes de maintenance avec des tests trop coûteux à maintenir ou tout simplement non maintenus
  • des outils peu adaptés aux diverses technologies à tester avec soit une multiplication des outils pour pouvoir tester toutes ses applications soit des applications ou parties d’application non testées
  • un manque de compétences dans l’équipe qui peut se traduire par trop d’outils à maitriser ou un niveau technique nécessaire trop élevé pour les membres de l’équipe

C’est ici qu’interviennent les outils d’automatisation sans script !

Les personnes ayant développés des outils d’automatisation sans script sont parties du constat que l’automatisation des tests étaient complexe et coûteuse, et que, par conséquent le développement d’un outil pour simplifier ces derniers mais aussi diminuer le coût de l’automatisation était une nécessité !

Pour répondre à ces problématiques, 2 types d’outils sans scripts ont été imaginés. Même si ces outils fonctionnent sans scripts, généralement au moyen de mots clés, leurs objectifs et cibles divergent fortement. Les 2 pistes explorées par les outils sans scripts sont :

  • un outil sans script permettant de s’affranchir en partie des technologies des applications et donc d’être moins sensible à un changement de langage mais aussi automatiser toutes ses applications avec un seul et même outil. On peut ici citer RobotFramework et Katalon.
  • un outil sans script permettant à des personnes qui n’ont pas les compétences techniques pour automatiser les tests avec des outils usuels de le faire simplement mais surtout de le faire avec un niveau de qualité suffisant. On peut ici citer les 2 outils français que sont HorusTest et Agilitest.

Les outils sans script : un outil pour les automatiser tous

L’automatisation des tests est un projet de développement. Dans les faits, faire de l’automatisation de test c’est concevoir un logiciel (automate de test) capable de vérifier à l’aide de scripts de tests que le logiciel que l’on évalue fonctionne comme il est attendu.

Ces « logiciels » servant à tester dépendent évidemment de ce qui doit être testé. Si ce que l’on doit tester évolue fortement il faudra revoir notre logiciel de vérification en profondeur. Notre logiciel de test est sensible aux changements de l’application qu’il doit tester que cela soit au niveau des parcours utilisateurs qu’au niveau technique avec le langage de programmation. Cela explique en partie les coûts de maintenance mais aussi pourquoi il est souvent nécessaire de concevoir 1 automate de test par logiciel à tester.

Afin de remédier à cette problématique il est possible de proposer une surcouche ou un middleware qui permet d’être moins dépendant des couches techniques (la dépendance fonctionnelle reste) et donc potentiellement commun à plusieurs logiciels.

Il devient même envisageable de « supprimer » le besoin d’écrire le script pour notre outil afin de rendre les tests plus lisibles.

On arrive alors aux outils sans script parfois appelés « couteaux suisse ».

Le plus connu à ce jour est sûrement RobotFramework ! Cet outil de Keyword Driven Testing (KDT) propose un Framework de test générique et open source. Afin de pouvoir répondre à la promesse de s’interfacer avec un très grand nombre de technologies, Robot Framework dispose de librairies qui lui permettent de fonctionner sur différents types de technologies mais aussi avec différents langages comme Java, C++ et Python.

Le Framework en lui-même est constitué de mot clés de bases qui peuvent (doivent) être enrichis d’autres mots clés.

Un tests écrit en Robot Framework est alors une suite de mots clés et est donc facilement compréhensible si les mots clés sont bien nommés. Cela peut ressembler à cela :

Image créée par Alexis Pallier pour son article Robot Framework : le couteau-suisse de l’automatisation

Il existe d’autres outils qui poussent plus loin le sans script tout en étant très complet.

Je pense à Katalon qui a une communauté active de plus en plus nombreuse.

Katalon va plus loin que RobotFramework dans le sens où il n’y a pas besoin de « rattacher » Katalon à un autre outil pour pouvoir automatiser.

Katalon se présente comme une solution d’automatisation de test « tout en un ». Pour affirmer cela l’outil Katalon propose la possibilité :

  • d’automatiser les API et les applications lourdes, Web et mobiles
  • de s’intégrer aux chaines d’intégration continues (Katalon TestOps)
  • de gérer ses tests…

Pour arriver à un outil générique comme celui-là Katalon utilise des mots clés. Ces mots clés sont efficaces quelle que soit la technologie.

L’utilisation des mots clés génériques permet d’automatiser plusieurs applications avec un seul et même outil. De même, cela permet de diminuer les coûts de changement de technologie sur une application. La montée en compétence et la maintenance des tests s’en voit réduite.

Katalon a beau être, comme RabotFramework, un outil polyvalent, son utilisation reste technique comme on peut l’imaginer avec son interface proche de l’interface d’un logiciel de développement :

Les outils comme Katalon et RobotFramework demandent certes moins de compétences techniques pour automatiser mais un socle reste nécessaire et ces outils ne peuvent que difficilement convenir à des profils fonctionnels.

Pour des outils accessibles rapidement et simplement à des profils non techniques il faut se diriger vers d’autres types d’outils sans script dont c’est justement le but affiché.

Les outils sans script : un outil pour tous et tous pour un outil

On arrive ici sur d’autres types d’outils. Même s’ils sont sans script leur objectif est bien différent des outils comme Katalon ou même RobotFramework. L’automatisation des tests est une activité très technique qui demande des compétences de développement. Les testeurs n’ont pas forcément tous ces compétences. Partant de ce principe et de celui que les meilleures personnes pour faire des tests sont les testeurs, des outils ont émergés. Des outils simples à utiliser et accessibles à tout profil afin de supprimer toutes les compétences de développement nécessaires à l’automatisation des tests et donc de rendre tous les testeurs parfaitement autonomes.

Prenons HorusTest, son but est de rendre l’automatisation simple, rapide, fiable mais surtout « à portée de clic ».

Pour arriver à ces fins, Stéphanie Binet, la fondatrice, s’est appuyée sur son expérience mais aussi sur des automaticiens, des testeurs et des ergonomes. Cela donne un outil « web » tout en un qui propose l’automatisation, l’exécution et des rapports de campagne en quelques clics. Cette simplicité se remarque avec leur interface épurée sans aucune ligne de code. Uniquement une suite d’actions et de vérification à l’image d’un test manuel :

L’outil Agilitest a les mêmes objectifs. Il se différentie de la solution d’HorusTest en proposant un outil qui ne s’occupe que de l’automatisation des tests. Cela lui permet de faire de l’automatisation pour les API, les applications lourdes, web et mobiles. Agilitest est né d’une expérience professionnelle de Christophe Cressend et Pierre Huber qui avait développé en interne et avec succès un outil sur ces principes. Ils ont alors décidé de repartir de zéro en créant leur entreprise et un nouvel outil.

Agilitest permet d’ajouter les tests créés à n’importe quel outil ou exécuteur. Les tests automatisés par Agilitest sont exécutables et maintenables sans l’outil grâce à un framework d’automatisation libre sous forme de mots clés : ATS script.

L’interface, un peu moins simple que celle d’HorusTest reste très accessible :

Conclusion

L’automatisation des tests se généralise. Des problématiques émergent. Parmi celles-ci des problématiques liées à des aspects de dépendance aux technologies ou des aspects plus liés aux compétences techniques. Une solution pour répondre à ces problématiques est de faire des outils « sans script », des couches intermédiaires permettant de répondre à ces besoins. Il faut néanmoins faire attention, « sans script » ne veut pas forcément dire accessible ou générique ! Les outils existants ont fait des choix et faire un choix revient également à renoncer à certaines possibilités !

Pensez à rejoindre le groupe « Le métier du test » si vous souhaitez échanger sur le test

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

N’hésitez pas à faire vos propres retours d’expérience en commentaire.

Publié par

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s