Introduction
Ce principe met en évidence le fait que pour atteindre un certain niveau de qualité, celle-ci doit être
au centre des préoccupations tout au long du cycle de vie. Un processus itératif est particulièrement
bien adapté pour atteindre un haut niveau de qualité dans la mesure où il offre de nombreuses
possibilités de mesure et de correction.
|
|
Avantages
|
-
Qualité supérieure
-
Aperçu anticipé des progrès et de la qualité
|
Pattern
|
-
Garantir une gestion en équipe de la qualité du produit.
-
Tester de manière précoce et continue en phase avec une intégration de
fonctionnalités démontrables.
-
Construire de manière incrémentielle l'automatisation du test.
|
Anti-Patterns
|
-
Procéder à une revue entre pairs de tous les artefacts et terminer l'ensemble du
test d'unité avant le test d'intégration.
-
Procéder à une revue entre pairs de tous les artefacts intermédiaires, ce qui est
contre-productif puisque cela retarde le test de l'application et donc
l'identification des problèmes majeurs.
-
Terminer l'ensemble du test d'unité avant le test d'intégration, ce qui retarde
encore l'identification des problèmes majeurs
|
|
Discussion
L'amélioration de la qualité ne consiste pas simplement à "satisfaire les exigences" ou développer un produit qui
réponde aux besoins des utilisateurs et aux attentes. La qualité comporte aussi l'identification des mesures et des
critères permettant de démontrer que la qualité a été atteinte et l'implémentation d'un processus pour s'assurer que le
produit a atteint le degré de qualité souhaité et que cela peut être répété et géré.
La garantie d'une qualité élevée nécessite plus que la participation de l'équipe de test ; cela nécessite que
l'ensemble de l'équipe soit impliqué dans la qualité. Cela comprend tous les membres de l'équipe et toutes les
étapes du cycle de vie :
-
Les analystes sont chargés de s'assurer que les exigences peuvent être testées et qu'elles
sont clairement définies pour le s tests à réaliser.
-
Les développeurs doivent concevoir des applications en gardant le test à l'esprit et sont
chargés de tester leur code.
-
Les gestionnaires doivent garantir que les bons plans de test et que les bonnes ressources
sont en place pour la construction du test et l'exécution des tests requis.
-
Les testeurs sont les experts qualité. Ils guident le reste de l'équipe dans la compréhension
des questions qualité liées au logiciel et ils sont chargés du test global du produit (y compris le test
fonctionnel, système et de performances).
Lorsqu'un problème lié à la qualité survient, chaque membre de l'équipe doit être en mesure de contribuer à la
résolution du problème.
L'un des avantages majeurs du développement itératif est qu'il permet une approche continue et précoce du
test, comme indiqué ci-dessous. Au fur et à mesure que la fin du test approche et puisque les fonctionnalités les
plus importantes sont implémentées de manière précoce, l'essentiel du logiciel aura fonctionné depuis plusieurs mois et
il est probable, voire certain qu'il aura été testé depuis plusieurs mois. Il n'est pas surprenant que la plupart des
projets adoptant un développement itératif se traduisent par une amélioration perceptible de la qualité.
Le test est initié de manière précoce et étendu à chaque itération
Un développement itératif permet un test précoce. Le logiciel développé lors de chaque itération est testé
parallèlement à sa construction. Le test de régression garantit que de nouveaux incidents ne soient pas introduits
lorsque de nouvelles itérations ajoutent une fonctionnalité. Référence : Matériel de support : gestion de la qualité.
Au fur et à mesure de la construction de l'application de manière incrémentielle, il est également nécessaire de
construire de manière incrémentielle l'automatisation du test afin de détecter les incidents de manière
précoce tout en minimisant les investissements. Lors de la conception du système, il faut tenir compte de la manière
dont il sera testé. Une prise de décision adéquate en matière de conception peut fortement améliorer la capacité à
automatiser le test. Il est également possible de générer du code de test directement à partir de modèles de
conception. Cela gagne du temps, incite à effectuer des tests précoces et améliore la qualité du test en minimisant le
nombre de bogues dans le logiciel de test. Le test automatisé constitue l'un des sujets de discussion les plus
importants pour, entre autres, la communauté agile, dans le but d'automatiser le test pour l'ensemble du code et
lorsque les tests sont écrits avant que le code ne soit écrit (conception basée sur le test.)
|