top of page

Testing

En informatique, un test est une procédure de vérification partielle d'un système. Son objectif principal est d'identifier un nombre maximal de comportements problématiques du logiciel. Il permet ainsi, dès lors que les problèmes identifiés seront corrigés, d'en augmenter la qualité.

D'une manière plus générale, le test désigne toutes les activités qui consistent à rechercher des informations quant à la qualité du système afin de permettre la prise de décisions.

Le testing, est une compétence que j'ai dû apprendre tout au long de ma progression en tant que développeur, en effet le testing peut être effectué sous de nombreuses formes, lorsque j'étais un débutant, le testing consistait simplement à vérifier que les portions de code que j'écrivais fonctionnaient correctement dans le cas où je les avaient imaginé. Par la suite, quand je suis entré en stage, le testing est devenu quelque chose d'obligatoire à chaque étape du développement. En effet, c'est à ce moment que j'ai été forcé d'implémenter des test unitaires (TU) à mon code. Un test unitaire est un test qui comme son nom l'indique, vise à tester les méthodes implémentées une par une et ce dans tous les cas où cette méthode peut-être utilisé. 

Par exemple, pour une méthode qui vise à récupérer une liste de prénom, on va écrire un test en donnant une liste à la méthode et en fonction du traitement que la méthode effectue on va voir si elle nous retourne la liste si celle-ci est correcte, ou bien, on va vérifier que la méthode renvoie une erreur dans le cas où un nombre se glisserais dans la liste de prénoms, etc. 

Par la suite, en alternance j'ai pu rejoindre les projets frères DP360 et Harmonie en effet, ces deux projets étant les mêmes avec pour seul différence, le client pour lequel ils sont réalisés (donc leur affichage est légèrement différent mais le fonctionnement était le même). J'ai rejoint ces projets non pas en tant que développeur mais en tant que testeur. Ainsi, j'ai l'occasion grâce à ces projets de découvrir le test fonctionnel. Le test fonctionnel est contrairement aux TUs, un moyen de tester une application dans son ensemble via l'interface de cette dernière. Mon rôle sur ces projets étaient donc de réaliser une batterie de tests standardisés couvrant l'intégralité des fonctionnalités de ces applications et de faire des retours à l'équipe de développement si je trouvais des problèmes. J'étais également chargé d'écrire des fiches de test pour les nouvelles fonctionnalités intégrées aux applications. Une fiche de test étant une liste de tests à réaliser afin de couvrir tous les cas d'utilisation d'une fonctionnalité.

Enfin, en rejoignant Generali, j'ai recommencé à réaliser des TUs pour chaque fonctionnalité que je développe. Cependant, grâce à mon expérience au sein de DP360/Harmonie, il est beaucoup plus simple pour moi de me mettre à la place d'un utilisateur lambda et ainsi pouvoir faire des retours sur des pages qui sont implémentées et même être force de proposition afin de rendre les applications sur lesquelles je travaille plus facile d'accès pour nos utilisateurs.

Après presque 5 ans à réaliser des tests plus ou moins élaborés pour les fonctionnalités que je développe, je dirais que j'ai atteint un niveau de maîtrise assez important pour être en quasi autonomie. Par là j'entends qu'il est désormais rare qu'un collègue ou un testeur vienne me voir en me disant que j'ai oublié un cas d'utilisation pour ce que je développe. Le testing est devenu une partie extrêmement importante de mon métier de développeur, j'estime qu'aujourd'hui 60% de mon activité en entreprise consiste à tester les fonctionnalité que je développe. Il m'aura fallu du temps pour comprendre à quel point le testing était obligatoire. 

Avec du recul, si je devais donner un conseil à tous ceux qui débutent le développement je dirais "apprend à tester ce que tu fais", je me rends compte que la phrase "tester c'est douter" est aussi bête que fausse. 

Malgré tout, je pense qu'il m'est encore possible de m'améliorer dans le testing en effet, je manque clairement d'expérience sur certains types de tests qui sont faisables en tant que développeur par exemple, dans cet article je n'ai jamais mentionné les test d'intégration; c'est tout simplement car je n'en ai jamais fait et il s'agit donc pour moi d'un axe d'amélioration possible sur cette compétence.

A moyen termes, je souhaite donc continuer de m'améliorer dans cette capacité que je considère comme obligatoire pour tout développeur qui se respecte et même si je compte m'orienter vers un rôle qui se rapproche de la gestion de projet, la capacité de tester au moins fonctionnellement une application me sera toujours grandement utile pour être force de proposition sur n'importe quel projet que je pourrais rejoindre dans le futur.

Je n'ai actuellement pas de formation prévues dans ce domaine. Comme je l'ai dis plus tôt, je pense avoir un niveau en testing qui est largement suffisant par rapport à ce que l'on me demande actuellement.

Réalisations liées à cette compétence : 
bottom of page