Article de reference

Test de décalage vers la gauche

( Learn how and when to remove this message ) Les tests shift-left sont une approche des tests logiciels et des tests système dans laquelle les tests sont effectués plus tôt dan...

(Learn how and when to remove this message)

Les tests shift-left sont une approche des tests logiciels et des tests système dans laquelle les tests sont effectués plus tôt dans le cycle de vie (c'est-à-dire déplacés vers la gauche sur la chronologie du projet). C'est la première moitié de la maxime « tester tôt et souvent ». Elle a été inventée par Larry Smith en 2001.

Dommage dû à des tests tardifs

Les tests shift-left visent à prévenir les types de dommages suivants causés par des tests tardifs :

  • Insuffisance des ressources allouées aux tests.
  • Défauts non découverts dans les exigences, l’architecture et la conception, ainsi qu’un gaspillage important d’efforts lors de leur mise en œuvre.
  • Difficulté de débogage (y compris l'identification, la localisation, la correction et les tests de régression des défauts) à mesure que davantage de logiciels sont produits et intégrés.
  • Couverture de code réduite pendant les tests en raison de l'encapsulation empêchant les tests en boîte blanche .
  • Une « vague d’étrave » de dette technique qui peut entraîner l’échec d’un projet.

Types de tests de décalage vers la gauche

Il existe quatre méthodes de base pour décaler les tests plus tôt dans le cycle de vie (c'est-à-dire vers la gauche sur le modèle en V classique ). On peut les appeler tests décalés vers la gauche traditionnels, tests décalés vers la gauche incrémentiels, tests décalés vers la gauche Agile/DevOps, et tests décalés vers la gauche basés sur un modèle.

Tests de décalage vers la gauche traditionnels

Comme l'illustre la figure suivante, le décalage vers la gauche traditionnel déplace l'accent sur les tests plus bas (et donc légèrement vers la gauche) sur le côté droit du modèle V classique. Au lieu de mettre l'accent sur les tests d'acceptation et au niveau du système (par exemple, les tests d'interface utilisateur graphique avec des outils d'enregistrement et de lecture ), le décalage vers la gauche traditionnel se concentre sur les tests unitaires et les tests d'intégration (par exemple, en utilisant des tests API et des outils de test modernes). La transition vers les tests traditionnels vers la gauche a été en grande partie achevée.

  • Tests de décalage vers la gauche traditionnels
    Tests de décalage vers la gauche traditionnels

Test de décalage incrémental vers la gauche

Comme l'illustre la figure suivante, de nombreux projets de développement de systèmes complexes et volumineux s'appuyant sur des logiciels décomposent le développement en un petit nombre d'incréments (V) ayant des durées plus courtes. Le décalage vers la gauche illustré par les flèches rouges en pointillés se produit parce que certaines parties des types de tests du modèle V en cascade unique et volumineux (affichés en gris) sont décalées vers la gauche pour devenir des incréments des types de tests correspondants dans les modèles V incrémentaux plus petits. Lorsque chaque incrément est également une livraison au client et aux opérations, les tests incrémentaux décalés vers la gauche déplacent à la fois les tests de développement et les tests opérationnels vers la gauche. Les tests incrémentaux décalés vers la gauche sont populaires lors du développement de systèmes complexes et volumineux, en particulier ceux qui intègrent des quantités importantes de matériel. Comme le décalage vers la gauche traditionnel, la transition vers le décalage vers la gauche incrémentiel est également largement achevée.

  • Test de décalage incrémental vers la gauche
    Test de décalage incrémental vers la gauche

Tests Agile/DevOps shift-left

Comme l'illustre la figure suivante, les projets Agile et DevOps comportent de nombreux V de courte durée (sprints) au lieu d'un seul ou d'un petit nombre de V comme dans les deux exemples précédents de tests de décalage vers la gauche. Ces petits V seraient également modifiés si un ou plusieurs sprints précoces étaient utilisés pour bloquer les exigences et l'architecture de base ou si des tests en premier et un développement piloté par les tests (TDD) étaient effectués. Le décalage vers la gauche se produit parce que les types de tests sur les côtés droits du premier de ces petits V se trouvent à gauche des types de tests correspondants sur le côté droit du ou des plus grands V qu'ils remplacent. Bien que la figure suivante semble remarquablement identique pour Agile et DevOps, les tests Agile sont généralement limités aux tests de développement et n'incluent pas les tests opérationnels, qui se produisent une fois que le système est mis en service. La transition vers les tests de décalage vers la gauche Agile/DevOps est actuellement populaire et en cours.

  • Tests Agile/DevOps shift-left
    Tests Agile/DevOps shift-left

Test de décalage vers la gauche basé sur un modèle

Les formes précédentes se concentraient toutes sur les tests en amont du cycle de développement. Cependant, elles testent toutes le logiciel après sa création et cherchent uniquement à découvrir les défauts d'implémentation.

Les tests basés sur des modèles déplacent les tests vers le côté gauche du V, en testant les exigences, l'architecture et les modèles de conception. Ce changement commence à tester presque immédiatement, au lieu d'attendre longtemps (tests traditionnels), un temps moyen (tests incrémentiels) ou un temps court (Agile/DevOps) pour que le logiciel soit disponible du côté droit du V. Cette tendance ne fait que commencer.

  • Test de décalage vers la gauche basé sur un modèle
    Test de décalage vers la gauche basé sur un modèle

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index