Depuis quelques années, l’automatisation des tests est devenu quasi incontournable dans les projets informatiques. Avec la prolifération des versions, les tests ne peuvent plus être exclusivement manuels et doivent s'appuyer sur des tests automatisés pour assurer une couverture de test satisfaisante.
De nombreux outils existent qui vont s’appuyer sur 3 approches d’automatisation : une approche par enregistrement, l’équivalent de la fonctionnalité de macro sous excel pour automatiser des tâches dans un tableur, une approche par développement et une approche d’automatisation sans code.
Ce comparatif a pour objectif de comparer ces outils et d’en voir les avantages mais aussi les limites.
A qui s’adresse ce comparatif ?
Ce comparatif s’adresse aux décideurs ( manager de test, manager de projet, directeur des études, dsi) qui souhaitent comprendre globalement les différents approches d’automatisation et les outils qui les supportent avant de choisir.
Les personnes plus directement en charge des tests (testeurs manuels, automaticiens) pourront également utiliser cette étude pour avoir une compréhension plus détaillée de chaque outil avec des exemples téléchargables gratuitement.
La méthodologie
Le même cas de test sera automatisé sur chaque outil ce qui permettra de faire la comparaison sur un objectif identique. Ainsi, nous allons automatiser le début d'un des cas de test décrit dans notre article intitulé "Plan de test pour automatiser les tests d'un site e-commerce : exemple et méthodologie".
Les outils comparés sont :
selenium IDE
les frameworks d’automatisation cypress et playwright
kaliosTest (approche sans code)
Le cas de test automatisé :
Cas de test | Les étapes |
retirer un article au panier | Choix catégorie depuis menu |
| Dans la liste des articles je sélectionne un article |
Le site utilisé sera un site de démo e-commerce : https://magento.softwaretestingboard.com/
Le cas de test sera fait sur l’article “Juno Jacket” de la catégorie women/top/jackets :
Enregistrement des tests avec Selenium ide
Présentation de l’outil
Selenium IDE est une extension pour les navigateurs Firefox et Chrome. Il enregistre les interactions de l'utilisateur avec l'application Web, telles que le clic sur des boutons, la saisie de texte et la navigation entre les pages. Une fois qu'un test est enregistré, il peut ête rejouer à tout moment pour vérifier si l'application se comporte comme prévu.
Site officiel : https://www.selenium.dev/selenium-ide/
Avantages et inconvénients
Selenium-IDE est un outil extrêmement convivial car il vous suffit d'enregistrer vos actions, rien de plus. Cependant, il présente une limitation majeure : il ne permet pas la création d'étapes réutilisables dans vos cas de test. En pratique, cela signifie que toute modification apportée à votre application nécessitera de réenregistrer entièrement ou partiellement vos cas de test avec Selenium-IDE. Cette contrainte peut entraîner des coûts de maintenance élevés, voire très élevés, lorsque vous utilisez Selenium-IDE.
Une bonne nouvelle est que Selenium-IDE est un outil gratuit. Cela signifie que vous pouvez bénéficier de ses fonctionnalités d'enregistrement des actions sans avoir à payer de licence.
Cependant, il est important de prendre en compte les coûts potentiels de maintenance liés à cette approche lors de l'évaluation de l'outil pour vos projets de test automatisé."
Etude détaillée
Pour accéder à l’étude détaillée sur Selenium-IDE : lien
Framework d’automatisation des tests
Définition
Un framework d'automatisation de test est une structure logicielle qui fournit un ensemble de bibliothèques, de méthodes et d'outils pour faciliter l'automatisation des tests logiciels. Il permet de développer, d'exécuter et de gérer efficacement les tests automatisés. Un framework de test facilite la réutilisation des tests ce qui permet d’obtenir des tests automatisés maintenables.
Cypress
Présentation de l’outil
Cypress est un outil de test automatique utilisé pour automatiser les tests sur des applications Web. Cypress offre une api simple et expressive pour écrire les tests. Il utilise le langage JavaScript ou Typescript pour définir les scénarios de test et effectuer des assertions sur les résultats attendus.Il dispose également d'un tableau de bord de tests intégré qui fournit des informations détaillées sur l'exécution des tests, les échecs et les erreurs rencontrés.
Site officiel : https://www.cypress.io/
Avantages et inconvénients
Cypress est un outil complet, largement documenté et offre une approche avancée de l'automatisation des tests logiciels. En utilisant Cypress, vous bénéficiez d'une exécution rapide des tests, car le lancement du test et la sauvegarde du script sont combinés pour offrir une réactivité exceptionnelle lors du développement.
Cependant, il est important de noter que Cypress n'est pas destiné à tous les profils. Pour assurer une maintenance appropriée et une reproductibilité des tests, une connaissance approfondie du développement en JavaScript est nécessaire. Bien que Cypress offre de nombreux avantages en termes de fonctionnalités et de réactivité, il est essentiel d'avoir une personne compétente en développement JavaScript pour garantir une bonne maintenance et la possibilité de rejouer les tests de manière fiable.
cypress est un outil gratuit.
Etude détaillée
Pour accéder à l’étude détaillée sur Cypress : lien
Playwright
Présentation de l’outil
Playwright est un outil open source qui permet aux développeurs de tester et d'automatiser les interactions avec les navigateurs web. Avec Playwright, les scripts sont développés en utilisant un langage de programmation au choix, que ce soit JavaScript, Python ou C#. Ces scripts permettent d'émuler les actions humaines sur un navigateur, comme la navigation vers des pages, le remplissage de formulaires, le clic sur des éléments, le scroll et bien plus encore.
Site officiel : https://playwright.dev/
Avantages et inconvénients
Playwright est un outil complet, abondamment documenté, mais il nécessite une approche technique de l'automatisation des tests logiciels, car les utilisateurs doivent posséder des compétences en développement. Playwright offre une solution de haute qualité pour créer facilement une campagne de tests grâce à son processus d'installation et à sa conception rapide des tests.
Il permet de lancer des parcours de test sur plusieurs navigateurs, offrant ainsi une flexibilité appréciable. De plus, il offre la possibilité de lancer les tests en mode headless ou avec interface graphique.
Cependant, il est important de souligner que la maintenance de ces tests nécessite des compétences techniques en développement. En conséquence, Playwright n'est pas un outil adapté à tous les profils.
playwright est un outil gratuit.
Etude détaillée
Pour accéder à l’étude détaillée sur Playwright : lien
Automatisation sans code avec kaliosTest
Présentation de l’outil
kaliosTest est une plateforme d'automatisation sans code qui permettent aux utilisateurs, même sans connaissances en programmation, de créer des tests automatisés.kaliosTest utilisent des interfaces visuelles et des logiques de glisser-déposer pour permettre aux utilisateurs de spécifier les actions à effectuer. En plus, lorsqu’il s’agit de créer des automatisations plus complexes ou personnalisées, il est possible de créer des actions d’automatisation spécifiques.
Site officiel : https://www.kaliostest.com/
Avantages et inconvénients
kaliosTest manipule des concepts qui lui sont propres comme par exemple le composant qu’il convient de bien comprendre pour utiliser le produit.
Après une phase d’apprentissage, la création des tests automatisés se fait sans codage par des glisser / déposer de composants et / ou de parcours. Il n’est pas nécessaire de récupérer les propriétés techniques (par exemple id), l’automatisation se fait par le texte à l’écran. L'outil permet d'intégrer des commandes spécifiques ce qui peut être utile pour automatiser des tests de logiciels métiers.
En résumé, kaliosTest est permet à des testeurs fonctionnels sans compétence technique particulière de créer rapidement des tests automatisés maintenables. C'est un outil collaboratif qui permet à toutes les parties prenantes product owner, développeur et testeur de partager les tests autour d'un vocabulaire commun.
kaliosTest est un outil payant.
Etude détaillée
Pour accéder à l’étude détaillée sur kaliosTest : lien
Conclusion
Nous espérons que cette étude vous a permis de saisir les distinctions entre les outils d'automatisation et qu'elle vous aidera à prendre une décision éclairée.
Si vous souhaitez approfondir davantage, n'hésitez pas à utiliser les nombreux exemples fournis dans les descriptions détaillées de chaque outil. Ces exemples pratiques vous permettront de mieux comprendre leur fonctionnement et de les évaluer en fonction de vos besoins spécifiques.
Que vous optiez pour Selenium-IDE, Cypress, Playwright ou kaliosTest, l'objectif est de simplifier vos tests et d'améliorer l'efficacité de votre processus de développement logiciel. Choisissez judicieusement et exploitez pleinement les fonctionnalités offertes par ces outils pour garantir la qualité de vos applications.
Nous sommes convaincus que vous trouverez l'outil qui correspond le mieux à vos exigences et que vous serez en mesure de créer des tests automatisés efficaces et fiables. Bonne automatisation de vos tests !