L’histoire de TestProject
TestProject est le résultat d’une idée qui a germée en 2015. Le principe ? Se servir de Selenium pour proposer un outil apprécié par tous les profils, qu’il soit fonctionnel (accessibilité) que technique (fiabilité et adaptabilité) mais aussi utilisable par tous, c’est-à-dire totalement gratuit.
Cette idée a mis 3 ans pour être concrétisée dans une première version lancée en avril 2018 avec comme but annoncé d’offrir à la communauté des automaticiens de test un outil qui leur permette de faire face plus facilement aux challenges du quotidien.
L’outil TestProject est vite reconnu et attire l’attention de la société Tricentis qui décide de le racheter en 2019. La philosophie reste cependant la même avec une annonce de Tricentis de laisser TestProject totalement gratuit tout en assurant son maintien et son développement. On peut voir ici 2 objectifs pour la société Tricentis qui sont avoir son propre outil d’automatisation à utiliser en interne mais aussi accroître son « soft-power » en investissant dans un outil utile à la communauté de test à la manière d’un investissement dans la communication mais offrant des services plus concrets au monde du test.
Depuis TestProject continue de se développer que cela soit en terme de fonctionnalités, d’utilisateurs ou de communication avec de nombreux articles de différents auteurs sur leur blog qui s’enrichit en hébergeant maintenant des articles d’auteurs écrivant dans d’autres langues que l’anglais. Il a même été élu en 2020 meilleur outil de test gratuit dans une étude Gartner : Gartner Peer Insights Customers’ Choice for the Software Test Automation.
TestProject en bref
Comme nous venons de le voir, TestProject c’est une belle histoire âgée d’à peine 6 ans. Au-delà de cette histoire il est important de savoir ce que propose cet outil d’automatisation des tests. Cela peut être résumé comme ceci :
-
TestProject, en version 2.0, est un outil disponible en SaaS ou en offline
Ce point est particulièrement important. En effet, proposer un outil SaaS c’est offrir un outil utilisable à la seule condition d’avoir accès à un navigateur web ! L’arrivée la nouvelle version 2.0 de TestProject permet d’exécuter ses tests en offline et donc de ne pas laisser de traces sur le Cloud. On a donc le choix entre l’utilisation en SaaS avec son lot d’avantages (pas d’installation, pas de maintien de serveur…) et d’inconvénients (tout reste dans le Cloud, besoin d’internet, potentielle limitations de sécurité) ou la choix plus « classique » d’avoir ses tests dans un environnement isolé (son PC, une machine virtuelle ou partagée) avec son lot d’avantages (sécurité, pas de dépendances…) et d’inconvénients (installation, gestion de l’environnement, pas besoin d’internet…).
-
TestProject propose un framework de test basé sur Selenium
Pour rappel, Selenium n’est pas un framework de test mais un automate de navigateur. Utiliser Selenium directement oblige un automaticien de test à créer son framework afin d’automatiser ses tests. Il existe d’ailleurs de nombreux autres outils se basant sur Selenium pour proposer un framework d’automatisation des tests. Il est d’ailleurs important de noter que s’il estpossible de se servir de Selenium comme base pour proposer des outils d’automatisation de test c’est parce que ce dernier est open source. TestProject prend donc racine sur un outil solide, maintenu et éprouvé afin de proposer un outil avec des améliorations et spécificités dédiées aux automaticiens de tests.
-
TestProject propose une automatisation web et mobile exclusivement
Ceci est une légère limitation à connaitre. TestProject, à ce jour, propose de l’automatisation web et de l’automatisation mobile (avec Appium). Cela veut dire qu’il n’est pas possible de l’utiliser (à moins de faire les modifications nécessaires sur le code source) si l’on veut exécuter des tests sur ou passant une application lourde (ou application « desktop » ou « bureau »). De même, cette limitation s’applique également pour les tests s’exécutant en partie directement sur l’OS (par exemple : passage par l’explorateur de fichier Windows). Cette limitation tant cependant à être de moins en moins contraignante. En effet la part de développement d’applications bureau est de plus en plus faible.
-
TestProject est un outil de test IHM
Il existe de très nombreux types de test, chacun avec un but précis. On peut penser à des types de test en se basant sur la norme ISO-25 010 comme je le fais régulièrement. Si l’on souhaite classer TestProject avec cette classification, je dirais que TestProject propose principalement la possibilité de faire des tests fonctionnels (même s’il reste possible de faire certains tests de portabilité, d’utilisabilité et d’accessibilité). Utiliser l’ISO-25 010 n’est heureusement pas la seule classification possible pour les tests ! Une classification fréquente se fait avec des catégories comme les tests back-end et les tests front-end. TestProject est un outil qui se classe justement dans la partie test front-end, c’est-à-dire que TestProject est un outil qui test le comportement des interfaces graphiques. Il est pensé pour les interfaces graphiques et est donc performant pour ces tests. Il ne l’est cependant pas pour les autres.
-
TestProject est accessible
C’est peut-être un des points les plus importants à retenir. TestProject se veut utilisable par tout profil. On ne peut pas se le cacher, la probabilité que l’ensemble des testeurs fonctionnels soit capable de devenir un automaticien convertit avec des compétences techniques élevées est quasiment nulle. Cependant, il serait particulièrement dommageable de ne pas inclure des professionnels du test aussi compétents dans les changements induits par l’Agile et ce besoin d’automatisation. Il semble donc nécessaire de faire un pas vers ces profils fonctionnels en proposant un outil qu’ils peuvent utiliser sans avoir à connaitre le développement. C’est ce que propose TestProject, notamment avec son outil de capture qui permet d’écrire un test à travers des mots clés paramétrisables et de modifier ensuite selon ses besoins. Je pense personnellement que ce type d’outil de capture est nécessaire pour permettre aux testeurs fonctionnels de mettre un pied dans l’automatisation des tests. Cela est nécessaire car permet de faire des tests de qualité (ce n’est pas du record and replay) tout en faisant comprendre les problématiques de l’automatisation des tests. De plus, la possibilité d’ajouter manuellement des étapes permet d’assurer certaines vérifications et la possibilité d’utiliser des tests en tant qu’étape est un point essentiel afin de limiter la maintenance en factorisant (mutualisant) les tests.
Voici ce à quoi ressemble l’outil de capture :
-
TestProject est gratuit
Ceci est un autre point primordial, pas besoin d’investir dans les licences de l’outil ! De plus, cette gratuité offre la possibilité de tester facilement et rapidement l’outil dans l’optique d’un essai grandeur nature (par exemple à travers un POC) sans avoir à dépenser de l’argent pour une licence ou dépenser du temps avec des échanges avec des représentants de l’éditeur. Il est également possible à titre personnel de tester l’outil grâce à cette gratuité.
L’apport et la philosophie de TestProject
Le but affiché de TestProject c’est de simplifier la vie des testeurs en leur apportant un outil d’automatisation web et mobile fiable, complet (annonce à 99% des besoins web couverts), adaptable (open source) qui leur permet de gagner du temps (pas de framework à créer pour les testeurs techniques, montée en compétence plus rapide pour les testeurs fonctionnels) sans devoir nécessairement investir de l’argent (gratuité).
Cette philosophie d’accessibilité tant d’un point de vue financier (coût) qu’humain (accessibilité de l’outil) est importante, c’est pourquoi je parle « d’automatisation web et mobile pour tous ».
Au-delà de cet aspect, tesptoject apporte également une communauté active !
La communauté de TestProject
TestProject propose plus qu’un simple outil. De par son côté open source, TestProject a une communauté active qui propose des correctifs de bugs ou même des fonctionnalités supplémentaires (notamment avec des addons) qui enrichissent l’outil grâce à un SDK 100% open source.
La communauté TestProject propose également un support actif à travers un forum. Ce type de forum permet de poser ses questions mais aussi et surtout trouver des solutions à une grande majorité de ses problèmes à travers des discussions déjà existantes.
La communauté TestProject va plus loin en proposant à la communauté de test des retours d’expérience et de la veille à travers un blog actif… et proposant maintenant des articles dans plusieurs langues. Il est bon de noter que l’animation de ce blog est en adéquation avec le but affiché de TestProject qui est, je le rappelle, rendre la vie de la communauté des testeurs plus simple.
Conclusion
TestProject propose un outil d’automatisation des tests web et mobile mâture, apprécié de ses utilisateurs et accessible à tous les profils. Par ailleurs de par son aspect collaboratif (open source) et son envie de partage (blog, forum, addons) et sa gratuité TestProject se veut accessible en proposant une automatisation des tests web et mobile pour tous.
Si je devais proposer une évolution de l’outil ce n’est pas d’un point de vue des fonctionnalités ou de l’accessibilité que je me pencherai. En effet, je considère que de ces points de vue l’outil est actuellement suffisant. De même, j’apprécie beaucoup l’aspect communauté et partage proposé et ne vois pas de nécessité de la métamorphoser. Avant l’arrivée de la 2.0, je voyais comme les meilleurs axes d’évolution de TestProject de ses cases d’automatisation des tests web et mobile et d’application SaaS. La version 2.0 répond au second point en proposant une solution Offline qui répondra à de nombreuses problématiques du Cloud notamment d’un point de vue sécurité et nécessité d’avoir une connexion internet. Il ne reste donc que la capacité à tester sur des applications lourdes (desktop) pour avoir un outil encore plus complet.
En bref, je propose de passer de « l’automatisation des tests web et mobiles pour tous » à « l’automatisation des tests d’interface pour tous ».