Il existe de nombreux outils pour le test (et pas seulement pour le test!). Des outils permettant la gestion des bugs et des tests (ALM, Mantis…), des outils pour l’automatisation ou l’aide à l’automatisation (Selenium, Robot Framework…), des outils pour l’intégration continue (GitLab, Jenkins…), pour le stockage de fichiers (CVS, GIT…) et j’en passe…
Pourquoi y a-t-il autant d’outils ? A quoi servent-ils et surtout à quoi ne servent-ils pas ?
Le rôle des outils
Le rôle des outils est de nous simplifier la vie et nous permettre de faire certaines choses que nous ne pouvions pas faire avant. Cela ne vaut pas uniquement pour le test et est également vrai depuis le début de l’histoire de l’humanité où les outils nous ont permis par exemple de chasser du gibier qu’il nous était impossible de chasser avant.
Comme déjà expliqué en introduction il y a de nombreux outils aux objectifs variés (gestion de tests, automatisation, stockage, Intégration continue…).
Dans tous les cas les outils ont des buts de :
· Nous simplifier le travail au quotidien : Un outil pour implémenter de KDT permet de simplifier l’automatisation et de la rendre plus accessible. Un outil de gestion de test permet une communication plus simple sur les résultats des tests.
· Permettre l’implémentation de processus impossible auparavant : Les processus d’intégration continue sont impossibles sans les outils adéquats. En effet à chaque intégration continue il faut faire le merge des branches, le build, le déploiement et de nombreux types de tests. Tout cela ne serait pas possible si des outils automatisés ne le feraient pas à la place des ingénieurs DevOps. C’est aussi parce que des nouveaux outils permettent cela que des métiers comme ce dernier se développent et qu’auparavant ces phases (d’intégration et de déploiement) étaient ponctuelles et planifiées.
· Gagner du temps : Cela est en partie une conséquence des 2 points précédents. En effet, les outils peuvent faire plus efficacement et rapidement des actions que les humains. Cela libère donc du temps pour faire autre chose, qui a potentiellement une meilleure plus-value. C’est pour cela que depuis la sédentarisation de l’Homme les êtres humains travaillent de moins en moins (de l’aube au crépuscule et tous les jours à la pré-histoire, la noblesse et le clergé ne travaillant pas au moyen-âge, les 35 heures, le chômage, les congés payés et la retraite de nos jours).
Les outils ne permettent pas
Les outils permettent beaucoup de choses, malheureusement ils ne sont pas autosuffisants ! Si je veux faire un trou dans un mur, il me faut au moins un clou et un marteau. Par contre ce marteau et ce clou seuls ne peuvent pas faire ce trou sans l’action de l’homme. De même l’automatisation des tests permet une exécution des tests sans l’action de l’homme, par contre cela ne sert à rien si aucune analyse n’est faite derrière, cette analyse est faite par l’homme (au moins en partie). Il ne faut donc pas prendre les outils pour ce qu’ils ne sont pas :
· Indépendants : Les outils dépendent de l’homme pour beaucoup de choses telles que leur réalisation, leur maintien et leur utilisation.
· Auto-suffisants : un outil seul ne peut pas faire de miracles. Même dans le cas du déploiement continu où il suffirait d’appuyer sur un bouton pour tout déployer en production. Dans ce cas ce n’est pas l’outil qui s’autoalimente de fonctionnalités ou de correctifs à mettre en production.
· Tout (ne peuvent pas tout faire): Un outil a un but. Il est (beaucoup) plus performant que l’homme sur une action précise. Néanmoins il ne peut pas faire autre chose que ce qui a été prévu pour lui. Je ne vais pas construire une maison avec mon marteau ! Cela parait évident mais le choix d’un outil non approprié est souvent un problème avec l’automatisation des tests. Si je veux faire du test automatisé End to End sur une interface graphique alors je dois prendre un outil comme Sélénium ou UFT et non un outil comme JMeter.
Conclusion
Les outils sont indispensables. Ils permettent avec leur aide de faire énormément de choses qui peuvent être impossible sans leur utilisation. Néanmoins même si on peut quasiment tout faire avec des outils, les outils ne peuvent pas tout faire.
Un homme peut tout faire avec des outils mais c’est l’homme qui fait et se sert des outils. Un outil seul ne sert à rien.
De plus pour pouvoir faire de nombreuses choses différentes, l’homme a besoin de nombreux outils différents, chacun ayant sa spécificité. Il faut donc pour l’homme savoir maitriser ses outils, les utiliser à bon escient et choisir le bon outil selon ses besoins. Les outils restent néanmoins indispensables dans tous les métiers et donc dans les métiers du test.
Personne n’est un surhomme par contre tout le monde peut le devenir s’il sait utiliser correctement les bons outils. Je vous invite à lire cet article intéressant sur le testeur « Batman » qui parle bien de cela.