« Retour

Comment devenir testeur logiciel ?

Le monde du test fait face à un paradoxe.

D’une part, peu de formations initiales proposent de se lancer dans la profession, et le métier, quoique de plus en plus recherché en entreprise, peine à sortir de l’ombre. A l'heure actuelle, il est relativement difficile d’attraper un testeur logiciel dans son Pokédex.

D’autre part, un nombre croissant de personnes se tournent vers les métiers du test en ayant une vision très floue des activités auxquelles elles devront prendre part, ou qui ont des attendus parfois complètement erronés. Un exemple vécu ? « Je souhaite quitter mon poste de développeur pour un emploi de testeur car c’est moins difficile et il y a moins de responsabilités ! »

Plus fréquemment, nous recevons des candidatures de la part de profils divers, plus ou moins intrigués par le métier, mais sans notions de test logiciel.

Pour essayer de faire coïncider un peu mieux offre et demande, voici donc quelques pistes à l’usage de l’aspirant testeur.

Avertissement : dans cet article, nous employons le terme « testeur » au sens générique du terme.

Quelles sont les tâches du testeur ?

Mais tout d’abord, à quoi faut-il s’attendre quand on candidate à un poste de testeur ? Cette section s’adresse à tous les curieux de test logiciel qui sont attirés par cette activité et souhaitent savoir, concrètement, ce à quoi s’adonne un testeur.

Il faut garder à l’esprit le fait que l’activité de test varie d’une entreprise à l’autre, en fonction du type de projet, du mode de développement, du domaine métier et d'autres facteurs encore.

Voici tout de même une liste de quelques tâches qui brossent, dans les grandes lignes, un schéma grossier du quotidien d’un grand nombre de testeurs.

L’exécution des tests manuels à partir d’un référentiel de tests

L’exécution des tests est la partie la plus visible de l’iceberg du test. Selon les cas, elle représente 0 à 99% du temps de travail. Vous avez bien lu : 0%. C’est la première idée reçue à combattre sur le métier : on ne passe pas notre temps à cliquer machinalement sur des boutons en suivant minutieusement d’austères modes opératoires.

Quoi qu’il en soit ; quand cela se présente, le testeur se trouve devant une fiche de test (ou, bien plus souvent, devant un outil de gestion des tests) qui détaille un scénario de test à exécuter. Un scénario de test décrit d’une part les actions à réaliser, d’autre part les vérifications à effectuer.

Un exemple de cas de test : « Se rendre sur la page d’accueil et cliquer sur le bouton « En savoir plus ». Une popup doit s’ouvrir, dont le contenu doit être défilable verticalement mais pas horizontalement. »

Le testeur lit la fiche de test et exécute le scénario indiqué. Si le logiciel fait ce qui est demandé, le testeur le signale et passe au test suivant. Sinon, il rédige un rapport d’anomalie en respectant le format en vigueur dans son organisation.

Le risque de s’ennuyer existe, car les tests sont souvent répétitifs. Mais il faudra plus que de la patience pour être un bon testeur : il faudra faire en sorte de toujours tester comme si c’était la première fois !

Si vous débutez, il est possible qu’on vous demande de suivre à la lettre les scénarios de tests du référentiel. Cependant, si le contexte vous le permet, n’hésitez pas à sortir des scénarios indiqués pour faire des tests en complément. Au fur et à mesure, vous allez « flairer » les bugs de mieux en mieux ! L’exécution des cas de tests est une activité qui peut être fastidieuse, mais qui sera d’autant plus efficace que vous vous autoriserez à être créatif.

A noter également qu’un référentiel formel de tests n’est pas toujours utilisé. On parle également de test exploratoire, qui représente un sous-ensemble important de méthodes de test.

La conception des tests

La conception des tests est l’activité qui permet de construire le référentiel de tests, qui est utilisé pendant l’exécution des tests.

A partir d’un cahier des charges ou de tout autre document décrivant comment un logiciel devra fonctionner, on imagine des scénarios à exécuter. La rédaction de cas de test est bien souvent outillée, de manière à améliorer la productivité de cette activité.

Le testeur, quand il conçoit les tests, doit garder à l’esprit le fait que le temps alloué à l’exécution des tests est limité. Il doit donc cibler l’effort de test sur les fonctionnalités qui demandent le plus de test. Cela nécessite d’avoir une vue d’ensemble sur le logiciel à tester, et de définir, seul ou le plus souvent en équipe, une véritable stratégie de test.

La gestion des anomalies

Ce n’est pas tout de créer des rapports d’anomalies ; il faut aussi faire en sorte que les bugs soient corrigés. Le testeur ne corrige pas lui-même les bugs ; il doit donc les prioriser, les rendre faciles à reproduire, bref orchestrer au mieux le travail de correction. Ce travail se fait souvent en bonne intelligence avec d'autres acteurs du projet.

La gestion des anomalies est un travail effectué tout au long d’un projet ; la criticité, la priorité et les étapes de reproduction d’un bug peuvent évoluer au fil du temps. Il est important d’avoir toujours des informations fiables sur la qualité du logiciel.

Le testeur doit donner une visibilité des anomalies ouvertes. Il crée notamment des rapports indiquant les informations importantes sur le nombre et la nature des anomalies ouvertes. Ces rapports sont très importants, car ils permettent de prendre des décisions impactant la vie du projet (changement de priorités, décalage de la mise en production du logiciel).

L’automatisation des tests

Jouer les tests à la main encore et encore, ça a un coût et ça prend du temps. En tant que testeur, il vous sera peut-être (probablement !) demandé d’automatiser une partie de vos tests.

Concrètement, vous allez écrire des scripts qui, une fois lancés, vont simuler le scénario utilisateur au sein du logiciel à tester. Un petit exemple ?

Cela demande encore une fois de mettre en place une stratégie : on ne peut pas tout automatiser. Pour cette activité, on vous demandera certainement des compétences techniques (souvent, des connaissances en développement orienté objet). Vous devrez aussi faire preuve d’esprit critique afin de mettre au mieux à profit ce temps d’automatisation.

Un métier polyvalent

Bien d'autres activités encore pourraient être évoquées. Le métier de testeur est un métier largement polyvalent. Vous aurez parfois l’opportunité d’inventer, de modeler votre poste selon les besoins en qualité que vous identifierez. L’esprit d’initiative sera valorisé, et il vous faudra développer vous-mêmes des stratégies, des tactiques et des astuces pour vous adapter à un grand nombre de situations ! Cela sera d’autant plus vrai dans les équipes agiles.

Ci-dessous, à titre d’exemple, voici la répartition du temps d’un testeur sur une de nos dernières missions. Ce n’est pas un exemple à suivre absolument, simplement une illustration parmi d’autres de ce qu’il est possible de vivre dans le monde du test.

Pour un même testeur, sur un même projet, on dénombre 8 activités de test distinctes.

Pour finir, rien de tel que d’échanger avec d’autres testeurs pour se rendre compte des multiples facettes du métier ! Et pour ce faire, nous conseillons de rejoindre le groupe LinkedIn « Le métier du test ».

Les formations

Si les activités que nous avons citées vous ont fait envie, voici quelques pistes pour vous préparer avant de candidater à un poste de testeur junior.

Les formations universitaires

Il est important de noter qu’à l’heure actuelle, sur le territoire français, l’offre de formation universitaire en test logicielle est peu fournie.

Le master ITVL, proposé par l’ISTIA (école d’ingénieurs de l’Université d’Angers) en collaboration avec l’Université de Franche-Comté, offre un cursus de deux ans comprenant un stage de 6 mois, 50 heures de projet et le passage de plusieurs certifications reconnues (dont ISTQB et IREB).

A suivre également, le lancement de l’EFTL (Ecole Française de Test Logicielle) à Rennes.

Les formations éligibles au CPF

Si vous êtes en poste, il vous est peut-être possible d’utiliser votre CPF pour bénéficier d’une formation au test logiciel. Si celle-ci prépare à passer la certification ISTQB de niveau Fondation (par exemple cette formation), cela pourra donner un vrai plus à votre CV. En tant qu’aspirant testeur, vous devez savoir que les certifications ISTQB, s’ils ne sont pas obligatoires pour trouver un emploi, sont tout de même une excellente manière de montrer patte blanche dans le monde du test ! Si vous souhaitez vous faire une idée du type de questions du test ISTQB de niveau Fondation, vous pouvez faire notre test en ligne.

La POE

La POE (Préparation Opérationnelle à l’Emploi) est un dispositif permettant d’acquérir une formation professionnalisante avec un emploi à la clé. Elle est particulièrement intéressante pour les entreprises recherchant des profils rares, et les testeurs qualifiés sont en effet très recherchés.

Acial notamment propose des parcours de POE qui permettent d’acquérir les fondamentaux du test logiciel en 10 semaines, pour devenir ensuite consultant dans ce domaine. Deux parcours sont disponibles : un parcours axé sur l’automatisation et un autre parcours plus généraliste.

L’auto-formation

Des MOOCs en français sur le test logiciel ? Il y en a quelques-uns sur la plateform OpenClassroms, notamment :

Deux autres cours sur le sujet devraient être disponibles à l'été 2019 : "Testez en continu avec Jenkins" et "Testez vos fonctionnalités avec Selenium et Python".

Des MOOCs en anglais abondent également sur plusieurs plateformes.

Pensez aussi à Test Automation University, une plateforme qui contient notamment des cours débutants en automatisation. Si vous partez de zéro, ce site vous aidera à acquérir de précieuses notions !

A noter qu’il est possible, pour les très débrouillards, de passer la certification ISTQB en candidat libre pour 250 euros (prix pour un passage en France métropolitaine). Voir la liste des prochaines sessions.

Un autre axe, non certifiant, mais qui permet de faire un premier pas dans le métier, est le crowdtesting. Attention à ne pas surestimer la rémunération que vous pourrez obtenir par cette voie ; à l’heure actuelle, comme le montre cet article sur le crowdtesting, c’est un point important d’insatisfaction. Cela étant, l’expérience acquise peut être très riche et valorisante. Vous serez en contact avec un nombre important d’applications dans des domaines différents, ce qui représente autant d’opportunités de monter en compétences.

Pourquoi le métier de testeur est-il si peu connu ?

Nous espérons que cet article a pu permettre à certains d’avoir une idée plus précise sur le métier. Avant de se quitter, nous proposons de se pencher sur le problème de fond qui a mené à cet article : la méconnaissance importante dont souffre le métier de testeur.

Une famille de métiers, une multitude de dénominations

Le métier de testeur ne cesse de se développer et de se spécialiser, ce qui conduit à une diversification des dénominations. Rares sont les offres d’emploi qui se contentent du mot « testeur », comme l’explique cet article de la Taverne du Testeur.

Cependant, selon nous, ce phénomène n’explique qu’une petite partie du problème.

Une communication insuffisante auprès du grand public

En effet, un nombre important de sources d’informations grand public donne une vision parcellaire voire erronée du métier de testeur.

A titre d’exemple, la nomenclature 2018 du Cigref réserve le métier de testeur aux « Bac + 2 (BTS ou DUT) » ou aux « ingénieurs débutants », avec comme possibilités d’évolution une bifurcation vers les « fonctions études » ou la maîtrise d’ouvrage. L’automatisation des tests n’est pas mentionnée, ni les multiples spécialisations possibles dans le domaine de la qualité (test management, test de performance, test de sécurité, UX, SDET...). Vu comme ça, le métier peut donc ressembler à une « seconde chance » pour ingénieurs médiocres, en attente de trouver mieux. Quel dommage de réduire le métier à cela.

Le site « Etudiant » du Parisien relève-t-il le niveau ? Un petit peu, même si dès la première phrase, on grince un peu des dents : « Le testeur repère et relève les anomalies et bugs présents dans un logiciel ou une application avant sa publication. » La partie la plus intéressante n’apparaît qu’en troisième dans la liste des activités qui incombent au testeur : « Établir une tactique opérationnelle, créer des outils de test et d'analyse des résultats trouvés, dans le but de rédiger des bilans précis des logiciels étudiés. »

Le site de l’Apec ne mentionne tout simplement pas le métier de testeur dans sa liste des fiches métier de l’informatique.

Comment y remédier ?

Nous espérons sincèrement que le métier deviendra plus connu grâce aux efforts de la communauté du test francophone. Les différents groupes, meetups, événements et blogs existants pourront sans doute faire rayonner le métier à leur échelle.

L’apparition de personnages de testeurs dans la culture populaire pourrait également mettre notre métier sous le feu des projecteurs (comme c’est largement le cas pour les métiers de développeur et d’administrateur système !) Un grand nombre de métiers sont entourés d’un imaginaire épique et enthousiasmant ; et si c’était notre tour ?

Un avis ? Un commentaire ?

Cet espace est pour vous.



2 commentaire(s)

  • On peut aussi ajouter que le test exploratoire est bien plus satisfaisant intellectuellement que les tests formels. Les tests formels manuels ont tendance à transformer le testeur en robot et l'empêchent de suivre les opportunités qui lui viennent en tête. Le test exploratoire permet au testeur de jouer son vrai rôle, c'est à dire celui d'un explorateur, d'un investigateur qui design son travail en fonction de ses découvertes, ses questionnements et de porter la responsabilité de son travail. Je me dis que pour un aspirant testeur la perspective de faire du test exploratoire peut être une bonne motivation.

  • Merci Zoé pour l'article. Merci notamment de m'apprendre qu'une école du test va ouvrir sur Rennes (bon ils ne sembles pas très réactif à la prise de contact) Il semble y avoir un petit défaut sur le lien vers le master ITVL ;)