Le testeur acquiert ses lettres de noblesse
Un rôle bien défini, une utilité reconnue, une fonction enfin acceptée. Ni développeur, ni expert système ou réseaux, le testeur est au service de la qualité logicielle.
01net.
le 08/07/05 à 07h00
Vérifier qu'une application correspond au cahier des charges. Qu'elle ne dégrade pas le système en place. Qu'elle s'installe correctement et qu'elle est exploitable. Qu'elle encaisse les charges prévues... Avant qu'une
application soit validée et qu'elle franchisse le seuil de la production, les tâches ne manquent pas. Elles se gèrent comme un véritable projet, en parallèle du projet applicatif. Et ceux qui assurent cette charge exercent un métier à part
entière.
Les éditeurs sont les premiers formateurs
Aujourd'hui, les entreprises ne sont pas encore toutes dotées d'une cellule de tests. Mais beaucoup considèrent la question, sachant qu'une structure dédiée permet de synthétiser, de fédérer, et donc de capitaliser sur les tests.
Cette cellule apporte en outre une visibilité supplémentaire sur le projet global et garantit la disponibilité des applicatifs en production. Au final, elle rapporte davantage qu'elle ne coûte.
Première contrainte pour celui qui exécutera les tests : connaître les outils qui facilitent leur automatisation ?" création, exécution, analyse. En général, les éditeurs dispensent une formation. Mais on assiste à une
réelle reconnaissance de la spécificité du métier de testeur. En effet, des cursus existent désormais en universités ?" celle d'Angers, par exemple ?" et dans certaines écoles d'ingénieurs telles que l'Epita. Le testeur
s'appuiera sur ces outils non seulement pour exécuter les tests, mais également comme supports de préparation et d'analyse. ' Un testeur consacre 60 % de son temps à la réflexion, à l'analyse, au montage stratégique avec
des arbres de décision ', précise Philippe Desenfants, chef de division d'assemblage et qualification fonctionnelle au sein de la direction du système d'information voyageurs (DSIV) de la SNCF.
Les outils seuls ne suffisent pas. Ils requièrent aussi de la méthodologie. ' Les outils de test ont beau être très performants, sans processus associé, ils n'apportent rien ', souligne
Patrick Delattre, directeur de l'intégration et de la performance à la direction des plates-formes de services de France Télécom. Il faut penser organisation ?" coordination des tâches, synchronisation avec les développeurs,
etc. ?" et optimisation de la productivité du test. L'analyse d'impact et les critères de risques permettent de hiérarchiser les priorités. Et, par exemple, de rendre certains tests obligatoires. ' L'effort de test
ne doit pas être maximum ', précise Patrick Delattre. Il doit rester proportionnel aux risques que l'entreprise prend une fois l'application en production.
Un généraliste plutôt qu'un expert
Editeurs, cabinets de conseil ou entreprises elles-mêmes proposent leur méthodologie. Une formation sérieuse, d'un mois au minimum, s'avère indispensable. On ne requiert pas d'un testeur qu'il possède une expertise dans un domaine
informatique précis. Mais il doit développer le goût de la recherche et faire preuve d'une grande curiosité, en raison du spectre très large de technologies et d'applications couvertes. Il lui faut aussi être minutieux, rigoureux et doté de
capacités d'analyse très fine. Cela tout en étant capable de prendre du recul pour profiter d'une vision panoramique du système d'information. Ses compétences devront être plus techniques ?" profil de développeur ou d'ingénieur
système ?" pour les tests de montée en charge. Ceux-ci sont devenus obligatoires pour des applications centralisées.
Concernant les tests fonctionnels, seule une base technique s'avère nécessaire. En revanche, l'accent est mis sur la connaissance métier pour pouvoir dialoguer avec l'utilisateur, appréhender ses besoins et les retranscrire dans des
scripts. Souvent, cette connaissance s'acquiert par l'expérience. Mais que l'on ne se méprenne pas, les outils de conception et d'automatisation de ces scripts ne font pas tout. Seule l'expertise sera réellement efficace. ' Le
potentiel de ces outils fait rêver. C'est un film qui rejoue les actions des utilisateurs ', explique Jean-Yves Brondel, gérant de la SSII Scopteam, dix ans de tests derrière lui et toujours opérationnel. Mais encore faut-il
savoir les piloter...
Un rôle à la fois préventif et répressif
Le rôle du testeur est de détecter les anomalies. Un rôle parfois délicat, à la fois préventif et répressif. ' Nous pouvons être perçus comme des censeurs, des empêcheurs de tourner en
rond ', note Philippe Desenfants. Son objectif : livrer des applications certifiées exploitables. Pour ce faire, plusieurs navettes sont parfois nécessaires entre le test et le développement. Car le testeur vérifie ce
qui fonctionne et ce qui ne fonctionne pas à partir de son expérience et de son analyse. Le développeur effectuant ensuite les corrections. Et enfin, après plusieurs allers et retours, le produit passe en validation.
Ce métier s'inscrit dans le cycle du développement logiciel, mais il demeure un métier de communication. ' Il faut être diplomate pour dire à un développeur qu'il n'a pas tout à fait compris les attentes de
l'utilisateur, qu'il a commis des erreurs de développement. Ou, a contrario, pour expliquer à un utilisateur que sa demande, irréalisable, nécessite de revoir les spécifications. '
De meilleures relations avec les développeurs
Comme toute profession, le testeur peut évoluer. Avec un DESS de mathématiques appliquées en poche, Jimmy Fabriano est entré en 2001 chez Telintrans, filiale exploitant l'informatique de Chronopost. Après une rapide formation au
développement et à des outils de test, il a d'abord intégré un projet simple, puis, au fil du temps, des projets plus complexes, assisté de testeurs expérimentés. Il est aujourd'hui chargé de projets. Il planifie les charges, anime l'équipe et suit
l'avancement des projets ?" applications Web avec serveurs d'applications Java ?" en étroite collaboration avec les chefs de projet applicatifs et l'exploitant. Ce qui ne l'empêche pas d'être toujours opérationnel sur les
tests.
Certes, les relations entre développeurs et testeurs n'ont pas toujours été au beau fixe. Néanmoins, les choses semblent aujourd'hui rentrées dans l'ordre. Le testeur a réussi à prouver son utilité. Il arrive même que les développeurs
soient demandeurs. Michel Atalay, directeur du département des tests d'intégration chez Telintrans, en témoigne : ' Les équipes de production nous font confiance, puisqu'elles réclament notre tampon de
validation. '
Son profil type
Ses fonctions
Il déroule un projet de qualification : élaboration d'une stratégie de test, réalisation du plan et des scénarios, mise en place de l'environnement de test, exécution des tests et rédaction des rapports.
Il fournit des recommandations afin de corriger les anomalies détectées.
Ses compétences
De niveau bac +2 ou ingénieur, il doit connaître les environnements de production et les serveurs d'applications, mais aussi maîtriser les outils de test.
De bonnes aptitudes à la communication s'avèrent indispensables.
Ses outils
Chez Mercury : Testdirector (planification des tests, analyse et gestion d'anomalies), Quick Test Pro/ Winrunner (tests fonctionnels), Loadrunner (tests de performances).
Chez Compuware : QArun (création et exécution de scripts), Test Partner (tests fonctionnels Java et web).
Trois cellules de tests
SNCF
Date de création : 1997
Mission : assembler et vérifier les applicatifs avant la livraison. Assurer par des tests de non-régression le bon fonctionnement du système d'information.
Nombre de testeurs : 80
De qui elle dépend : direction du système d'information voyageurs
France Télécom
Date de création : 2001
Mission : améliorer la qualité de service des systèmes qui partent en production en détectant un maximum d'anomalies sur des plates-formes dédiées aux tests.
Nombre de testeurs : 300
De qui elle dépend : direction des plates-formes de services
Telintrans
Date de création : 2004 (cellule créée en 2000 chez Chronopost)
Mission : garantir la qualité du logiciel et pallier le mécontentement des recetteurs métier. Réaliser des tests fonctionnels, d'intégration et de performances.
Nombre de testeurs : 7
De qui elle dépend : direction des techniques de l'infrastructure
Albane Dahmen (SNCF) : ' une entité indépendante de la réalisation évite d'être juge et partie '
' Notre système d'information met en jeu de nombreux composants applicatifs allant du mainframe au monde ouvert , réalisés par différentes entités. La division assemblage qualification fonctionnelle de la DSIV
assemble dans un premier temps les livraisons des composants applicatifs qui ont été développés indépendamment et testés de façon unitaire. Elle effectue de bout en bout les premiers tests fonctionnels. Et garantit ainsi le bon fonctionnement intra
et interapplications, tout en s'assurant de la conformité des développements aux spécifications du projet. Par le biais des tests de non-régression, nous nous assurons que nous ne dégradons pas le système en production. L'existence d'une entité
transverse indépendante des autres divisions d'études et de réalisation donne le recul nécessaire et évite dêtre juge et partie. '