Plan de test
Un plan de test est un document détaillé qui décrit la stratégie de test, les objectifs, le calendrier, l'estimation, les livrables et les ressources nécessaires pour effectuer les tests d'un produit logiciel. Test Plan nous aide à déterminer l'effort nécessaire pour valider la qualité de l'application testée. Le plan de test sert de modèle pour mener des activités de test logiciel en tant que processus défini, qui est minutieusement surveillé et contrôlé par le gestionnaire de test.
Selon la définition de l'ISTQB: «Le plan de test est un document décrivant la portée, l'approche, les ressources et le calendrier des activités de test prévues.»
Commençons par l'exemple / scénario de plan de test suivant: Lors d'une réunion, vous souhaitez discuter du plan de test avec les membres de l'équipe, mais ils ne sont pas intéressés -.
Dans ce cas, que ferez-vous? Sélectionnez votre réponse comme suit
A) Je suis Manager faire tout comme je l'ai dit
B) OK, laissez-moi vous expliquer pourquoi nous avons besoin d'un plan de test
incorrect
En tant que gestionnaire de test, vous devez leur expliquer l'importance du plan de test plutôt que de forcer l'équipe à faire ce que vous voulez. Correct
En tant que Test Manager, vous devez leur expliquer l'importance du Test Plan plutôt que de forcer l'équipe à faire ce que vous voulez.
Quelle est l'importance du plan de test?
Créer un document de plan de test présente de nombreux avantages
- Aidez les personnes extérieures à l'équipe de test telles que les développeurs, les chefs d'entreprise et les clients à comprendre les détails des tests.
- Test Plan guide notre réflexion. C'est comme un livre de règles, qui doit être suivi.
- Les aspects importants tels que l'estimation du test, la portée du test, la stratégie de test sont documentés dans le plan de test, de sorte qu'il peut être revu par l'équipe de direction et réutilisé pour d'autres projets.
Comment rédiger un plan de test
Vous savez déjà que l'élaboration d'un plan de test est la tâche la plus importante du processus de gestion des tests. Suivez les sept étapes ci-dessous pour créer un plan de test selon IEEE 829
- Analyser le produit
- Concevoir la stratégie de test
- Définir les objectifs du test
- Définir les critères de test
- La planification des ressources
- Planifier l'environnement de test
- Horaire et estimation
- Déterminer les livrables de test
Étape 1) Analysez le produit
Comment tester un produit sans aucune information à son sujet? La réponse est impossible. Vous devez apprendre un produit soigneusement avant de le tester.
Le produit testé est le site Web bancaire Guru99. Vous devez rechercher les clients et les utilisateurs finaux pour connaître leurs besoins et leurs attentes vis-à-vis de l'application
- Qui utilisera le site Web?
- A quoi cela sert?
- Comment cela fonctionnera-t-il?
- Quels sont les logiciels / matériels utilisés par le produit?
Vous pouvez utiliser l'approche suivante pour analyser le site
Appliquons maintenant les connaissances ci-dessus à un produit réel: Analysez le site Web bancaire http://demo.guru99.com/V4.
Vous devriez jeter un œil sur ce site Web et également consulter la documentation du produit. L'examen de la documentation du produit vous aide à comprendre toutes les fonctionnalités du site Web ainsi que comment l'utiliser. Si vous n'êtes pas clair sur un élément, vous pouvez interroger le client, le développeur, le concepteur pour obtenir plus d'informations.
Étape 2) Développer une stratégie de test
La stratégie de test est une étape critique dans l'élaboration d'un plan de test dans les tests logiciels. Un document de stratégie de test est un document de haut niveau, généralement développé par Test Manager. Ce document définit:
- Les objectifs de test du projet et les moyens pour les atteindre
- Détermine les efforts et les coûts de test
De retour à votre projet, vous devez développer une stratégie de test pour tester ce site Web bancaire. Vous devez suivre les étapes ci-dessous
Étape 2.1) Définir la portée des tests
Avant le début de toute activité de test, la portée des tests doit être connue. Vous devez y réfléchir sérieusement.
- Les composants du système à tester (matériel, logiciel, middleware, etc.) sont définis comme " dans le périmètre "
- Les composants du système qui ne seront pas testés doivent également être clairement définis comme étant « hors champ ».
La définition de la portée de votre projet de test est très importante pour toutes les parties prenantes. Une portée précise vous aide
- Donnez à chacun une confiance et des informations précises sur les tests que vous effectuez
- Tous les membres du projet auront une compréhension claire de ce qui est testé et de ce qui ne l'est pas
Comment déterminez-vous la portée de votre projet?
Pour déterminer la portée, vous devez -
- Exigence précise du client
- Budget du projet
- Spécification de produit
- Compétences et talent de votre équipe de test
Maintenant devrait définir clairement le "dans la portée" et "hors de la portée" des tests.
- Comme les spécifications des exigences logicielles, le projet Guru99 Bank se concentre uniquement sur le test de toutes les fonctions et de l'interface externe du site Web Guru99 Bank ( dans le cadre des tests de portée )
- Les tests non fonctionnels tels que le stress , les performances ou la base de données logique ne seront actuellement pas testés. ( hors de portée)
Scénario de problème
Le client souhaite que vous testiez son API. Mais le budget du projet ne le permet pas. Dans un tel cas, que ferez-vous?
Eh bien, dans ce cas, vous devez convaincre le client que Api Testing est un travail supplémentaire et consommera des ressources importantes. Donnez-lui des données à l'appui de vos faits. Dites-lui si Api Testing est inclus dans le champ d'application, le budget augmentera d'un montant XYZ.
Le client accepte et en conséquence les nouvelles portées, les éléments hors du champ sont
- Éléments dans le champ d'application: tests fonctionnels, tests d'API
- Éléments hors de portée: test de base de données, matériel et toute autre interface externe
Étape 2.2) Identifier le type de test
Un type de test est une procédure de test standard qui donne un résultat de test attendu.
Chaque type de test est formulé pour identifier un type spécifique de bogues de produit. Mais tous les types de tests visent à atteindre un objectif commun: « Détection précoce de tous les défauts avant de remettre le produit au client»
Les types de test couramment utilisés sont décrits comme suit
![](https://cdn.css-code.org/images/TestManagement/testmanagement_article_2_4_7.png.webp)
Il existe des tonnes de types de tests pour tester les produits logiciels. Votre équipe ne peut pas avoir suffisamment d'efforts pour gérer tous les types de tests. En tant que Test Manager, vous devez définir la priorité des types de test
- Quels types de tests doivent être ciblés pour les tests d'applications Web?
- Quels types de tests doivent être ignorés pour réduire les coûts?
Quels types de tests devriez-vous vous concentrer dans ce cas?
Sélectionnez tout ce qui s'y rapporte A) Test unitaire B) Test d'API C) Test d'intégration D) Test du système E) Test d'installation / désinstallation F) Test Agile Nous sélectionnons uniquement B) Test API C) Test d'intégration D) Test système pour le projet Guru99
Étape 2.3) Documenter les risques et les problèmes
Le risque est un événement incertain futur avec une probabilité d' occurrence et un potentiel de perte. Lorsque le risque se produit réellement, il devient le « problème».
Dans l'article Analyse des risques et solution, vous avez déjà appris en détail l'analyse des «risques» et identifié les risques potentiels dans le projet.
Dans le plan de test QA, vous documenterez ces risques
Risque | Atténuation |
---|---|
Les membres de l'équipe n'ont pas les compétences requises pour les tests de sites Web. | Planifiez des cours de formation pour améliorer les compétences de vos membres |
Le calendrier du projet est trop serré; il est difficile de terminer ce projet à temps | Définissez la priorité de test pour chacune des activités de test. |
Test Manager a de faibles compétences en gestion | Planifier la formation en leadership pour le gestionnaire |
Un manque de coopération affecte négativement la productivité de vos employés | Encouragez chaque membre de l'équipe dans sa tâche et incitez- les à redoubler d'efforts. |
Mauvaise estimation du budget et dépassements de coûts | Établissez la portée avant de commencer les travaux, accordez une grande attention à la planification du projet et suivez et mesurez constamment les progrès |
Étape 2.4) Créer une logistique de test
Dans Test Logistics, le Test Manager doit répondre aux questions suivantes:
- Qui testera?
- Quand le test aura-t-il lieu?
Qui testera?
Vous ne connaissez peut-être pas les noms exacts du testeur qui effectuera le test, mais le type de testeur peut être défini.
Pour sélectionner le bon membre pour la tâche spécifiée, vous devez considérer si sa compétence est qualifiée pour la tâche ou non, estimez également le budget du projet. La sélection d'un membre incorrect pour la tâche peut entraîner l' échec ou un retard du projet .
Une personne possédant les compétences suivantes est la plus idéale pour effectuer des tests de logiciels:
- Capacité à comprendre le point de vue des clients
- Fort désir de qualité
- Souci du détail
- Bonne coopération
Dans votre projet, le membre qui prendra en charge l'exécution du test est le testeur. En vous basant sur le budget du projet, vous pouvez choisir un membre in-source ou externaliser comme testeur.
Quand le test aura-t-il lieu?
Les activités de test doivent être associées aux activités de développement associées.
Vous commencerez à tester lorsque vous aurez tous les éléments requis indiqués dans la figure suivante
Étape 3) Définir l'objectif du test
L'objectif du test est l'objectif global et la réalisation de l'exécution du test. L'objectif des tests est de trouver autant de défauts logiciels que possible; assurez-vous que le logiciel testé est exempt de bogues avant sa sortie.
Pour définir les objectifs du test, vous devez effectuer 2 étapes suivantes
- Répertoriez toutes les fonctionnalités du logiciel (fonctionnalités, performances, interface graphique…) qui pourraient devoir être testées.
- Définir la cible ou l' objectif du test en fonction des fonctionnalités ci-dessus
Appliquons ces étapes pour trouver l'objectif de test de votre projet de test Guru99 Bank
Vous pouvez choisir la méthode « TOP-DOWN» pour trouver les fonctionnalités du site Web qui devront peut-être être testées. Dans cette méthode, vous décomposez l'application testée en composant et sous-composant .
Dans la rubrique précédente, vous avez déjà analysé les spécifications des exigences et parcourez le site Web, vous pouvez donc créer une Mind-Map pour trouver les fonctionnalités du site Web comme suit
Cette figure montre toutes les fonctionnalités que le site Web Guru99 peut avoir.
Sur la base des fonctionnalités ci-dessus, vous pouvez définir l'objectif de test du projet Guru99 comme suit
- Vérifiez que la fonctionnalité du site Web Guru99 (compte, dépôt…) fonctionne comme prévu sans aucune erreur ni bogue dans un environnement commercial réel
- Vérifiez que l'interface externe du site Web, telle que l' interface utilisateur, fonctionne comme prévu et répond aux besoins du client
- Vérifiez la convivialité du site Web. Ces fonctionnalités sont-elles pratiques pour l'utilisateur ou non?
Étape 4) Définir les critères de test
Les critères de test sont une norme ou une règle sur laquelle une procédure de test ou un jugement de test peut être basé. Il existe 2 types de critères de test comme suit
Critères de suspension
Spécifiez les critères de suspension critiques pour un test. Si les critères de suspension sont satisfaits pendant le test, le cycle de test actif sera suspendu jusqu'à ce que les critères soient résolus .
Exemple de plan de test: si les membres de votre équipe signalent que 40% des cas de test ont échoué, vous devez suspendre les tests jusqu'à ce que l'équipe de développement corrige tous les cas d'échec.
Critère de sortie
Il spécifie les critères qui dénotent la réussite d'une phase de test. Les critères de sortie sont les résultats ciblés du test et sont nécessaires avant de passer à la phase suivante de développement. Exemple: 95% de tous les cas de test critiques doivent réussir.
Certaines méthodes de définition des critères de sortie sont en spécifiant une cible taux d'exécution et le taux passe .
- Le taux d' exécution est le rapport entre le nombre de cas de test exécutés / le nombre total de cas de test de la spécification de test. Par exemple, la spécification de test a un total de 120 TC, mais le testeur n'a exécuté que 100 TC, donc le taux d'exécution est 100/120 = 0,83 (83%)
- Le taux de réussite est le rapport entre le nombre de cas de test réussis / de cas de test exécutés . Par exemple, au-dessus de 100 TC exécutés, il y a 80 TC qui ont réussi, donc le taux de réussite est de 80/100 = 0,8 (80%)
Ces données peuvent être récupérées dans les documents Test Metric.
- Le taux d'exécution est obligatoire pour être de 100% à moins qu'une raison claire ne soit donnée.
- Le taux de réussite dépend de la portée du projet, mais atteindre un taux de réussite élevé est un objectif.
Exemple de plan de test: votre équipe a déjà effectué les exécutions de test. Ils vous signalent le résultat du test et souhaitent que vous confirmiez les critères de sortie.
Dans le cas ci-dessus, le taux d'exécution obligatoire est de 100%, mais l'équipe de test n'a terminé que 90% des cas de test. Cela signifie que le taux d'exécution n'est pas satisfait, donc ne confirmez PAS les critères de sortie
Étape 5) Planification des ressources
Le plan de ressources est un résumé détaillé de tous les types de ressources nécessaires pour mener à bien la tâche du projet. La ressource peut être humaine, l'équipement et les matériaux nécessaires à la réalisation d'un projet
La planification des ressources est un facteur important de la planification des tests car elle aide à déterminer le nombre de ressources (employé, équipement…) à utiliser pour le projet. Par conséquent, le Test Manager peut établir le calendrier et l'estimation corrects pour le projet.
Cette section représente les ressources recommandées pour votre projet.
Ressource humaine
Le tableau suivant représente différents membres de votre équipe de projet
Non. |
Membre |
Tâches |
---|---|---|
1. |
Gestionnaire de test |
Gérer l'ensemble du projet Définir les orientations du projet Acquérir les ressources appropriées |
2. |
Testeur |
Identifier et décrire les techniques de test / outils / architecture d'automatisation appropriés Vérifier et évaluer l'approche de test Exécuter les tests, journal des résultats, rapport des défauts. Le testeur peut être des membres internes ou externes, en fonction du budget du projet Pour la tâche qui a nécessité peu de compétences, je vous recommande de choisir externalisés membres pour économiser le coût du projet. |
3. |
Développeur en test |
Mettre en œuvre les cas de test, le programme de test, la suite de tests, etc. |
4. |
Administrateur de tests |
Construit et s'assure que l'environnement de test et les actifs sont gérés et maintenus Support Tester pour utiliser l'environnement de test pour l'exécution des tests |
5. |
Membres SQA |
Prendre en charge l'assurance qualité Vérifier pour confirmer si le processus de test répond aux exigences spécifiées |
Ressource système
Pour tester, une application Web, vous devez planifier les ressources comme les tableaux suivants:
Non. |
Ressources |
Descriptions |
---|---|---|
1. |
Serveur |
Installez l'application Web en cours de test Cela comprend un serveur Web, un serveur de base de données et un serveur d'applications distincts, le cas échéant |
2. |
Outil de test |
L'outil de test consiste à automatiser les tests, à simuler le fonctionnement de l'utilisateur, à générer les résultats des tests Il existe des tonnes d'outils de test que vous pouvez utiliser pour ce projet tels que Selenium, QTP… etc. |
3. |
Réseau |
Vous avez besoin d'un réseau comprenant un réseau local et Internet pour simuler l'environnement réel de l'entreprise et de l'utilisateur |
4. |
L'ordinateur |
Le PC que les utilisateurs utilisent souvent pour connecter le serveur Web |
Étape 6) Planifier l'environnement de test
Quel est l'environnement de test
Un environnement de test est une configuration logicielle et matérielle sur laquelle l'équipe de test va exécuter des cas de test. L'environnement de test se compose d' un environnement professionnel et utilisateur réel , ainsi que d'environnements physiques, tels qu'un serveur, un environnement d'exécution frontal.
Comment configurer l'environnement de test
De retour à votre projet, comment mettre en place l' environnement de test de ce site bancaire?
Pour terminer cette tâche, vous avez besoin d' une coopération étroite entre l'équipe de test et l'équipe de développement
Vous devez poser quelques questions au développeur pour comprendre clairement l' application Web testée . Voici quelques questions recommandées. Bien sûr, vous pouvez poser les autres questions si vous en avez besoin.
- Quelle est la connexion utilisateur maximale que ce site Web peut gérer en même temps?
- Quelle est la configuration matérielle / logicielle requise pour installer ce site Web?
- L'ordinateur de l'utilisateur a-t-il besoin d'un paramètre particulier pour naviguer sur le site Web?
La figure suivante décrit l'environnement de test du site Web bancaire www.demo.guru99.com/V4
Étape 7) Calendrier et estimation
Dans l'article Tester l'estimation, vous avez déjà utilisé certaines techniques pour estimer l'effort pour mener à bien le projet. Vous devez maintenant inclure cette estimation ainsi que le calendrier dans la planification des tests
Dans la phase de test d'estimation, supposons que vous divisez l'ensemble du projet en petites tâches et ajoutez l'estimation pour chaque tâche comme ci-dessous
Tâche |
Membres |
Estimer l'effort |
---|---|---|
Créer la spécification de test |
Concepteur de test |
170 heure-homme |
Effectuer l'exécution du test |
Testeur, administrateur de tests |
80 heures-homme |
Rapport de test |
Testeur |
10 heures-homme |
Livraison de test |
20 heures-homme |
|
Total |
280 heures-homme |
Ensuite, vous créez le calendrier pour effectuer ces tâches.
Faire du calendrier est un terme courant dans la gestion de projet. En créant un calendrier solide dans la planification des tests, le gestionnaire de tests peut l'utiliser comme outil de suivi de l'avancement du projet, contrôler les dépassements de coûts.
Pour créer le calendrier du projet, le Test Manager a besoin de plusieurs types d'entrée comme ci-dessous:
- Employé et échéance du projet : les jours ouvrables, l'échéance du projet, la disponibilité des ressources sont les facteurs qui ont affecté le calendrier
- Estimation du projet : Sur la base de l'estimation, le Test Manager sait combien de temps il faut pour terminer le projet. Ainsi, il peut faire le calendrier de projet approprié
- Risque du projet : la compréhension du risque aide Test Manager à ajouter suffisamment de temps au calendrier du projet pour gérer les risques
Pratiquons avec un exemple:
Supposons que le patron veuille terminer le projet Guru99 en un mois, vous avez déjà estimé l'effort pour chaque tâche dans Test Estimation. Vous pouvez créer le calendrier comme ci-dessous
Étape 8) Test des produits livrables
Test Deliverables est une liste de tous les documents, outils et autres composants qui doivent être développés et maintenus à l'appui de l'effort de test.
Il existe différents livrables de test à chaque phase du cycle de vie du développement logiciel.
Les livrables de test sont fournis avant la phase de test.
- Document des plans de test.
- Documents de cas de test
- Spécifications de conception de test.
Les livrables de test sont fournis pendant les tests
- Scripts de test
- Simulateurs.
- Données de test
- Matrice de traçabilité des tests
- Journaux d'erreurs et journaux d'exécution.
Les livrables de test sont fournis une fois les cycles de test terminés.
- Résultats de test / rapports
- Rapport de défaut
- Directives pour les procédures d'installation / de test
- Notes de version
Ressources
Téléchargez un exemple de modèle de plan de test
Téléchargez l'exemple de plan de test du système du site Web Guru99 Bank