Automatisation systématique du testing : réalité ou illusion ?

L’explosion, pour le moins concurrentielle, des usages numériques met aujourd’hui les marques et enseignes face à un impératif de taille : des exigences consommateurs chaque jour plus fortes et la nécessité d’y répondre par le développement de solutions rapides et efficaces.

C’est tout l’enjeu des « digital factories » qui ont fortement éclos ces dernières années, au sein même des entreprises, afin de délivrer vite et bien ces projets et services digitaux. Pour réduire ce « time to market » l’une des forces de ces structures d’innovation et d’accélération repose sur le testing, stratégie de développement devenue essentielle pour assurer la pleine maîtrise de la chaîne de production. Une stratégie qui s’est également trouvée enrichie, ces dernières années, de logiques d’automatisation et d’industrialisation qui posent plusieurs problématiques : celle de l’anticipation maximum, à un niveau précoce de développement, et celles des méthodologies et outils de testing à employer, dont les plus classiques peuvent aussi s’avérer les plus pertinentes.

L’automatisation au soutien de la maîtrise de la chaîne de production

Marques et enseignes cherchent aujourd’hui à faire usage des méthodologies agiles pour répondre à ces exigences consommateur chaque jour plus poussées. Et pour cause, en réinjectant leurs retours à l’étape même du développement, elles permettent d’apporter une réponse au besoin exprimé et de favoriser une mise en production plus rapide. Une mise en production qui nécessite toutefois une solution à la fois fiable et robuste. Pour cela, il est indispensable de solliciter les moyens les plus efficaces pour juger de leur qualité : le test s’impose ainsi comme un outil majeur, et son industrialisation plus encore. De fait, différents niveaux de tests (unitaire ou système par exemple) pour vérifier l’absence de régression, fonctionnelle ou technique de la solution suite au déploiement de patchs correctifs ou d’évolutions, s’avèrent à la fois complémentaires et indispensables pour disposer d’indicateurs solides et donc d’un niveau de confiance suffisamment satisfaisant avant l’envoi en production. Le succès de ces tests, et de leur automatisation, visibles notamment via la remontée rapide de KPI, nécessite toutefois une anticipation maximum et une réflexion menée avant même le démarrage de toute démarche de conception. Pour cela, certaines méthodologies se veulent particulièrement efficaces, posant la question de la pertinence absolue de l’automatisation. Est-elle toujours systématiquement nécessaire ? Et à quels dispositifs doit-elle s’appliquer en priorité ? 

Automatisation vs test manuel ? Méthodologies et maturité en question…

Aujourd’hui, l’automatisation comme enjeu de développement rapide et efficace pose de nombreuses questions, notamment quant au stade de sa mise en place dans le processus de production : que doit-on automatiser ? le déploiement en production, la création d’une forge, les tests, l’ensemble ?... Si l’on s’attarde seulement sur l’automatisation des tests, le timing et la maturité sont des facteurs essentiels à considérer : à partir de quand automatise-t-on ces tests ? et les solutions de testing existantes sont-elles par ailleurs assez matures pour cela ? La réponse à ces questions fondamentales nécessite de porter une réflexion préliminaire attentive au budget, aux indicateurs attendus, mais aussi à la complexité du dispositif à tester. En effet, une simple page web se distingue radicalement, en l’espèce, d’une application mobile native. De fait, le second pourra demander un effort d’automatisation plus précoce et un testing plus poussé, là où le premier se verra parfaitement appliquer, avec une efficacité similaire, une stratégie de test simple. Quoiqu’il en soit, une difficulté réelle existe encore aujourd’hui sur le marché du testing : celui de l’outillage. En l’état actuel, nombre d’outils ne permettent en effet pas un test applicable à une multiplicité de dispositifs, limitant de fait l’intérêt global de la démarche. Ce marché du testing nécessite donc le déploiement et la démocratisation d’outils clés en main, permettant tout à la fois d’appréhender le web et le mobile comme de s’imbriquer dans une CI (chaîne d’intégration continue) ou encore de s’adapter aux différentes méthodologies de développement « Agile » (en utilisant des approches Test Driven Development et Behavior Driven Development) adoptant le langage Gherkin, et de plus en plus sollicitées par les entreprises. En effet, ce dernier facilite la compréhension et l’interprétation du besoin exprimé dans les User Story, réduisant significativement les aller/retour entre les équipes. Ce n’est donc qu’à la condition de ce langage parlé et partagé par ces métiers et par les outils de testing que l’automatisation se verra faciliter, avec les bénéfices qu’on lui connait.

Mais dès lors quid des testeurs manuels ? si l’automatisation a ses vertus, elle n’entame en rien pourtant la philosophie du testing manuel, seul en mesure de percevoir le ressenti de l’utilisateur final quant à la réaction, fluidité ou rapidité d’un site ou d’une application. Loin de lui faire concurrence, le testing automatisé se veut davantage un partenaire au service d’une plus grande efficacité, et donc rentabilité.