Les « testeurs de logiciels » - des fauteurs de troubles dans leur propre équipe ?


Pour de nombreux produits et projets logiciels, il est difficile de trouver des personnes possédant une connaissance appropriée qui remplissent le rôle de testeur de manière qualifiée.

  • Pourquoi personne ne veut-il assumer ce rôle ?
  • Pourquoi la qualification de réaliser des tests est-elle sous-estimée ?
    (« Être testeur, c'est un jeu d'enfant »)
  • Pourquoi les responsables ne veulent-ils pas de prétendus fauteurs de troubles dans l’équipe ?
  • Pourquoi les testeurs sont-ils impopulaires au sein de l’équipe ou pourquoi ont-ils si mauvaise réputation ?

Il s’agit pourtant d’examiner le logiciel à la loupe de manière complète et experte afin de détecter les anomalies et les bogues à un stade précoce, de sorte qu’ils puissent être éliminés avant que le client ne les remarque.

Quelle est la particularité de l’espèce « testeur » et pourquoi tout le monde n'est justement pas à la hauteur ? C’est à cette question que nous allons tenter de répondre dans les lignes qui suivent.

Comment devient-on testeur ?

En Allemagne, il n’existe ni formation, ni cursus pour devenir « testeur de logiciels ». Il n’existe pas d’intitulé de poste uniforme pour les testeurs dans les bourses d'emploi spécialisées. On y trouve par exemple :

  • Testeur de logiciels
  • Spécialiste en sécurité informatique
  • Ingénieur testeur en informatique
  • Testeur de pénétration / Pirate informatique éthique
  • Testeur de charge et de performance
  • Automaticien testeur

Dans tous les postes susmentionnés, le profil d'emploi comprend des tâches liées aux tests. On comprend alors que « le » testeur n’existe pas. Les testeurs sont plutôt des professionnels hautement spécialisés dans certains domaines et thèmes.

Afin de professionnaliser le métier, l’International Software Testing Qualifications Board (ISTQB), organisme de certification à but non lucratif, s’est donné pour mission de développer une formation standardisée pour les testeurs de logiciels. Des certifications progressives avec des spécialisations pour les tests de logiciels y sont proposées.

Quelles sont les tâches des testeurs ?

Les testeurs doivent être impliqués très tôt dans le processus, car les tests ne commencent pas à la fin du développement, mais dès les premières phases du développement d'un logiciel.

Dans ces phases déjà, les testeurs soutiennent l’équipe de conception et de développement en analysant les spécifications, en créant un concept de test et en commençant à élaborer les tests.

Selon le degré d’achèvement du logiciel, il convient de commencer dès le début à effectuer des tests, si cela s’avère judicieux. Les tests dits fonctionnels et non fonctionnels permettent d’obtenir les premiers résultats de test et de prendre des mesures précoces en cas de bogues ou d’anomalies.

Les exigences en matière de test augmentent en fonction de la maturité du logiciel. D’autres niveaux de test viennent s’ajouter aux tests fonctionnels et non fonctionnels. Ainsi, le système est testé en association avec d’autres systèmes (end-to-end). Dans les tests de pénétration, on recherche d’éventuelles failles de sécurité et dans les tests de charge et de performance, on vérifie le comportement des temps de réponse, pour ne citer que quelques niveaux de test.

L’éventail des tâches des testeurs est très large et va de la planification des tests, de l’élaboration et de la gestion des tests et des données de test, de l’exécution des tests, de l’évaluation et de la documentation des résultats des tests jusqu’au soutien lors de l’analyse et de l'élimination des bogues, comprenant aussi la documentation et la présentation des résultats. Cela signifie que le testeur doit être à tout moment en contact étroit avec toutes les personnes impliquées.

Quelles sont les qualifications et les compétences comportementales qu’un testeur doit posséder pour accomplir ces tâches ?

Exigences posées aux testeurs

Il est fréquent que des personnes soient engagées pour tester mais elles n’ont ni la motivation intrinsèque, ni les qualifications nécessaires, car l'étendue des tâches est souvent sous-estimée par les responsables de projet/produit.

« Être testeur, c'est un jeu d'enfant » est une affirmation souvent entendue.

Malheureusement, ce n'est pas le cas - loin de là. En tant que testeur, il faut disposer d’un certain nombre de connaissances tangibles et intangibles pour pouvoir mener à bien les tâches.

Comme ces tâches sont très variées, la personne qui effectue les tests doit comprendre les consignes des Requirement Engineers et des développeurs et, en plus, toujours garder à l’esprit le client final afin que le système corresponde aussi aux attentes des futurs utilisateurs. Outre des connaissances en informatique, des connaissances méthodologiques en matière de tests sont également nécessaires. Ce n’est qu’ainsi qu’il est possible de déduire des tests permettant de découvrir avec une grande probabilité des bogues cachés. Outre les connaissances en informatique et de test, les connaissances du domaine, c’est-à-dire les connaissances spécialisées dans l’environnement des objets de test, sont nécessaires pour être en mesure de vérifier le système.

La compétence sociale ou comportementale est également une exigence importante. Comme les testeurs entrent en contact avec de nombreuses personnes au cours du processus (du Requirements Engineer au client final), l’esprit d’équipe, la doigté et la capacité d'effectuer une démarche de décentration, sont indispensables. En outre, la curiosité, la créativité, la pensée analytique et la tolérance à la frustration ne doivent pas faire défaut, tout comme la volonté de toujours remettre en question ce qui semble acquis.

En d'autres termes : des gens sympas, non ?

Pourquoi les testeurs de logiciels sont-ils malgré tout souvent mal aimés ?

Imaginez qu’un nouveau produit logiciel soit en cours de développement. Les chefs de projet, les Requirement Engineers et les développeurs se réunissent pour planifier le produit. Tous croient à la réussite du projet et à la possibilité de construire un nouveau système. De la spécification à l’application, tous travaillent main dans la main pour que le « bébé » puisse voir le jour.

Imaginez qu’après la « naissance », des testeurs apparaissent sur scène et analysent le système d’un point de vue « destructif », à la recherche de bogues et d’anomalies.

Il est évident qu’il y a là un conflit d’intérêts. Les concepteurs se sentent attaqués – leur travail est détruit et critiqué. Il en résulte un problème d’image pour les testeurs.

Il ne fait aucun doute que les testeurs pensent de manière « destructrice » - mais cela fait partie de leur travail. Les bons testeurs partent du principe qu'il n'a pas de système exempt de défauts. Chaque bogue trouvé qui peut être éliminé avant la livraison rend le produit encore meilleur.

En résumé, ce sont tous les participants qui créent un nouveau système. Les testeurs soutiennent l’équipe afin de rendre le système « parfait ».

Les tests peuvent mettre en évidence la présence de bogues mais jamais prouver leur absence !

Un logiciel sans défaut n’existe pas et un test intégral n’est pas possible, même avec une durée, un budget et des ressources illimités. Les tests ne sont jamais que des échantillonnages et le choix des tests doit être fait de manière à ce que les bogues soient détectés avec une probabilité élevée. C’est tout l’art des testeurs.

« Tester est une tâche extrêmement créative et intellectuellement stimulante ».

Cette tâche doit être confiée à des professionnels qui répondent aux exigences et qui sont intrinsèquement motivés pour améliorer le système.

Les testeurs de logiciels doivent être considérés comme une partie importante du processus et non comme des « robots à clics » qui exécutent des tests.

Vous souhaitez en savoir plus sur ce que nos logiciels peuvent faire pour les assureurs ? Alors n'hésitez pas à contacter notre expert Karsten Schmitt, Head of Business Development.

Vous êtes intéressé par les produits d'adesso insurance solutions

Vous trouverez ici un aperçu de toutes les solutions logicielles pour toutes les branches d'assurance - pour la gestion des portefeuilles, la gestion des prestations, le traitement des sinistres, la modélisation des produits ou pour la numérisation en général.

Vers la page produit
}