- Introduction au concept de décalage vers la gauche
- Qu'est-ce que le test Shift Left ?
- Quelle est l'influence de Shift Left sur le développement de logiciels ?
- Qu'est-ce que les testeurs devraient faire différemment dans Shift Left ?
- Avantages du test Shift Left
- Conclusion
- Lectures recommandées
Le concept de Tests de logiciels a été introduit progressivement lorsque les défauts de la production ont commencé à grever le budget du projet et que le "test fonctionnel" est entré en vigueur avec une équipe de testeurs très réduite. À ce moment-là, nous n'étions que deux testeurs face à une équipe de 20 développeurs.
L'industrie des technologies de l'information a commencé à suivre le modèle en cascade pour le développement de logiciels dans lequel, comme nous le savons tous, le cycle de vie du développement de logiciels se déroule de manière séquentielle dans l'ordre de .
Ainsi, si l'on part de la gauche vers la droite, la phase de test se situe à l'extrême droite du cycle de vie du développement logiciel.
Introduction au concept de décalage vers la gauche
Au fil du temps, les gens ont pris conscience de l'importance des Tests de logiciels Cette prise de conscience a eu lieu parce que le coût des bogues identifiés à l'extrême droite et à la fin du cycle de développement du logiciel était très élevé et qu'un effort énorme & ; trop de temps était nécessaire pour les corriger.
Il est arrivé qu'après avoir consacré tant de temps et d'efforts à un logiciel, en raison d'un bogue crucial identifié à la fin, le logiciel critique n'ait pas pu être mis sur le marché, ce qui a entraîné une perte énorme.
Par conséquent, en raison de l'identification du bogue au cours de la dernière étape, la publication a été retardée ou, parfois, le logiciel a été abandonné en raison de l'effort requis pour le corriger, qui n'en valait vraiment pas la peine.
Les défauts sont moins coûteux lorsqu'ils sont détectés à temps.
Cette prise de conscience et la grande leçon qui en a été tirée ont introduit une grande révolution dans l'industrie du logiciel et ont donné naissance à un nouveau concept appelé Shift Left" (décalage vers la gauche) Cela signifie qu'il faut déplacer la "phase de test" de la gauche vers la droite ou impliquer les tests à chaque étape et impliquer les testeurs tout au long du processus.
Le test Shift Left signifie également que l'on ne teste pas à la fin, mais en permanence.
Qu'est-ce que le test Shift Left ?
Tout d'abord, le principe du "Shift left" soutient l'action de l'Union européenne en faveur de l'environnement. L'équipe de test doit collaborer avec toutes les parties prenantes à un stade précoce. Ils peuvent ainsi comprendre clairement les exigences et concevoir les cas de test pour aider le logiciel à "échouer rapidement" et permettre à l'équipe de corriger toutes les défaillances au plus tôt.
L'approche Shift Left consiste à impliquer les testeurs beaucoup plus tôt dans le cycle de développement du logiciel, ce qui leur permet de comprendre les exigences, la conception du logiciel, l'architecture, le codage et ses fonctionnalités, de poser des questions difficiles aux clients, aux analystes commerciaux et aux développeurs, de demander des éclaircissements et de fournir un retour d'information chaque fois que cela est possible pour soutenir l'équipe.
Cette implication et cette compréhension amèneront les testeurs à acquérir une connaissance complète du produit, à réfléchir à différents scénarios et à concevoir des scénarios en temps réel basés sur le comportement du logiciel, ce qui aidera l'équipe à identifier les défauts avant même que le codage ne soit effectué.
Quelle est l'influence de Shift Left sur le développement de logiciels ?
L'approche Shift Lift influence le développement de logiciels de plusieurs manières.
Vous trouverez ci-dessous quelques points clés concernant la fonction Shift Left :
- L'approche "Shift Left" se concentre sur impliquer les testeurs dans toutes les étapes critiques, et surtout dans les plus importantes d'entre elles du programme Cela permet aux testeurs de se concentrer non plus sur la détection des défauts, mais sur leur prévention, et de contribuer à la réalisation des objectifs commerciaux du programme.
- L'approche de la gauche réorientée permet, une grande importance pour les tests avec laquelle les rôles et les responsabilités des testeurs augmentent considérablement.
- Avec l'augmentation des responsabilités de l'équipe de test, l'équipe ne se concentre pas sur les points suivants Tester le logiciel pour identifier les bogues Il travaille proactivement avec l'équipe dès les premières étapes pour planifier et construire une stratégie de test solide et efficace en fournissant un grand leadership en matière de test et des conseils à l'équipe en se concentrant sur la vision à long terme du produit, plutôt que d'assumer simplement la responsabilité du travail de test.
- L'approche "Shift Left" (décalage vers la gauche) permet d'obtenir le possibilité pour les testeurs de concevoir les tests en premier lieu Les tests sont entièrement axés sur l'expérience du client et sur ses attentes, ce qui permet aux développeurs de mettre au point le logiciel sur la base de ces tests et de répondre ainsi aux besoins du client.
- L'approche "Shift Left" ne s'arrête pas aux seuls testeurs : le fait de passer à la lettre et d'effectuer les activités de test en continu permettra également d'améliorer l'efficacité de l'approche. permettre aux développeurs de s'approprier davantage le projet de leur code et d'accroître leurs responsabilités en matière de tests.
- L'approche "shift left" encourage également Les testeurs doivent adopter le développement piloté par le comportement (BDD) et le développement piloté par les tests (TDD). qui permet d'éviter l'introduction du défaut dans le logiciel.
- Le test à gauche dans la méthode Agile : L'approche "Shift Left" soutient la formation Équipes Agile Scrum qui incluent obligatoirement des testeurs Les testeurs ont ainsi plus d'informations sur le programme, ce qui leur permet de s'impliquer dans l'analyse détaillée du logiciel et de fournir un retour d'information rapide, ce qui contribue à prévenir les défauts du logiciel.
Dans l'ensemble, les tests de la méthode "Shift Left" exigent des testeurs qu'ils S'impliquer tôt Le projet doit être réalisé le plus tôt possible, participer à la discussion et collaborer sur les idées, les exigences à chaque étape où le résultat de l'étape a une incidence sur la valeur du produit final et aide également le projet à identifier les risques et à les atténuer à l'avance.
Qu'est-ce que les testeurs devraient faire différemment dans Shift Left ?
Vous trouverez ci-dessous quelques facteurs clés à prendre en compte pour savoir ce que les testeurs font différemment dans les domaines suivants Stratégie du décalage à gauche :
#1) L'équipe de test doit s'engager très tôt dans le système, dès le lancement du projet afin de développer l'intégration avec le reste de l'équipe et de l'entreprise pour fournir des informations utiles à chaque étape du développement du logiciel.
#2) L'équipe de test doit travailler avec l'équipe Business & ; Operations et l'équipe de test. clarifier le programme et fournissent une vision claire de la demande et aident à planifier efficacement les besoins de montée en puissance des ressources, les besoins de formation et les exigences en matière d'outils de test pour le programme bien à l'avance.
#3) Les équipes de test doivent interagir avec toutes les parties prenantes de l'entreprise dès le début du développement du logiciel pour obtenir une bonne visibilité du produit & ; concevoir une stratégie de test unifiée et planifier un effort de test optimisé, analyser la dépendance sur les environnements de test, les tiers, les stubs, etc., et préparer une stratégie et un cadre d'automatisation robustes et élaborer un plan de gestion des données de test efficace.
#4) L'équipe de test doit collaborer avec le reste de l'équipe pour fournir les éléments suivants assurer un leadership en matière de tests et donner des conseils à l'équipe en gardant à l'esprit la vision à long terme du produit plutôt qu'en assumant simplement la responsabilité des activités de test.
#5) Les exigences sont la clé et la base du succès de tout programme et des exigences bien définies définissent le succès du projet. Pendant la phase de planification des exigences, les testeurs nécessité d'examiner et d'analyser les exigences pour lever toute ambiguïté, améliorer la clarté, l'exhaustivité, la testabilité, la définition des critères d'acceptation, etc.
Il faut également identifier les exigences manquantes (le cas échéant) et comprendre les dépendances et les stratégies de mise en œuvre. Des exigences claires aident le logiciel à "échouer rapidement" et à corriger toutes les défaillances au plus tôt.
#6) Apporter suffisamment de clarté et de précision aux exigences en faisant ressortir les éléments suivants exemples concrets qui illustrent les fonctionnalités utilisées.
#7) Les testeurs doivent assister aux réunions d'examen de la conception comprendre régulièrement la conception et l'architecture du produit et identifier les défauts de conception, suggérer d'autres options de conception, identifier les failles et créer des scénarios de test en conséquence pour casser les conceptions.
#8) Les testeurs doivent effectuer des essais statiques (examens) bien à l'avance et fournir un retour d'information sur les documents clés du projet afin d'éviter que des défauts ne s'incrustent dans le logiciel et n'en aggravent les effets par la suite.
#9) L'équipe de test doit collaborer avec l'équipe de conception et de développement. en fournissant des scénarios de test à l'avance pour développer le code et de prendre en compte tous les scénarios et flux commerciaux possibles en temps réel.
#10) L'équipe de test doit concevoir des scénarios d'essai solides et robustes afin que seuls quelques défauts soient identifiés lors des tests et que les défauts majeurs soient évités dès le début de la phase de test.
#11) Les testeurs doivent Tester le plus tôt possible que ce soit sur un système autonome ou local, afin d'éviter que les défauts n'atteignent des stades ultérieurs.
L'essentiel du concept "Shift Left" pour les testeurs est de trouver les défauts le plus tôt possible par tous les moyens possibles.
Avantages du test Shift Left
L'approche Shift Left est basée sur le manifeste agile et présente également plusieurs avantages.
Il s'agit de
- Individus et interactions sur les processus et les outils.
- Logiciel de travail sur une documentation complète.
- Collaboration avec les clients sur la négociation des contrats.
- Répondre au changement sur le suivi d'un plan.
Nous pouvons constater que si les éléments situés à droite ont de la valeur, les éléments situés à gauche en ont davantage.
Shift Left a pour but d'introduire l'idée de test plus tôt dans le processus, ce qui permet de réaliser des tests plus efficaces et d'améliorer la qualité du logiciel.
En résumé, le processus de test de Shift Left est le suivant :
- La détection précoce des défauts permet de réduire le coût du projet.
- Tester continuellement, encore et encore, pour réduire les défauts à la fin.
- Tout automatiser et améliorer les délais de mise sur le marché.
- Se concentrer sur les besoins des clients et améliorer leur expérience.
Conclusion
Le "virage à gauche Jusqu'alors, les tests se concentraient uniquement sur la " détection des défauts ", alors que l'objectif du " virage à gauche ", du point de vue des tests, est un voyage vers la " détection des défauts ". De la détection précoce des défauts aux tests statiques .
Ainsi, Shift Left est un grand pas en avant dans l'industrie du logiciel en ce qui concerne la méthodologie de développement de logiciels visant à accélérer la mise sur le marché, à améliorer la qualité des logiciels et à réduire le "délai de mise sur le marché".
A propos de l'auteur : Cet article a été rédigé par un membre de l'équipe STH Gayathri Subrahmanyam. Elle travaille dans les tests de logiciels depuis les années 90, juste au moment où le rôle de testeur a été introduit dans l'industrie. Au cours de sa carrière dans les tests, elle a réalisé de nombreuses évaluations TMMI, des travaux d'industrialisation des tests et des mises en place de TCOE, en plus de gérer les livraisons de tests et de mettre en œuvre des pratiques DevOps pour un grand engagement. Mais selon elle, l'apprentissage ne s'arrête jamais....
Faites-nous part de vos réflexions/suggestions dans la section des commentaires ci-dessous.
PREV Tutoriel