Si vous êtes un développeur en automatisation des tests ou si vous envisagez d’en faire une carrière, vous êtes-vous déjà demandé si des compétences en test sont essentielles pour votre métier ? Cet article vous aidera à répondre à cette question.
Voici comment l'apprentissage de « l’état d’esprit d’un testeur » m’a aidé à devenir un meilleur développeur en automatisation.
Mon histoire : Travailler en parallèle comme développeur en automatisation et testeur
Mon premier emploi en sortant de l’université était spécialiste en test chez IBM. J’étais ravi, principalement parce que j’avais intégré l’entreprise de mes rêves. Cependant, quelque part au fond de moi, j’avais l’impression qu’il me manquait quelque chose. J’ai rapidement compris que c’était parce que, durant mes années universitaires, j'avais toujours été passionné par le développement de code.
Ainsi, pour poursuivre mon objectif de devenir codeur, dès mes premiers jours de travail, j’ai parlé à mon chef de projet pour m’impliquer dans le développement de l’automatisation des tests. À ma grande joie, il a accepté sans hésiter ! Cependant, il a ajouté que je devrais quand même continuer à exercer mon rôle de spécialiste en test en parallèle.
L’organisation était donc la suivante : je travaillais comme spécialiste en test pour un ensemble de composants, et comme développeur en automatisation pour un autre composant important du produit.
Quelques jours plus tard, j’ai fait une découverte étonnante !
J’ai découvert qu’être testeur m’avait aidé à améliorer mes compétences en développement. Lorsque je développais du code, je commençais à penser comme un testeur. J’ai commencé à réfléchir à la couverture des tests, aux multiples chemins de test, aux aspects d’utilisabilité, à la lisibilité et bien plus encore !
Mon premier mentor expert en test
De plus, pendant ces premiers jours, j’ai eu l’opportunité de travailler avec un expert en test sur la rédaction d’un article technique sur les tests d’accessibilité, à soumettre à une conférence technologique internationale.
En rédigeant notre article basé sur notre expérience et nos apprentissages du sujet, j’ai trouvé mon tout premier mentor en test.
Puisque j’étais nouveau dans le domaine des tests, j’avais de nombreuses questions. Mon collègue-mentor m’a aidé à y répondre en m’orientant de la meilleure façon possible. Il était passionné par le domaine des tests ! Cette passion était contagieuse, et je l’ai transmise à mon tour !
Réseautage avec des passionnés du test
Devinez ce qui a suivi : nous avons assisté à la conférence technologique où notre article a été sélectionné !
Durant la conférence, nous avons rencontré une communauté passionnée d’amateurs de test comme mon mentor. J’étais impressionné par le respect que les gens portaient au métier de testeur et la manière dont ils envisageaient de progresser dans leur carrière. Nous avons fait des rencontres, échangé des notes, appris des conseils et astuces en testing !
Récapitulatif
Le destin m’a amené vers le test pour mon tout premier job, alors que ma passion initiale était le développement en automatisation.
Peu à peu, j’ai découvert que le test m’avait aidé à devenir un meilleur développeur ! Finalement, j’ai constaté que cet « état d’esprit de testeur » m’a permis de développer des scripts d’automatisation de tests de grande qualité.
J’ai eu la chance d’avoir cette opportunité d’apprendre cette perspective en travaillant simultanément comme testeur et développeur en automatisation de test.
Testez votre code : excellez en tant que développeur
Pendant mon expérience de travail simultané en tant que testeur et développeur en automatisation, j’ai découvert qu’un développeur qui améliore ses compétences en test finit par apprendre à écrire du code « meilleur ».
Après tout, plus tôt les bugs sont détectés dans le code, moins cela coûte cher. Si, en tant que développeur, vous pouvez repérer ce bug avant de transmettre le code à l’équipe de test, cela vous fera gagner du temps et de l’énergie.
De plus, lorsque vous commencez à penser comme un testeur idéal, vous accordez la priorité à la perspective d’utilisation métier du produit — ce qui est fondamental. Vous commencez à « penser en dehors du cadre ».
Par exemple :
Avant de livrer leur code à l’équipe QA, les développeurs doivent effectuer des tests unitaires bien planifiés. Cela permet d’éviter l’apparition de défauts inutiles dans le système au niveau de l’intégration ou du système.
Pendant les tests unitaires, les développeurs testent des unités individuelles de code source pour vérifier qu’elles respectent les exigences et que le code fonctionne comme prévu.
De plus, un développeur peut participer aux tests d’intégration.
Les tests d’intégration sont une forme de tests dans laquelle les développeurs testent les systèmes ou unités de code reliés entre eux pour s’assurer que les différents aspects du framework fonctionnent bien une fois intégrés.
Quelles pourraient être les raisons pour lesquelles les développeurs négligent souvent les compétences en test ?
Les raisons peuvent être parmi les suivantes :
1. Une croyance préexistante selon laquelle les tests ne doivent être réalisés que par les testeurs
Ils peuvent penser que le test logiciel ne les concerne pas ou qu’ils n’ont rien à voir avec les tests logiciels.
2. Ils supposent que leur objectif doit uniquement porter sur le perfectionnement du framework
Les développeurs qui se concentrent uniquement sur le perfectionnement du framework et de la documentation, plutôt que sur la découverte des bugs dans le logiciel, sont généralement confrontés à de mauvaises surprises par la suite.
Si un « défaut apparent » est manqué par le développeur, lorsqu’un testeur le détecte, cela implique du temps pour reprendre le code et corriger le défaut. Ce n’est pas le scénario souhaité.
Et comme vous le savez : un développeur est la personne la plus familière avec le code qu’il a lui-même écrit. Ainsi, ne serait-il pas préférable qu’il le détecte lui-même en premier, et ce, tôt dans le cycle ? Par ailleurs, cela permettra aussi aux testeurs de consacrer leur temps et leurs efforts à des défauts plus critiques et prioritaires.
3. Une tendance à procrastiner sur la résolution du problème lorsqu’il est d’abord constaté
Les développeurs peuvent supposer qu’il est plus efficace de déboguer plus tard. Mais, en réalité, il est plus simple de déboguer lorsqu’un développeur détecte le défaut tôt.
Le débogage de l’échec et la ligne de code à l’origine du bug s’afficheront dans le scénario d’échec lorsque le développeur s’en aperçoit en premier.
Au contraire, si le défaut est « repoussé » à plus tard, il nécessitera des revues de défauts, un débogage approfondi et du temps de retouche.
Cinq conseils pour développer un état d’esprit orienté test en tant que développeur d’automatisation des tests
1. Devenez volontaire pour un rôle de testeur
Ce serait une bonne idée de vous porter volontaire pour occuper un rôle de test afin d’acquérir une expérience pratique. Cela permet aux développeurs d’affûter leurs compétences en test.
Et que pouvez-vous faire pour accéder à un poste de testeur ?
Eh bien, la réponse est simple : pendant que vous recherchez ce type de poste, vous pouvez vous instruire afin de comprendre comment un testeur efficace « pense ».
2. Formez-vous
Lisez, discutez, brainstormez, posez des questions !
Je vous expliquerai comment le faire plus loin dans cet article.
3. Réseautez
Les ateliers et conférences sont d’excellents endroits pour rencontrer des experts du domaine des tests. Vous pouvez y exposer vos plus grandes idées et préoccupations, et je suis sûr que vous y trouverez quelqu’un pour vous aider.
4. Trouvez un mentor
Comme je l’ai mentionné précédemment, j’ai eu la chance de trouver un mentor qui m’a fait aimer le test. Il est extrêmement bénéfique de trouver un mentor passionné par le test, quelqu’un qui vous accompagne.
5. Gardez l’esprit ouvert et écoutez les retours de vos testeurs automatisés
Il arrivera que les testeurs qui exécutent votre code d’automatisation rencontrent des problèmes et partagent leurs préoccupations. Écoutez-les avec bienveillance, et tenez compte de leurs suggestions si elles vous semblent pertinentes.
Vos collègues testeurs vous ouvriront à de nouvelles perspectives dans votre façon de penser et vous aideront, au final, à améliorer la manière dont vous écrivez du code d’automatisation.
Comment vous former au test logiciel ?
Lisez des blogs et des publications scientifiques
Renseignez-vous abondamment sur le test logiciel et mettez en pratique ce que vous apprenez. Nous avons la chance de vivre à une époque où toute l’information est accessible sur Internet.
Vous pouvez donc lire des blogs voire des articles de recherche pour obtenir d’excellentes ressources pédagogiques. Et vous pourriez même partager vos propres apprentissages !
Participez à des séminaires, ateliers et obtenez des certifications
Vous pouvez participer à des séminaires, ateliers et conférences qui explorent l’univers du test. Ce sont d’excellents environnements pour apprendre, partager des connaissances et stimuler vos idées. Vous y rencontrerez également des personnes passionnées par le test.
En outre, vous pouvez ambitionner d’obtenir des certifications en test telles que ISTQB, CSTM, etc. Ainsi, vous apprendrez des méthodologies, outils, astuces et techniques pour tout comprendre de l’univers du test logiciel.
Pour conclure
Avoir un état d’esprit de testeur et maîtriser les méthodologies, outils, astuces et techniques de test est indispensable pour s’épanouir en tant que développeur d’automatisation des tests. En effet, il est avantageux pour tout développeur de comprendre pourquoi, quand et comment tester.
Lorsqu’une équipe de développement teste son code efficacement, avant de le transmettre à l’équipe QA, la dynamique d’équipe s’en trouve grandement améliorée.
Ce changement sera bénéfique pour tout le monde. Les développeurs pourront livrer du code de haute qualité, et les testeurs pourront se concentrer sur la détection des défauts critiques que les développeurs pourront ensuite corriger.
Le résultat est un produit de qualité livré au client.
Tout cela est possible en apprenant davantage sur le test logiciel, même si vous êtes développeur. Si vous n’avez pas encore commencé, pas d’inquiétude, il n’est jamais trop tard pour apprendre ! Commencez par consulter notre bibliothèque de podcasts ! En voici un que nous avons sélectionné pour vous : LA GÉNÉRATION DE L’AUTOMATISATION AUTONOME ET À QUOI CELA RESSEMBLE (AVEC BERTOLD KOLICS DE MABL)
À lire également : MEILLEURES PRATIQUES POUR L’AUTOMATISATION DANS LA TRANSFORMATION NUMÉRIQUE
