Inscription à notre newsletter

Suivez notre actualité, nos dernières innovations et découvrez nos publications en avant-première.
N'attendez plus et inscrivez-vous !

Sélectionner votre profil

[recaptcha]

Merci de vous etre inscrit !

Transformation digitale & Mutation des métiers de l’informatique : quel avenir pour les professionnels du test ?

Envoi
User Review
1 (1 vote)

Avis d’expert par Anthony Thibault, responsable de la practice Testing Umanis

Depuis la prise de conscience dans les années 70, de la nécessité de faire des logiciels de qualité, le test logiciel n’a cessé de prendre de l’importance au sein des projets informatiques et des DSI.
Anthony THIBAULT - Responsable de la practice Testing Umanis
Anthony THIBAULT – Responsable de la practice Testing Umanis

Longtemps considéré comme la « cinquième roue du carrosse », le test logiciel s’est petit à petit immiscé comme une discipline à part entière. Toujours en évolution, il cherche à se perfectionner, et à s’adapter aux tendances, aux particularités des projets informatiques, pour atteindre aujourd’hui un niveau de maturité élevé.

Le Comité Français des Tests Logiciel a d’ailleurs publié en avril 2017 et pour la seconde fois depuis 2013, un observatoire des pratiques du test logiciel auprès de 637 professionnels du test. Il constate que le quotidien des testeurs est partagé à poids égal entre les projets développés en cycle de développement en V et ceux développés en cycle Agile.

D’après les observateurs, 92% des entreprises en France utilisent des méthodes agiles contre 96% en moyenne au niveau mondial. Malgré ce fort taux d’adoption, de nombreux challenges restent néanmoins à relever. L’enquête mentionne « la difficulté à diviser les activités de test entre plusieurs sites en méthodologie agile distribuée », « l’absence d’environnements et de données de tests appropriés » et « la difficulté à identifier les domaines sur lesquels devraient porter en particulier les tests » comme les 3 principaux challenges pour le test dans l’agilité. La même tendance s’observe pour le DevOps, avec une adoption plus faible en France que dans le reste du monde : 84% des entreprises Françaises utilisent les principes du DevOps contre 88% en moyenne selon le World Quality Report 2017-2018. (ENGFR)

Retrouvez notre offre TESTING pour améliorer la qualité de vos systèmes d’information et atteindre le « zéro anomalie bloquante » en production

Transformation digitale : vers l’agilité et le DevOps

La raison principale du virage vers l’agilité ou le DevOps provient essentiellement de la transformation digitale désormais devenue omniprésente. Face à une concurrence toujours plus présente avec de nouveaux usages et des approches totalement disruptives – comme peuvent le faire Airbnb, Uber ou encore Deliveroo – les grandes structures prennent le pas et doivent trouver de nouvelles organisations. En effet, l’apparition de nouveaux modèles économiques centrés sur le client imposent une remise en question des organisations sous les aspects organisationnels, économiques, technologiques, managériaux et culturels. Les enjeux qui régissent désormais les entreprises sur tous les secteurs d’activité, sont la réduction du Time-To-Market, la diminution des coûts, l’augmentation de la satisfaction client, et la nécessité d’innover pour rester dans la course.

Les organisations actuelles ont été pensées il y a plus de 10 ans pour répondre au besoin de rationalisation des systèmes d’information, et où la spécialisation des métiers de l’informatique était la norme. Désormais, les organisations doivent mettre en place des équipes pluridisciplinaires aussi appelées équipes cross-fonctionnelle. Elle se compose de facilitateur, de product owner, de designer, de développeurs, de testeurs, de technicien de production, et de techlead – ayant une culture orientée produit et capable de fournir des fonctionnalités rapidement : les feature team.

La mutation est en marche !

L’apparition de ces nouvelles organisations vient donc bouleverser le modèle traditionnel des équipes informatiques, et les équipes de test n’y font pas exception. D’une part, celles-ci sont désormais intégrées dans les feature team et doivent s’approprier la culture des projets agile. D’autre part, elles doivent apporter des compétences complémentaires de leur métier, auparavant confiées à des profils spécifiques. Enfin, elles doivent disposer d’un bagage technico-fonctionnel avec des connaissances en développement et en architecture logiciel, pour être capable de communiquer et comprendre les autres membres de l’équipe, venant de métiers et de cultures différentes.

Bref, le mouton à 5 pattes …

testing-umanis

Et sans surprise, les entreprises qui ont tenté l’expérience, se voient aujourd’hui confrontées à la difficulté de trouver du personnel qualifié répondant à l’ensemble de ces exigences. Face à un marché de l’informatique déjà sous tension par manque de personnel qualifié, et encore segmenté par métier, on comprend rapidement que la transition prendra du temps pour que le spectre des compétences n’atteigne un tel niveau d’exigence. Les fonctions RH, les organismes de formation et l’enseignement supérieur des métiers informatiques doivent porter leur part de responsabilité dans cette mutation des métiers informatiques, afin de répondre à ces nouveaux enjeux. La formation continue apporte une solution, pour accompagner cette transition vers de nouvelles compétences. Elle nécessite également des investissements importants de la part des entreprises pour faire monter en compétence leur personnel.

Malgré tout, le virage vers la mutation des métiers de l’informatique s’opère et des modèles organisationnels hybrides émergent en exploitant pleinement les compétences de chaque métier au sein des feature team. C’est là que les équipes de tests tirent leur épingle du jeu : elles prennent désormais une position centrale au sein des feature teams, celles-ci ayant pour objectif de mettre à disposition des applications de qualité rapidement, sous peine de voir le produit écarté dès sa mise en service.

Cette position nécessite néanmoins quelques ajustements tant sur le rôle que joue l’équipe de test au sein de la feature team, que sur les pratiques de tests à mettre en œuvre.

L’équipe de test intervient désormais très tôt dans le cycle de développement du produit, elle interagit avec le product owner, apporte sa vision globale du produit et influence les choix en matière d’implémentation dès la phase de conception. En adoptant une approche dite « Shift-Left », elle contribue à réduire les défauts de conception et à apporter un niveau de détail des User Story qui permettront d’avoir une meilleure compréhension des attentes au sein de la feature team.

testing-umanis

Les pratiques de tests, quelles étapes ?

Il s’agit de mettre en œuvre une politique de gestion des tests par les risques, de manière à fournir des feedbacks pertinents. L’objectif est de déterminer comment ces changements affectent le risque business ou perturbent l’expérience de l’utilisateur final.

Les équipes de tests doivent ensuite intégrer les principes du test en continu dans le processus, par la mise en œuvre de l’automatisation des tests. L’implémentation de tests automatisés permet ainsi de faire face à la complexité et au rythme accru de développement et de livraison d’applications.

Il convient, par ailleurs, de faire des choix judicieux pour trouver un équilibre entre le coût engendré par l’automatisation (scripting, exécution, maintenance), et les retours obtenus sur les risques de régression associés à chaque nouvelle implémentation. En effet, l’automatisation est une activité onéreuse qui doit être économiquement viable pour être pertinente.

testing-umanis

Enfin, pour encourager la collaboration entre les membres de la feature team, les équipes de tests mettent en œuvre des techniques de test visant à se poser les bonnes questions et à se focaliser sur le comportement attendu des fonctionnalités : Le Behavior Driven Development.

Le Test Driven Development (TDD) et Behavior Driven Development (BDD), quelles différences ?

Le BDD (Behavior Driven Development) est présenté comme une évolution du TDD (Test Driven Development). Pour rappel, le TDD préconise d’écrire les tests unitaires avant d’écrire le code source d’un logiciel. Le développeur écrit d’abord un cas de test automatisé qui définit une amélioration ou une nouvelle fonction souhaitée (Write Failing Test). Puis, il produit la quantité minimale de code pour réussir ce test (Make Test Pass), et enfin réécrit le nouveau code selon des normes acceptables (Refactor).

testing-umanis

Dans le TDD, les tests unitaires automatisés sont écrits avant que le code ne soit réellement établi. L’exécution de ces tests vont ainsi permettre de savoir rapidement si le code se comporte comme il le devrait ou non. En revanche, le TDD n’offre qu’une vision unique, celle du développeur.

Le BDD consiste à étendre le TDD en écrivant non plus du code compréhensible uniquement par des développeurs, mais sous forme de scénario compréhensible par toutes les personnes impliquées dans le projet. Il s’agit ainsi de détailler les comportements que l’on attend d’une certaine fonctionnalité, en utilisant des mots clés comme « Étant donné », « Quand », « Alors », et « Et » (Given, When, Then, And). Ces comportements attendus guideront ensuite l’écriture du code.

testing-umanis

Exemple :

  • Le mot clé « Feature » permet de décrire le use case de test
  • Le mot clé « Scenario » permet de décrire le scénario
  • Les mots clés « Given », « When », et « Then » sont des « Steps » permettant l’initialisation, l’exécution et la vérification du « Scenario »

Cette technique permet à la fois de définir le besoin et sert également à guider le développement en le focalisant sur la fonctionnalité décrite.

La transformation digitale et l’adoption massive de l’agilité et du DevOps offrent de belles perspectives aux professionnels du test qui occupent un rôle central dans les organisations cross-fonctionnelles. Ainsi, ils influencent et orientent les choix en matière d’implémentation auprès de la feature team – avec leur vision transverse du produit.

En adoptant une approche « Shift-Left » dès la conception, ils réduisent aussi le nombre de défauts. Ils contribuent, par la mise en œuvre de techniques de tests de type Behaviour Driven Development (BDD), au raffinement de l’expression de besoin et à la collaboration de la feature team.

Par ailleurs, la mise en œuvre d’une politique de gestion des tests par les risques permet de piloter l’effort de test et de mesurer la prise de risque encourue pour les mises en production. Enfin, ils développent les principes du test en continu adaptés au projet en méthode Agile et DevOps notamment par l’implémentation de l’automatisation des tests.

Il s’agit aujourd’hui pour les testeurs professionnels de s’investir autant sur le test manuel, que dans leur montée en compétence sur les outils d’automatisation des tests. En effet, cette discipline trop réservée par le passé à des spécialistes, tend depuis plusieurs années à se généraliser au métier.

 

One thought on “Transformation digitale & Mutation des métiers de l’informatique : quel avenir pour les professionnels du test ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *