plateforme de test avec docker

Qu’est qu’un plan de test logiciel ? Comment rédiger un bon plan de test ?

Un plan de test logiciel est un document détaillant la stratégie qui sera suivie pour tester une application. Il permet de structurer l’approche de test, de définir les objectifs de test et de déterminer les méthodes et ressources qui seront utilisées pour atteindre ces objectifs. En termes simples, un plan de test indique ce que vous allez tester, comment vous allez le tester et qui va le faire.

Dans cet article, nous allons d’abord définir ce qu’est un plan de test, selon le syllabus ISTQB. Ensuite, nous présenterons les méthodes pour rédiger ce document. Enfin, nous parlerons des outils de gestion des plans de test disponibles sur le marché.

1. Définition d’un plan de test (syllabus ISTQB)

Pour chaque niveau de test, la planification des tests logiciel commence au début du processus de test pour ce niveau et continue tout au long du projet, jusqu’à l’achèvement des activités de clôture pour ce niveau. Cela implique l’identification des activités et ressources nécessaires à la réalisation de la mission et des objectifs définis dans la stratégie de test. La planification des tests inclut aussi l’identification des méthodes pour collecter et suivre les métriques utilisées pour guider le projet, déterminer le respect du plan de test et mesurer l’atteinte des objectifs.

En déterminant des métriques utiles pendant les étapes de planification, des outils peuvent être sélectionnés, des formations peuvent être programmées et des recommandations de documentation peuvent être établies. Le plan de test peut aussi lister les caractéristiques spécifiques du logiciel faisant partie de son périmètre (sur la base de l’analyse des risques, si nécessaire), de même qu’identifier précisément les caractéristiques qui sont hors de son périmètre. Selon les niveaux de formalisme et la documentation adaptés au projet, chaque caractéristique à couvrir peut être associée à une spécification de conception de test correspondante.

Conformément au syllabus ISTQB, on peut distinguer deux types de plans de test :

  • Plan de test maître (ou plan de test projet) – décrit l’implémentation de la stratégie de test sur un projet particulier
  • Plan de test de niveau (ou plan de test de phase) – décrit les activités précises à mettre en œuvre pour chaque niveau de test.
    • Tests unitaires
    • Tests d’intégration
    • Tests système
    • Tests d’acceptance

2. Comment rédiger un plan de test logiciel ?

Les plans de test logiciel font partie du processus d’une campagne de test. Ils permettent de définir ce qui sera testé, pourquoi tester, comment les tests s’effectueront, quand et qui teste. Le but est d’établir l’ordre dans lequel chaque composant est complété, testé individuellement, et intégré avec les autres composants du système.

Pourquoi tester ?

Les plans de test logiciel doivent répertorier les objectifs à atteindre (définition des étapes du processus de test, identification des problèmes ou des risques, détecter le maximum d’anomalies…)

Quoi tester ?

Dans le plan de test on doit retrouver le périmètre d’intervention de l’activité de recette associé au projet. Ainsi, il faut lister les éléments du produit/ logiciel qui seront testés et il faut définir les éléments qui sont exclus de la stratégie (en spécifiant les raisons).

Comment tester ?

A ce niveau, il faut mentionner l’approche globale du test. Il faut spécifier les niveaux de test, les types de test et les méthodes, en fonction des objectifs.

Il faut définir les critères utilisés afin d’établir si chaque élément du logiciel/ produit a réussi ou échoué lors des tests.

Dans les plans de test doivent figurer les ressources matérielles nécessaires pour atteindre les objectifs des tests.

  • les configurations matérielles (serveurs, PC, banc de test)
  • les configurations logicielles (logiciels, versions)
  • les outils de production et de support (Suivi des anomalies, geBug tracking, Test Management, Automate de Functional Testing)
  • Les pré requis fonctionnels et techniques (paramétrage initial, jeux de donnée en entrée)

Qui teste ?

Il faut lister les responsabilités de chaque équipe/personne impliqué dans le processus des tests.

La planification des tests, ainsi que le suivi et le contrôle des tests font partie des rôles du Test Manager. Travaillant avec l’équipe de test, il établi les processus et mécanismes de livraison des objets de test, qui seront intégrés dans le plan de test. Pendant l’exécution des tests, le Test Manager doit suivre l’avancement par rapport à ce qui a été défini dans le plan et, si nécessaire, initier et mettre en œuvre des actions de contrôle pour atteindre les objectifs.

Calendrier

Fournir un calendrier des tests, en spécifiant les étapes inclues dans le plan.

Définition des livrables

  • Plan de Test
  • Cas de test
  • Scripts de Test
  • Rapports de Test

Outils de gestion des plans de test logiciel

La gestion d’une campagne de test nécessite l’utilisation d’outils de gestion de plan de test. Ces outils permettent également de gérer les exigences fonctionnelles afin d’assurer une traçabilité entre exigences et plan de test.

On peut classer ses outils en trois familles:

Les outils proposés par les grands editeurs comme HP, IBM et plus recemment Microsoft

Ces outils sont destinés aux projets informatiques d’envergures (surtout pour HP et IBM). Ils s’intégrent dans une approche plus globale de type ALM (Application Life cycle Management) de gestion d’un cycle de vie de développement d’un logiciel. Ils permettent donc une bonne intégration avec les outils utilisés par les développeurs et architectes produit.

HP Quality Center (issu du rachat de l’éditeur Mercury pour mémoire)

Cette plateforme unifiée et évolutive permettant d’automatiser la livraison d’applications liées à la qualité, sécurisées et fiables, permet d’implémenter une infrastructure complète de gestion de la qualité informatique, d’établir des processus cohérents et reproductibles et d’appliquer les meilleures pratiques en matière de gestion des besoins, gestion des tests, gestion des défauts et composants métiers

De plus, le composant additionnel HP Agile Manager permet de gérer les tests agiles, tandis que HP Sprinter et HP Unified Functional Testing permettent d’exécuter des tests manuels et automatisés.

IBM Rational Quality Manager est une solution alignée sur les cinq impératifs de la gestion du cycle de vie des applications: planification intégrée, traçabilité des artefacts connexes, intelligence de développement, automatisation et collaboration, amélioration continue des processus.

Visual Studio Ultimate, Visual Studio Premium et Test Professional incluent Microsoft Test Manager depuis 2010, pour définir et gérer les plans de test pour les tests système manuels et automatisés. Ces plans de test sont stockés sur Team Foundation Server (TFS), et sont étroitement intégrés à ses outils de gestion du cycle de vie des builds et des applications.

Avec Microsoft Test Manager on peut: planifier des tests manuels, planifier des tests d’application à partir d’un document Microsoft Excel ou Microsoft Word, suivre la qualité logicielle, automatiser des tests système, configurer des tests…

Les outils proposés par des “pure players” du test

En France nous pouvons citer Referty et Xqual. Ces produits sont riches et plus accessibles en terme de tarif.

  • ReferTest de Referty est un référentiel de test logiciel consolidant l’ensemble du cycle de vie des tests logiciels, manuels et/ou automatisés dans un référentiel de test logiciel unique pour gérer les exigences, la planification et l’organisation des tests fonctionnels, l’exécution des tests, les anomalies ainsi que les correctifs. Il permet aussi un meilleur suivi par ses tableaux de bord et ses rapports de tests prédéfinis pour un minimum d’effort.

Ce produit est assez bien adapté à des testeurs fonctionnel, métier. Il fonctionne en mode client lourd, mais une version Web devrait sortir en 2014.

  • XStudio de XQual est un logiciel de management de tests ouvert, permettant de gérer le cycle de vie complet des tests: exigences, plans de test, campagnes de validation de tout type (tests unitaires, tests fonctionnels, …) et produisant des rapports de grande qualité. XStudio est gratuit, mais pas open source.

Certaines versions et le support est payant. Ce produit nous semble plus orienté pour les testeurs ayant des compétences techniques et informatiques..

Les outils Open source

  • TestLink est un outil de gestion et de suivi de l’exécution des tests logiciels. L’outil permet de générer des spécifications des tests, planification et exécution des tests, des rapports, la gestion des exigences… TestLink est un projet open source publié sous licence GPL. c’est un des outils open source le plus connu en France à ce jour.
  • TestRail est un logiciel web qui permet la planification des tests. Les plans de test TestRail permettent l’exécution des tests de système, ainsi que la planification des activités prochaines de test
  • Salomé TMF est un projet de gestion de tests Open Source qui est rattaché au consortium OW2. Depuis fin 2009, ce projet est dirigé par ACP Qualife (ssii …). Parmi ses fonctionalités: le management du processus de test, en créant des tests, exécutant des test manuels et automatiques, suivi des résultats, gestion des exigences et des défauts, production d’une documentation HTML. Salomé-TMF est compatible avec Junit, Abbot et Beanshell pour définir des tests automatisés et avec Bugzilla et Mantis pour gérer des anomalies.
  • Testpad est un outil qui permet la planification et l’exécution des tests manuels. Les plans de test sont stockés comme des checklists structurés. Les tests peuvent être délégués aux amis, collaborateurs ou externalisés. Les tests peuvent être aussi exécutés à partir des dispositifs mobiles come iPhone ou iPad.
  • TestTrack TCM – une solution complète pour la gestion des tests. C’est un outil qui gère tous les aspects du processus de test logiciel (création des cas de test, planification, exécution des tests…)
  • TestRun est un outil qui gère facilement des cas de test, crée et exécute des plans de test.

Ces outils peuvent être connectés de manière native ou pas à des automates de tests (faire lien sur article automates de test ) afin d’automatiser certains tests, comme les tests de non régression.

Perspectives d’avenir pour la gestion des plans de test (2023-2030)

Les experts prévoient que la gestion des plans de test continuera à évoluer dans les années à venir. Avec la montée en puissance de l’intelligence artificielle et de l’apprentissage automatique, nous pouvons nous attendre à des outils de plus en plus intelligents qui pourront prédire les problèmes avant qu’ils ne se produisent, optimiser les plans de test en fonction de l’historique des problèmes, et même générer automatiquement des tests à partir des exigences.

En résumé, le futur de la gestion des plans de test est plein de défis mais aussi d’opportunités. Les outils qui seront capables de s’adapter et de répondre à ces défis seront les plus susceptibles de réussir dans l’avenir.

Vous retrouverez certains de ces outils dans la rubrique Partenaires d’ALL4TEST.

Vous aimeriez du support pour choisir un outil de test ?
Une formation sur le test logiciel, sur la rédaction des plans de test ?