Simple. Collaboratif. Open Source. Trois piliers qui font aujourd’hui de Toast TK un outil d’automatisation des « tests d’acceptance » bien dans son époque, collant parfaitement au développement agile, dans une approche « Test First/Test Last » et en mode collaboratif entre les métiers et le développement.

« Tests d’acceptance » : l’enjeu crucial du développement agile

En cycle agile, les fonctionnalités sont développées les unes après les autres, de façon itérative. Très efficace sur le plan de l’organisation, ce mode de développement impose cependant une très grande rigueur en matière de tests : l’intégration de nouvelles fonctionnalités doit s’opérer sans régression de celles déjà validées.

Ce qui implique un certain nombre de contraintes. A commencer par le maintien de la documentation fonctionnelle à jour. Tandis que la complexité grandissante des applications oblige, bien souvent, à multiplier les outils de tests, afin d’assurer la cohérence entre l’IHM, les services et la base de données. Tout en garantissant la maintenabilité des scénarios de tests, afin qu’ils s’inscrivent dans une approche préventive, les coûts d’une démarche corrective étant toujours plus élevés.

Toast TK : un outil issu du « terrain »

Ces contraintes, nombreux sont les développeurs et plus globalement les équipes projets agiles à les ressentir tous les jours. Raison pour laquelle les équipes TalanLabs ont décidé d’agir et de se créer un outil d’automatisation des « tests d’acceptance » correspondant parfaitement à leurs besoins et surtout aux réalités terrain, en mode Test First ou Test Last.

Initié en 2012, Toast TK est un projet de R&D soutenu par un certain nombre de clients grands comptes de TalanLabs, parmi lesquels la SNCF, Toast TK prend la forme d’un ToolKit Open Source intégrant 3 applications distinctes : Toast Engine, le framework (parsing, exécution des test et reporting) ; Toast Studio (capture et replay d’actions utilisateurs) ; Toast WebApp (maintenance des scénarios).

Pour la conception de l’outil, priorité a été donnée, d’une part, à la simplicité : de rédaction, de maintenabilité et d’évolutivité des campagnes de tests, à l’aide par exemple d’un dictionnaire d’objets, réutilisables dans tous les scénarios. Mais également, d’autre part, à l’accessibilité de la solution aux testeurs aussi bien qu’aux équipes fonctionnelles, dans une logique d’intégration continue, avec des rapports à la fois techniques et non techniques.

Le collaboratif, au cœur du dispositif de tests

Qu’ils soient gratuits ou payants, Open Source ou propriétaires, de nombreux moteurs de tests existent sur le marché, avec des approches plus ou moins parcellaires. Toast TK ouvre une nouvelle voie en proposant un toolkit à la fois gratuit et complet, avec des fonctionnalités avancées telles que record/replay, des rapports de campagnes, et même l’intégration d’autres frameworks de tests, parmi lesquels Selenium ou encore FEST, afin de proposer un écosystème complet aux équipes de tests.

En complément, Toast TK a d’abord été pensé pour permettre l’échange permanent entre développeurs, testeurs et MOA, grâce notamment à la synchronisation des scénarios dès qu’un changement est opéré. Sans compter que la rédaction des scénarios en langage naturel permet aux équipes fonctionnelles d’être rapidement opérationnelles, tout en servant de documentation fonctionnelle facilement automatisable, dans une approche Test First comme Test Last.

Proposé en Open Source et entièrement gratuit, Toast TK Engine, bien que déjà fonctionnel dans cette première version disponible sur GitHub, n’en est qu’à ses balbutiements. En se confrontant au marché et à la communauté de développeurs et de passionnés, la solution continuera à évoluer et à se renforcer, en particulier quant aux fonctionnalités proposées par le Studio et la WebApp.

Pour en savoir plus : https://toast.talanlabs.com

NB : Toast TK donnera lieu à une conférence « Tools in Action », le 20 avril, lors du Devoxx 2016

Sallah Kokaina
Manager Technique
Expert en Architecture et développement Web
Co-fondateur de Toast TK