01net Pro Entreprise informatique
Actualités gestion et logiciel informatique professionnel
Offre et recherche Emploi informatique internet
Salon conférences inofrmatique IT ebusiness 01
Le Cloud Computing
Vidéos reportage entreprise acteur informatique
Retrouvez tous les services 01Net dédiés aux professionnels !
Télécharger logiciels Pro et progiciels
Livres blancs e-commerce informatique et nouvelles technologies
Retrouvez l'ensemble des dossiers de la rédaction 01net Entreprise
Les synthèses des bonnes pratiques sur les sujets IT du moment

Modèles, pratiques et référentiels de la qualité logicielle

Les méthodes de test s'intègrent dans le cycle de vie de l'application et dans les démarches d'amélioration existantes. La conformité du système d'assurance qualité est garanti par des normes ISO ou CMM.

La qualité peut être appréhendée de différentes manières : générale (au niveau de l'équipe de développement, testeurs inclus) ou plus spécifique (au niveau de l'équipe de test) ou encore globale (au niveau du système d'information).

Développement classique ou méthodes agiles

La phase de test s'inscrit dans le cycle de vie de l'application et fait partie des différents modèles de développement : séquentiel (en cascade, en V, en W), itératif (en spirale, Rapid Application Development) ou incrémental (méthodes agiles). La définition d'une stratégie de test doit donc prendre en compte la méthodologie adoptée sur l'ensemble du projet. Quand le développement est dirigé par les modèles (Model Driven Development), l'idée est de générer du code à partir des modèles de conception UML ou DSL. Le code généré est en principe plus fiable que celui écrit manuellement. Les méthodes agiles, elles, sont une approche alternative de la qualité. Elles utilisent des pratiques qui garantissent une qualité tout au long du projet. L'acceptation du changement et les itérations rapides fournissent alors en permanence une application qui correspond aux besoins du client. L'agilité met également en avant les tests (unitaires et effectués avant le codage) qui dirigent alors le développement. Ce qui contribue à la robustesse du code.
Le test a vu apparaître des méthodes spécifiques à cette activité. Chez les éditeurs d'outils, on met en avant des méthodes adaptées aux produits. Borland préconise les tests basés sur les exigences (Requirement-Based Testing). Les cas de test sont conçus de manière méthodique et systématique, le plus tôt possible, en exploitant directement le référentiel des exigences. Compuware, pour sa part, adopte l'approche de tests basés sur les risques (Risk-Based Testing). Chaque exigence de test est pondérée par un risque métier ou technique, ce qui permet de focaliser l'effort sur les exigences les plus importantes. C'est une approche que l'on retrouve également chez Borlandet HP. Smartesting et All4Tec implémentent le concept du test basé sur les modèles (Model-Based Testing). On modélise en UML les cas de tests de l'application ou on récupère les modèles de conception de l'application, et on génère automatiquement les scripts de tests pour les outils d'exécution de tests.

Des tests spécifiques orientés métier

Les SSII spécialisées en qualité utilisent également des méthodes spécifiques à leur métier. Chez Valtech, ce sont les méthodes agiles que l'on applique aux activités de spécification et d'analyse. Cela donne la méthode de gestion des exigences dirigée par les tests (Test Driven Requirements) : l'idée est d'écrire des spécifications interprétables directement par les outils de test, une démarche mise en?"uvre grâce à l'outil open source Fitnesse.
Sogeti promeut la méthode TMap basée sur le pilotage des tests orienté métier (Business Driven Test Management), une approche qui se veut rationnelle et économique. Elle décrit une démarche de test structurée, fournit une boîte à outils complète et s'adapte à différents contextes de développement (nouveaux projets, maintenance, externalisation...).

Une certification d'entreprise

Dans le cadre d'une approche globale de la qualité appliquée au niveau du système d'information, l'entreprise s'engage dans une démarche de certification ou d'amélioration de ses processus. Elle garantit ainsi la conformité du système d'assurance qualité à l'un des modèles normalisés de la série ISO 9000 (la version 2000 étant plus adaptée aux processus logiciels). Il existe également un certain nombre de référentiels concernant le logiciel : ISO 12207 pour le cycle de vie du logiciel, ISO 9126 pour les caractéristiques qualité du logiciel, CMMi pour l'approche de maturité des processus logiciels, ISO 15504 (Spice) pour les bonnes pratiques et l'amélioration des processus logiciel, Cobit pour le recueil des bonnes pratiques dans le domaine de l'audit publié par l'Isaca. Les approches ISO et CMM sont relativement lourdes et longues (jusqu'à dix ans). En Europe, Spice est préféré pour sa plus grande flexibilité.

Améliorer les processus de test

De la même manière que l'activité de développement possède ses référentiels d'amélioration de processus, l'activité de test possède ses propres référentiels.

Calqué sur CMM (Capability Maturity Model), le Test Maturity Model (TMM) a cinq niveaux de maturité : quatre communs à CMMi (initial, définition, intégration, gestion quantitative) et un cinquième concernant loptimisation, la prévention de défauts, le contrôle qualité.

TMM fournit des standards de comparaison entre différentes entreprises et organisations de test.

Parmi les autres référentiels, citons Systematic Test and Evaluation Process (Step), Critical Testing Processes (CTP), Test Process Improvement (TPI), Test Organization Maturity (TOM), Test Improvement Model (TIM) et Software Quality Rank (SQR).

Step, TMM, TPI et CTP semblent émerger comme standards.

envoyer
par mail
imprimer
l'article
Nos partenaires