Reading Time: 7 mins

Qu’est-ce que le test Shift-left et pourquoi est-ce la prochaine grande chose ?

Blog_Shift-Left-Testing_Thumbnail-Feature-image

Qu’est-ce que le test Shift-left et pourquoi est-ce la prochaine grande chose ?

Qu’est-ce que le décalage vers la gauche ?

Le parcours du développement logiciel ressemble à ceci, encore aujourd’hui :

Comme vous pouvez le constater, les testeurs ne s’impliquent pas dans les premières étapes du développement logiciel, telles que la collecte des exigences, la conception ou le développement. Les tests ont été commodément déplacés à l’extrême droite du cycle complet de développement logiciel. Les conséquences de suivre cette approche se présentent sous la forme de retarder les dates de lancement car les tests-réparations-retests prennent beaucoup de temps lorsqu’ils sont effectués à la fin, ou de compromettre la qualité du logiciel en sautant ce processus itératif.

Ce qui est venu comme une suggestion pour résoudre ces revers est le mouvement “Shift-Left”, également connu sous le nom de test précoce et test souvent.

Pourquoi est-il important de tester tôt et souvent ?

Pourquoi est-il important de tester tôt et souvent ?

L’auteur et consultant informatique James Martin, lauréat du prix Pulitzer, détaille dans son étude l’émergence de bogues à chaque étape du SDLC.

Stade SDLC % de bogues introduits
Conditions 56
Conception 27
Développement 7

Et l’étude menée par la NASA (après avoir examiné Boehm, Rothman et diverses études de cas) révèle que le coût de la correction des bogues augmente de façon exponentielle dans les dernières étapes du développement logiciel.

Dans l’approche décalée vers la gauche , la prévention des bogues et le coût de leur résolution peuvent être améliorés en effectuant des tests dans les premières étapes de SDLC. Il permet aux testeurs d’assister à la session de collecte des exigences, de participer aux sessions de conception pour comprendre comment les utilisateurs voient le logiciel, de travailler en étroite collaboration avec les développeurs pour comprendre et soulever des questions et de créer des scénarios de test “et si” pendant le développement du logiciel.

Maj-gauche ne signifie pas que les tests ne seront pas effectués aux étapes ultérieures. Cela se produira à travers le SDLC, mais le cycle de test sera plus petit et plus rapide car la majorité des défauts sont identifiés au cours des premières étapes. Cela aide à réduire le temps consacré à l’identification des défauts à un stade ultérieur et les coûts associés. Maj-gauche permet de créer rapidement des logiciels de qualité.

Comment activer “Maj-gauche” à chaque étape ?

Maj-gauche permet d’adapter les tests/testeurs à chaque étape du développement logiciel. Voyons à quoi ressembleront ce test souvent et ce test précoce en action.

Conditions

Toutes les parties prenantes, y compris les testeurs, doivent avoir une compréhension claire des exigences commerciales, de la conception et du plan de test. Les équipes ne passeront pas à la phase suivante à moins qu’un autre regard n’examine chaque aspect de l’exigence.

Conception

Comme les testeurs font désormais partie de l’équipe intégrée, ils peuvent participer à des sessions de conception avec des développeurs pour mieux comprendre comment les clients voient le produit et tirer parti de la vision alignée des approches de conception. Cela aide à réduire les anomalies dans les étapes ultérieures et à travailler plus efficacement avec une vision partagée.

Développement

Dans shift-left, l’équipe de développement doit être encouragée à commencer le développement en gardant à l’esprit la testabilité. Les développeurs peuvent écrire et tester des tests unitaires pour chaque fonctionnalité qu’ils développent et écrire séquentiellement des tests d’intégration pour s’assurer que toutes les unités de code fonctionnent bien dans l’intégration.

Des approches telles que le développement piloté par le comportement (BDD) et le développement piloté par les tests (TDD) accélèrent les tests de décalage vers la gauche. Les développeurs utilisent les approches BDD en écrivant les exigences en tant que fonctionnalités dans un langage Gherkin facile à comprendre et testent la même chose. Il offre une transparence et un retour rapide aux développeurs pour identifier les défauts au stade même de leur apparition.
Un exemple de scénario Gherkin est donné ci-dessous.

Essai

Pour tirer le meilleur parti de Shift-left, il est essentiel d’adopter l’automatisation des tests dans le cadre de votre processus de test. Comme cela implique des tests très fréquents, les équipes doivent choisir les bons outils d’automatisation des tests qui correspondent le mieux à votre infrastructure existante. Avec l’automatisation des tests, les équipes de développement et de test peuvent automatiser l’ensemble de la construction, ce qui améliorera une meilleure intégration entre les processus, améliorera la couverture des tests, amplifiera la livraison continue, renforcera la confiance avec chaque version.

Avantages du test de décalage à gauche

  • En intégrant les tests au début du cycle, les équipes peuvent trouver et corriger les défauts plus rapidement, ce qui permet d’économiser beaucoup de temps et d’argent
  • Shift-left permet aux équipes d’échouer rapidement et d’échouer en avant
  • Améliore l’efficacité du développeur et la stabilité du code lorsque les développeurs écrivent du code avec testabilité
  • Les tests de décalage vers la gauche favorisent les pratiques d’automatisation des tests permettant aux développeurs de tester rapidement leur code via l’intégration continue
  • Aide à créer un produit de haute qualité et à le lancer dans les délais estimés
  • La capacité à atteindre la stabilité du code se traduit par une amélioration de la satisfaction client

Dernier mot

Les tests de décalage à gauche préconisent une responsabilité partagée pour la construction d’un logiciel de haute qualité. Les tests de décalage à gauche sont la prochaine grande chose car ils favorisent un changement de culture dans l’organisation, passant d’une assurance qualité traditionnelle aux pratiques d’ingénierie de la qualité de la nouvelle ère.
Shift-left rationalise l’ensemble des processus de développement et de test, les boucles de rétroaction, conduisant ainsi à une meilleure qualité du produit. Cela entraîne un changement de culture positif, stimulant un environnement de croissance propice pour tous les membres de l’organisation.

Keerthi Veerappan

An INFJ personality wielding brevity in speech and writing. Marketer @ Zucisystems.