Automatisation des tests, quel outil choisir ? Notre TOP 12
Par Lahossaine El Khaloui, Directeur Régional Haut-de-France et Tests Tech Leader, Kalisoft
Le time to market vous impose de livrer toujours plus rapidement de nouvelles applications ou de nouvelles fonctionnalités. Et aujourd’hui, plus que jamais, vous n’avez pas le droit à l’erreur. La qualité délivrée doit être irréprochable et l’expérience client sans aucune faille. Chez Kalisoft, l’agilité, le DevOps et le développement continu font partie de notre ADN tout comme les solutions d’automatisation des tests. Nos consultants constatent en effet tous les jours que les tests restent bien souvent le parent pauvre des projets IT et que cette phase des projets subit tous les retards accumulés en amont.
Riche des d’expériences projets chez nos clients, notre Practice Test a mis en œuvre des actions de rationalisation des processus afin d’anticiper au mieux les revues de la documentation (Spécifications fonctionnelles et technique, dossier d’architecture, …), la rédaction de la stratégie de test et du plan de test ainsi que la réflexion au plus tôt d’une stratégie d’automatisation.
Bien que l’automatisation et l’ensemble des outils associés ne permettent pas de remplacer totalement les tests manuels, il n’échappe à personne aujourd’hui que ces derniers peuvent être beaucoup plus efficients à travers leur automatisation. Indispensable à toute démarche DevOps, l’automatisation permet de libérer le testeur d’une charge redondante mais surtout de fiabiliser les étapes de tests répétitives et chronophages (par exemple les tests de non-régression (TNR) et Sanity Check) tout en offrant la possibilité d’étendre par la suite la couverture globale des tests. Ils permettent également d’optimiser le processus de développement en introduisant des outils de détection des défauts au plus tôt (lors des Test Unitaires par exemple) ainsi que lors de la saisie des cas de tests et de leurs résultats.
En effet, pour que l’automatisation des tests soit réellement efficace, il est impératif de définir une stratégie de tests adaptée à votre organisation et surtout réaliste. Cette stratégie de tests vous permettra de définir le ou les outils les mieux adaptés au succès d’une démarche d’automatisation.
Pourtant, bien que les objectifs de l’automatisation soient clairs dans la plupart des cas, beaucoup de nos clients éprouvent des difficultés pour choisir l’outil le plus approprié parmi tous les différents outils présents sur le marché du test automatisé. Un choix d’autant plus difficile que les nouvelles versions d’outils d’automatisation vont jusqu’à intégrer des fonctionnalités d’intelligence artificielle, de machine learning, d’analytique avancé ainsi que le support d’un vaste nombre d’API. Ils peuvent paraître difficile d’accès…
Afin de vous aider à y voir un peu plus clair, nos experts Kalisoft ont réalisé une sélection des outils parmi les plus populaires et que nous avons l’occasion d’expérimenter lors de projets chez nos clients. Voici le classement Kalisoft des outils d’automatisation des tests, basé sur les critères de prix, de facilité d’utilisation (incluant l’aide d’une communauté, forum, hotline, …), de catégorie (Cloud Testing, Cross-browser & Cross-platform Tools / Services, Performance Testing Tools, Web Services, …) et de langages de développement supportées. Nos avis détaillés sur chacun de ces outils sont disponibles sur simple demande https://kalisoft.fr/contact/
N°1 pour Kalisoft ? Selenium
C’est LE grand classique et clairement l’outil référent pour toutes les applications web et mobile … et c’est sûrement le plus populaire aujourd’hui. Déjà, il est open-source donc gratuit, et il bénéficie d’une large communauté particulièrement active. Il permet de réaliser des scripts de tests dans les principaux langages de programmation tels que Java, JavaScript, Ruby, C#, PHP, Python, Ruby et Perl il fonctionne sur tous les navigateurs web et les environnements système (Windows, Mac et Linux). Par contre, il nécessite des compétences avancées en programming car il comporte sur une phase importante de conception des frameworks d’automatisation des tests et des librairies associées. Chez Kalisoft, nous avons une Practice éprouvée sur Selenium avec de nombreux projets à notre actif, pensez à nous consulter !
Katalon Studio
C’est également une solution intéressante pour tester les API / Web services. Il prend en charge les tests web et mobile, fonctionne sur Windows et Mac ODS et s’adresse plus particulièrement aux testeurs qui éprouvent des difficultés à intégrer et à déployer différents frameworks et bibliothèques. Construit sur Selenium WebDriver, c’est clairement la suite logique améliorée de Selenium. Il dispose d’une communauté active et bien documentée bien qu’encore faible en termes de volume. Il permet une prise en charge de SOAP et RESTful pour les tests d’API et de services. Il intègre une forte volumétrie de mots-clés pour créer différents scénarios de test et il supporte la BDD Cucumber pour générer des scénarios de tests en langage naturel. Son point faible ? Il ne supporte que les scripts en Java et Groovy à date… Notre avis ? C’est une solution très prometteuse … mais pas encore adaptée pour les projets d’envergure.
UFT (Microfocus)
Historiquement appelé QuickTest Professional (QTP), UFT est également très populaire dans les tests API, web et mobile ; il offre des fonctionnalités intéressantes dans la détection intelligente des objets (smart objet detection) dont ceux basés sur des images. Depuis sa dernière version, son interface utilisateur est bien plus intuitive pour la création, l’exécution et le reporting des tests API. Les différentes activités de tests et les différents paramètres sont visualisables sous forme de diagrammes. Pour Kalisoft, c’est l’outil qui fait le mieux la jonction entre les univers du test manuel et du test automatisé. Il permet notamment aux développeurs d’enregistrer les tests manuels réalisés (rapports d’exécution) et de les exporter sous forme automatisée. Il a également des capacités collaboratives très intéressantes dans le cas de projets d’envergure avec un référentiel partagé. Son inconvénient ? UFT ne support à date que VBScript … mais c’est un des langages parmi les plus faciles à utiliser et à apprendre en termes de code. A noter que c’est également un des outils les plus chers du marché.
TestComplete (SmartBear)
Outil propriétaire « sans code » puissant pour le testing des applications Web, mobile ou desktop, il supporte les langages JavaScript, Python, Angular, Ruby, VBScript, Delphi, C#, ou C++ pour écrire les scripts de test. Il est particulièrement approprié si vos interfaces utilisateurs comportent des éléments dynamiques amenés à changer régulièrement car il dispose d’un moteur de reconnaissance d’objets qui permet de détecter avec précision les éléments dynamiques présents sur les interfaces utilisateur. A noter, Test Complete ne supporte pas les environnements Mac. TestComplete dispose d’une intégration native avec Jenkins ce qui permet d’accélérer la prise en charge des composants de test Web et la prise en charge de toutes les versions récentes de navigateurs et plates-formes mobiles. Certes c’est un logiciel payant avec des frais de maintenance associé mais l’intérêt est que vous disposez d’un support client de haut niveau et des mises à jour régulière. Chez Kalisoft, nous avons une large part de nos équipes testings certifiées sur cet outil.
SoapUI (suite Ready API de SmartBear)
Cet outil est uniquement dédié au testing d’API et services. SoapUI supporte REST et SOAP services et est disponible en version open source ou propriétaire. Cette dernière propose une interface plus conviviale et des fonctionnalités avancées telles que l’assistant d’assertion, l’éditeur de formulaires et le générateur de requêtes SQL. Il permet de générer facilement des tests par simple glisser déposer.
IBM Rational Functional Tester
Spécialement conçu pour l’automatisation de tests d’applications développées avec différents langages et technologies tels que Web, .net, Java, Visual Basic, Siebel, SAP, PowerBuilder, Adobe Flex et Dojo Toolkit. Il a notamment une fonctionnalité de « storyboard testing » qui permet de visualiser et d’éditer les tests à l’aide du langage naturel et de captures d’écran des applications. Il s’intègre aux autres outils de gestion du cycle de vie des applications d’IBM.
Tricentis (Tosca)
C’est l’outil le plus complet et le plus DevOps « compliant » de notre comparatif car sa conception même repose sur les principes de l’agilité et de l’intégration continue. Tricentis a l’intérêt d’être l’une des rares plateformes qui supporte la plupart des activités de testing, du design à l’automatisation jusqu’au reporting et à l’analyse. Son interface user-friendly propose des fonctionnalités riches pour concevoir, configurer facilement, implémenter, exécuter, gérer et optimiser les tests API. Il ne nécessite pas d’écriture de script mais permet tout de même l’écriture manuelle de code si cela est nécessaire. Il supporte notamment HTTP(s) JMS, AMQP, Rabbit MQ, TIBCO EMS, SOAP, REST et IBM MQ. Et selon, le discours produit, il permettrait de réduire drastiquement les délais de tests de régression, ce que nous sommes d’ailleurs en train de tester chez Kalisoft et cela fera l’objet d’un prochain avis d’expert… Le point négatif ? La communauté est encore un peu faible sur le produit. Notre conseil ? faites-vous accompagner par des sachants de la solution, et de la Practice Test Kalisoft en particulier, avant de vous engager.
Ranorex
Raborex est un outil de testing parmi les plus complets du marché (API, Web, Mobile et Desktop) … mais aussi un des plus chers. Il supporte un large éventail de langages et de technologies. Il offre des fonctionnalités avancées pour l’identification, l’édition et la gestion des éléments d’interface utilisateur. Ranorex a en effet pour avantage d’être parmi les seuls outils à tendre vers l’automatisation des tests UI/UX en utilisant la reconnaissance d’objets et en suivant différents scénarios utilisateur, tests particulièrement complexes jusqu’alors exclusivement manuels. Ranorex a une interface graphique conviviale et intuitive qui facilite les tests via notamment la fonctionnalité d’enregistrement/lecture et de génération de scripts. Il s’intègre avec Selenium Grid pour permettre des tests distribués ainsi que des exécutions de tests parallèles. Il est particulièrement adapté à toute démarche d’intégration continue et il s’interface nativement avec Jira, Jenkins, TeamCity ou Bamboo entre autres.
Watir (Web Application Testing in Ruby)
Nous avons décidé de faire figurer Watir dans notre sélection d’outils de testing car, bien que rudimentaire en terme de fonctionnalité, limité aux applications web et fonctionnant que sous windows … En effet, il reste un incontournable pour tous les développeurs Ruby car c’est l’un des rares qui permet d’écrire des scripts dans ce langage de programmation et chez Kalisoft nous aimons bien Ruby !
Postman
Postman est dédié aux tests API. Les utilisateurs peuvent installer cet outil comme une extension de navigateur ou une application de bureau sur Mac, Linux, Windows.
Apache JMeter
JMeter est surtout connu pour les loading tests et les tests de performance mais il aujourd’hui également utilisé pour les tests d’API et de services. On le retrouve régulièrement dans les chaines CI (intégration continue) et DevOps)
ARA
Pour finir, je vous présente ARA qui n’est pas un outil d’automatisation, mais un outil de pilotage simple et rapide. ARA est pour moi indispensable car il permet de réduire le temps passé à la création des anomalies de 80% et de réduire le temps passé à l’analyse à 15 minutes par jour. Il permet de définir des objectifs à atteindre par les tests automatisés. ARA s’interface via des API tests avec Cucumber, Postman ou Karate; et pour les sites Internet sur Desktop ou Mobile avec Cucumber.
PRIX | TYPES DE TESTS | |
SELENIUM | Gratuit | Tests fonctionnels Web & Mobile |
KATALON | Gratuit | Tests fonctionnels Web & Mobile Tests de webservices (Soap & REST) |
UFT | Entre 2500 et 3500$ | Tests fonctionnels Web, Mobile et Desktop |
TEST COMPLETE | Entre 4600 et 9000$ | Tests fonctionnels Web, Mobile et Desktop |
SOAP UI | Gratuit | Tests de webservices (Soap & REST) |
IBM RATIONAL | Tests fonctionnels Web, Mobile et Desktop | |
TRICENTIS (TOSCA) | Sur devis (coût élevé) | Tests fonctionnels Web, Mobile et Desktop |
RANOREX | Entre 2800 et 8500$ | Tests fonctionnels Web, Mobile et Desktop Tests de webservices |
WATIR | Gratuit | Tests fonctionnels Web |
POSTMAN | Gratuit | Tests de webservices (Soap & REST) |
JMETER | Gratuit | Tests de charge pour les applications web |
ARA | Gratuit | Outil de pilotage des tests automatisés |
KALISOFT 2020
Pour aller plus loin :