Pourquoi une démarche structurée pour les tests?

Dans une économie où la concurrence exerce une pression de plus en plus forte sur les entreprises, la conquête de la confiance du client devient une priorité absolue. Ainsi l’entreprise mise-t-elle sur tous les outils lui permettant à la fois d’optimiser ses opérations, de garantir une qualité de prestation irréprochable et d’optimiser ses coûts. C’est notamment dans les systèmes d’informations, levier de compétitivité désormais indispensable à toutes les opérations de l’entreprise, que les managers ont choisi d’investir.

 

La qualité des engagements d’un opérateur économique est en général indissociable de la fiabilité de son système. A cause de dysfonctionnements informatiques, des entreprises peuvent en effet perdre des sommes conséquentes, voire enregistrer un arrêt complet de leurs activités.

 

Dans ce contexte, les DSI doivent répondre à cette exigence de plus en plus forte de l’entreprise : fournir un système d’information fiable.

La prise en compte de cette exigence a éveillé la conscience des opérateurs sur l’importance des tests logiciels et sur la nécessité d’adopter une démarche structurée pour la validation de la qualité des produits informatiques.

En effet la pratique des tests sans stratégie ni méthode en fait une « tâche subie », généralement effectuée par l’équipe de développement en bout de chaine, souvent dans l’urgence et de manière improvisée. Bien entendu cette approche ne permet ni de valider l’adéquation du logiciel aux besoins du client ni de confirmer correctement le bon fonctionnement des applicatifs.

 

Pour apporter une réelle fiabilité au produit sans avoir à tout tester, ce qui serait trop coûteux et irréaliste compte tenu des contraintes de temps, il est important d’adopter une démarche de test qui permet de minimiser les risques de non qualité dans un délai maitrisé et avec un coût rationnel.

 

Les tests selon cette nouvelle approche ne sont plus considérés comme une phase dans le cycle de développement logiciel, mais un projet à part entière avec ses objectifs propres. Ceci comprend une démarche structurée qui prévoit d’abord une validation du besoin client, ensuite une vérification de la conformité des analyses élaborées au besoin et finalement une validation de la solution par rapport à ce même besoin.

 

Similairement aux projets de développements, ou des méthodologies de production ont été définies et optimisées, les projets de test ont fait l’objet d’études proposant des processus rationnels et normalisés.

 

Ainsi les standards de test proposent un cycle de vie du projet de test mené en parallèle avec le cycle de vie du développement et s’appuyant sur les grandes étapes suivantes :

 

  • La planification des tests qui consiste à répondre aux questions suivantes :
    • Que Tester ? Définir les objectifs des tests et le périmètre des tests (périmètre applicatif et types de test à effectuer). Les exigences à valider interviennent à différents niveaux selon le périmètre prévu pour le projet de test.
    • Comment tester ? Définir le processus de test et les outils à utiliser pour la réalisation des tests et le suivi de leur déroulement.
    • Qui va tester ? Identifier les équipes de tests et leurs responsabilités.
    • Quelle durée ? Estimer l’effort de test en s’appuyant sur une analyse des risques et de la criticité des différentes fonctionnalités à tester. Il s’agit d’identifier les zones critiques et celles qui le sont moins pour y faire apporter un effort de test adapté. L’objectif étant de trouver l’effort de test permettant un équilibre entre un minimum de couverture de test pour un maximum de couverture de risque.
    • Quand Tester ? Définir le planning des tests (conception des scénarios, exécution des compagnes, ..)
    • Où tester ? Définir les environnements pour les tests, les pré-requis en terme de configuration logicielle, … etc.

     

  • La conception des tests : Cette phase consiste à formaliser les intentions de test en rédigeant les scénarios et les cas de Test permettant la validation de l’aptitude au bon fonctionnement (VABF) et définir les procédures de tests permettant leurs exécution.
  • La valorisation des cas de tests : Cette phase consiste à préparer les jeux de données spécifiques pour l’exécution des tests. Cette phase peut-être dissociée de la phase d’exécution ou y être intégré selon ce qui a été prévu dans la phase de planification.
  • L’exécution et gestion des anomalies : Cette phase consiste à exécuter les tests selon le plan et les procédures de Test (Cahier de Test) conçues et confronter les résultats actuels à ceux attendus. L’analyse de la différence des résultats permet de détecter d’éventuelles anomalies qui sont reportées avec une description détaillée de la défaillance détectée.
  • Livraison finale du logiciel : lorsque les anomalies restantes ne sont pas considérées comme graves, un PV de recette est émis par l’équipe de test. La correction des anomalies résiduelles pouvant être planifiée dans une phase ultérieure.

 

Piloter un projet de test revient à gérer le dispositif mis en place pour donner un retour sur l’évolution de la qualité du logiciel recetté. Le suivi des métriques sur le taux de couverture des tests et l’avancement des tests permet de mesurer la qualité du logiciel et faire les ajustements nécessaires sur les processus de qualification mis en place.

 

L’existence de méthodologies, de techniques et d’outillages spécifiques aux tests a permis d’isoler une activité de qualification logicielle professionnalisée, industrialisable et propice à l’externalisation. C’est là un levier important pour les DSI pour optimiser la qualité de leurs systèmes tout en réduisant leurs budgets. Il s’agit là de quelques-unes des raisons qui expliquent l’engouement dont font l’objet aujourd’hui les services de Tierce Recette Applicative (TRA).

 
Par Faiza Sghaier