• 6 hours
  • Easy

Free online content available in this course.

course.header.alt.is_certifying

Got it!

Last updated on 5/2/24

Positionnez-vous dans le cycle de vie d’un projet

Positionnez-vous dans un projet de développement

Où et quand j’interviens dans tout ça ?

Bonne question !

Suivant le modèle de gestion de projet utilisé, le testeur n’interviendra pas au même moment et n’aura pas tout à fait les mêmes activités.

Nous allons voir où se situe le testeur dans les trois modèles de développement les plus courants : le modèle en cascade, le cycle en V et la méthode agile.

Pour rappel, le modèle en cascade et le cycle en V sont des modèles séquentiels. La méthode agile est un modèle incrémental et itératif.

Commençons par le modèle en cascade. Il est composé des phases suivantes :

  • prises des besoins, exigences,

  • analyse,

  • conception,

  • développement, mise en œuvre,

  • validation,

  • validation du client,

  • mise en service.

Chaque phase ne débute qu’une fois la précédente terminée et le testeur intervient seulement lors de la phase de validation. Cela implique que si des anomalies sont détectées lors de la phase de validation, il faut revenir à la phase de mise en œuvre et attendre qu’elle soit de nouveau terminée pour revenir à la phase de validation. Et si une des anomalies détectées permet de se rendre compte que la mise en œuvre est due à un problème de conception, ça remonte encore d’une phase, ce qui ralentit le cycle de développement. C’est une des critiques qui est souvent faite à ce type de modèle.

Les sept étapes sont illustrées les unes à la suite des autres en cascade.
Le modèle en cascade

Passons maintenant au modèle en cycle en V

  • une première série d’étapes, le flux descendant, vise à détailler le produit jusqu’à sa réalisation : 

    • prise des besoins ;

    • analyse des besoins ;

    • conception générale : définition des spécifications fonctionnelles et techniques du système à concevoir, tout en prenant en compte les contraintes et les exigences du cahier des charges ;

    • conception détaillée : élaboration des plans, schémas et modèles nécessaires pour réaliser les spécifications définies lors de la conception générale ;

    • développement.

  • une deuxième série d’étapes, le flux ascendant, vise à valider le produit jusqu’à sa “recette”, c’est-à-dire son acceptation par le client : 

    • tests unitaires ;

    • tests d’intégration ; 

    • tests système ;

    • validation client ;

    • mise en service. 

Une caractéristique importante de ce modèle en V est que, pour chaque phase de production, un test est conçu. Par exemple, les tests système sont conçus lors de la phase d’analyse :

  • cette caractéristique a été ajoutée pour ne pas retomber dans les problèmes du modèle en cascade ;

  • elle permet de vérifier la conformité des phases amont (descendantes) par des tests appropriés.

Les 10 étapes sont représentées dans un schéma en V. L’étape “5. développement” étant le point le plus bas. Les étapes “7.tests d’intégration” et “8. tests système” sont encadrées et reliées au personnage du testeur.
Le modèle en cycle en V

Intéressons-nous maintenant au modèle incrémental et itératif de développement qu’est la méthode agile

  • Elle fonctionne par boucles d’itérations successives (appelées sprints) ;

  • Le testeur intervient à chaque étape de la boucle, c'est à dire : 

    • la définition des exigences, des besoins : pour pouvoir définir les critères d’acceptation associés,

    • la conception : pour définir les tests système,

    • le développement : pour comprendre comment fonctionnent les API et le produit dans sa globalité et pour définir les tests d’intégration,

    • la validation à chaque livraison,

    • la mise en service.

En ce sens, ce modèle se rapproche du cycle en V.

Trois itérations sont illustrées. La première indique les six étapes du modèle agile. Le personnage du testeur est relié à chaque itération.
Le modèle agile

Assimilez le principe d’itération dans le développement logiciel

Rentrons plus en détail dans le fonctionnement des modèles itératifs à travers la méthode agile.

La méthode agile est une approche de développement de logiciels qui met l’accent sur la collaboration, la flexibilité et la rapidité. Elle s’oppose à la méthode traditionnelle de développement en cascade, qui peut être plus rigide et moins flexible.

Dans la méthode agile, les équipes travaillent ensemble de manière plus collégiale et itérative, en s’adaptant fréquemment aux changements de la demande du client. Au lieu de planifier toutes les étapes du développement à l’avance, les équipes travaillent par cycles courts, appelés “sprints”, où ils développent des parties du logiciel, les testent et les livrent au client pour obtenir leur feedback.

La communication constante entre les membres de l’équipe et le client est un élément-clé de la méthode agile. Les réunions quotidiennes rapides, appelées “stand-ups daily meeting”, permettent aux membres de l’équipe de se tenir informés des progrès et des obstacles, tandis que les réunions plus longues, appelées “rétrospectives”, permettent d’analyser ce qui a bien fonctionné et ce qui peut être amélioré pour les prochains sprints.

Enfin, la méthode agile met l’accent sur la qualité et la valeur pour le client. Les équipes travaillent en étroite collaboration avec le client pour s’assurer que le logiciel répond à ses besoins. Les livraisons fréquentes permettent au client de donner un feedback rapide sur les fonctionnalités développées.

En résumé, la méthode agile est une approche de développement de logiciels qui met l’accent sur la collaboration, la flexibilité et la rapidité, en travaillant en étroite collaboration avec le client pour développer un logiciel de qualité qui répond à ses besoins.

À vous de jouer

Je vous propose de réfléchir ici à votre positionnement au sein d’une équipe projet en vous situant dans un modèle de développement.

Instructions :

  1. Prenez un moment pour réfléchir aux différents modèles de développement (cycle en V, modèle en cascade, modèle agile, etc.) que vous connaissez.

  2. Pour chaque modèle de développement, pensez aux avantages et aux inconvénients que vous pouvez identifier.

  3. Pensez à vos expériences passées, si vous en avez, avec ces différents modèles de développement et à ce que vous avez apprécié ou non dans ces expériences.

  4. Enfin, réfléchissez à votre propre style de travail et à la manière dont vous préférez travailler au sein d’une équipe projet.

  5. À partir de cette réflexion, identifiez le modèle de développement qui correspond le mieux à votre style de travail et expliquez pourquoi.

En résumé

  • Vous savez maintenant où et quand vous positionner en tant que testeur suivant le modèle de développement utilisé.

  • Vous savez faire la différence entre les modèles de développement : en cascade, en cycle en V ou agile.

  • Vous avez une première approche des méthodes itératives et incrémentales à travers l’agilité.  

Vous avez maintenant une bonne connaissance du test dans sa globalité. Je vous invite à vérifier vos connaissances dans le quiz qui suit et on se retrouve dans la partie suivante pour aborder de manière plus pratique les tests.

Example of certificate of achievement
Example of certificate of achievement