Qu'est-ce que l'estimation des tests logiciels?
L'estimation de test est une activité de gestion qui évalue approximativement le temps qu'une tâche prendrait pour se terminer. L'estimation de l'effort pour le test est l'une des tâches majeures et importantes de la gestion des tests.
Pourquoi tester l'estimation?
Deux questions auxquelles vous pouvez vous attendre de la part de vos clients lorsque vous discutez de missions de test potentielles sont:
Pour les petits projets, il est relativement facile de répondre à ces questions. Mais pour le grand projet comme le site Web de Testing Guru99 Bank, vous devez réfléchir sérieusement à ces questions.
Dans ce didacticiel, vous apprendrez-
- Qu'est-ce que l'estimation des tests logiciels?
- Pourquoi tester l'estimation?
- Que faut-il estimer?
- Comment estimer?
- Étape 1) Divisez l'ensemble de la tâche du projet en sous-tâches
- Étape 2) Attribuez chaque tâche à un membre de l'équipe
- Étape 3) Estimation de l'effort pour les tâches
- Méthode 1) Méthode du point de fonction
- Méthode 2) Estimation en trois points
- Étape 4) Validez l'estimation
- Tester les meilleures pratiques d'estimation
- Autres techniques
Que faut-il estimer?
- Ressources: Des ressources sont nécessaires pour mener à bien toutes les tâches du projet. Il peut s'agir de personnes, d'équipements, d'installations, de financements ou de tout autre élément susceptible d'être défini pour la réalisation d'une activité de projet.
- Temps: le temps est la ressource la plus précieuse d'un projet. Chaque projet a une date limite de livraison.
- Compétences humaines: Les compétences humaines signifient les connaissances et l' expérience des membres de l'équipe. Ils affectent votre estimation. Par exemple, une équipe, dont les membres ont de faibles compétences en test, prendra plus de temps pour terminer le projet que celle qui a des compétences en test élevées.
- Coût: Le coût est le budget du projet . De manière générale, cela signifie combien d'argent il faut pour terminer le projet.
Comment estimer?
Liste des techniques d'estimation des tests logiciels
- Structure de répartition du travail
- Technique d'estimation des tests logiciels en 3 points
- Technique Delphi large bande
- Analyse des points de fonction / des points de test
- Utilisation - Méthode Case Point
- Distribution en pourcentage
- Méthode ad hoc
Voici le processus en 4 étapes pour arriver à une estimation
Vous apprendrez à combiner ces techniques pour trouver l'estimation de l'étude de cas Guru99 Bank.
Étape 1) Divisez toute la tâche du projet en sous-tâches
La tâche est un travail qui a été confié à quelqu'un. Pour ce faire, vous pouvez utiliser la technique de la structure de répartition du travail .
Dans cette technique, un projet complexe est divisé en modules. Les modules sont divisés en sous-modules. Chaque sous-module est divisé en fonctionnalités. Cela signifie diviser l'ensemble de la tâche du projet en plus petites tâches.
Utilisez la structure Work Break Down pour diviser le projet Guru99 Bank en 5 tâches plus petites:
Après cela, vous pouvez répartir chaque tâche en sous - tâche. Le but de cette activité est de créer une tâche aussi détaillée que possible .
Tâche | Sous-tâche |
---|---|
Analyser la spécification des exigences logicielles | Examinez les spécifications des exigences logicielles |
Entretien avec le développeur et d'autres parties prenantes pour en savoir plus sur le site Web | |
Créer la spécification de test | Concevoir des scénarios de test |
Créer des cas de test | |
Examiner et réviser les cas de test | |
Exécuter les cas de test | Construire l'environnement de test |
Exécuter les cas de test | |
Examiner les résultats de l'exécution des tests | |
Signaler les défauts | |
Créer les rapports d'anomalie | |
Signaler les défauts |
Étape 2) Attribuez chaque tâche à un membre de l'équipe
Dans cette étape, chaque tâche est affectée au membre approprié de l'équipe de projet. Vous pouvez attribuer une tâche comme suit
Tâche | Membres |
---|---|
Analyser la spécification des exigences logicielles | Tous les membres |
Créer la spécification de test | Testeur / Analyste de test |
Construire l'environnement de test | Administrateur de tests |
Exécuter les cas de test | Testeur, administrateur de tests |
Signaler les défauts | Testeur |
Étape 3) Estimation de l'effort pour les tâches
Il existe 2 techniques que vous pouvez appliquer pour estimer l'effort pour les tâches
- Méthode des points fonctionnels
- Estimation en trois points
Méthode 1) Méthode du point de fonction
Dans cette méthode, le Test Manager estime la taille, la durée et le coût des tâches
Étape A) Estimer la taille de la tâche
À l'étape 1, vous avez déjà divisé l'ensemble de la tâche du projet en petite tâche à l'aide de la méthode WBS. Vous estimez maintenant la taille de ces tâches. Pratiquons-nous avec une tâche particulière " Créer la spécification de test "
La taille de cette tâche dépend de la taille fonctionnelle du système testé. La taille fonctionnelle reflète la quantité de fonctionnalités pertinentes pour l'utilisateur. Plus nombre de fonctionnalités, plus complexe système.
Avant de commencer l'effort réel des tâches d'estimation, les points fonctionnels sont divisés en trois groupes tels que Complexe , Medium Simple comme suit:
Basé sur le complexe de fonctions logicielles, le Test Manger doit donner un poids suffisant à chaque point fonctionnel. Par exemple
Grouper | Poids |
---|---|
Complexe | 5 |
Moyen | 3 |
Simple | 1 |
Prenons un exemple d'exercice simple pour être plus clair:
Jetez un œil à la spécification logicielle du site Web Guru99 Bank ici, l'ingénieur logiciel a déjà décrit les modules logiciels en détail, pouvez-vous déterminer la complexité des fonctionnalités du site Web en donnant le poids de chaque module?
Plus le point de fonction est complexe, plus l'effort pour le tester est important. Le site Web est divisé en 12 points de fonction , vous pouvez déterminer la complexité de chaque point de fonction comme suit:
Non. | Nom du module | Rôles applicables | Description | Poids |
---|---|---|---|---|
1. | Demande de solde | Gestionnaire client | Client: un client peut avoir plusieurs comptes bancaires. Il ne peut consulter que le solde de ses comptes Manager: Un manager peut visualiser le solde de tous les clients qui sont sous sa supervision | 3 |
2. | Transfert de fonds | Gestionnaire client | Client: Un client peut faire transférer des fonds de son «propre» compte vers n'importe quel compte de destination. Gestionnaire: un gestionnaire peut transférer des fonds de n'importe quel compte bancaire source vers le compte de destination | 5 |
3. | Mini déclaration | Gestionnaire client | Un mini relevé affichera les 5 dernières transactions d'un compte Client: Un client ne peut voir que le mini-relevé de ses «propres» comptes Manager: Un manager peut voir le mini-relevé de n'importe quel compte | 3 |
4. | Déclaration personnalisée | Gestionnaire client | Un relevé personnalisé vous permet de filtrer et d'afficher les transactions dans un compte en fonction de la date et de la valeur de la transaction Client: Un client peut voir le relevé personnalisé de ses «propres» comptes uniquement Gestionnaire: un responsable peut voir le relevé personnalisé de n'importe quel compte | 5 |
5. | Changer le mot de passe | Gestionnaire client | Client: Un client ne peut modifier le mot de passe que de son compte. Manager: Un manager peut changer le mot de passe de son compte uniquement. Il ne peut pas changer les mots de passe de ses clients | 1 |
6. | Nouveau client | Directeur | Manager: un manager peut ajouter un nouveau client. Manager: un manager peut modifier les détails tels que l'adresse, l'email, le téléphone d'un client. | 3 |
7. | Nouveau compte | Directeur | Actuellement, le système propose 2 types de comptes
| 5 |
8. | Modifier le compte | Directeur | Responsable: un responsable peut ajouter une modification des détails du compte pour un compte existant | 1 |
9. | Supprimer le compte | Directeur | Manager: un manager peut ajouter une suppression de compte pour un client. | 1 |
dix. | Supprimer le client | Directeur | Un client ne peut être supprimé que s'il n'a pas de compte courant ou d'épargne actif. Responsable: Un responsable peut supprimer un client. | 1 |
11. | Dépôt | Directeur | Manager: un manager peut déposer de l'argent sur n'importe quel compte. Généralement effectué lorsque de l'argent est déposé dans une agence bancaire | 3 |
12. | Retrait | Directeur | Manager: un manager peut retirer de l'argent de n'importe quel compte. Habituellement effectué lorsque de l'argent est retiré dans une agence bancaire. | 3 |
ÉTAPE B) Estimer la durée de la tâche
Après avoir classé la complexité des points de fonction, vous devez estimer la durée pour les tester. La durée signifie le temps nécessaire pour terminer la tâche.
- Effort total : l'effort pour tester complètement toutes les fonctions du site Web
- Total des points de fonction : nombre total de modules du site Web
- Estimation définie par points de fonction : l'effort moyen pour compléter un point de fonction. Cette valeur dépend de la productivité du membre qui prendra en charge cette tâche.
Supposons que votre équipe de projet a estimé défini par points de fonction de 5 heures / points . Vous pouvez estimer l'effort total pour tester toutes les fonctionnalités du site Web Guru99 Bank comme suit:
Poids | Nombre de points de fonction | Total | |
---|---|---|---|
Complexe | 5 | 3 | 15 |
Moyen | 3 | 5 | 15 |
Simple | 1 | 4 | 4 |
Fonction Total des points | 34 | ||
Estimation définir par point | 5 | ||
Effort total estimé (heures-personnes) | 170 |
Ainsi, l'effort total pour mener à bien la tâche «Créer la spécification de test» de Guru99 Bank est d'environ 170 heures-homme.
Une fois que vous comprenez l'effort requis, vous pouvez affecter des ressources pour déterminer la durée de la tâche (durée), puis vous pouvez estimer les coûts de main-d'œuvre et autres que de main-d'œuvre.
L'exemple ci-dessus montre également l'importance du membre dans votre équipe. Si vous avez des membres talentueux et expérimentés , vous pouvez terminer la tâche assignée en peu de temps et votre projet se terminera à la date limite ou plus tôt.
ÉTAPE C) Estimer le coût des tâches
Cette étape vous aide à répondre à la dernière question du client " Combien cela coûte-t-il?"
Supposons qu'en moyenne le salaire de votre équipe soit de 5 $ l'heure. Le temps requis pour la tâche «Créer des spécifications de test» est de 170 heures. En conséquence, le coût de la tâche est de 5 * 170 = 850 $. Vous pouvez maintenant calculer le budget pour d'autres activités dans WBS et arriver au budget global du projet.
En tant que chef de projet, vous devez décider comment tirer le meilleur parti de l'investissement de votre entreprise. Plus votre estimation du coût du projet est précise , mieux vous serez en mesure de gérer le budget de votre projet.
MÉTHODE 2) Estimation en trois points
L'estimation en trois points est l'une des techniques qui pourraient être utilisées pour estimer une tâche. La simplicité de l'estimation en trois points en fait un outil très utile pour un chef de projet qui souhaite estimer.
Dans l'estimation en trois points, trois valeurs sont produites initialement pour chaque tâche en fonction de l'expérience antérieure ou des meilleures estimations comme suit
Lors de l'estimation d'une tâche, Test Manager doit fournir trois valeurs, comme spécifié ci-dessus. Les trois valeurs identifiées, estiment ce qui se passe dans un état optimal , ce qui est le plus probable , ou ce que nous pensons que ce serait le pire des cas .
Voyons comment utiliser les trois valeurs ci-dessus dans l'exemple suivant
Pour la tâche « Créer la spécification de test », pouvez-vous estimer l'effort de test? N'oubliez pas que vous devez couvrir tous les modules du site Web de la banque Guru99 comme cela est fait dans la méthode des points de fonction
Vous pouvez estimer comme suit
- Le meilleur cas pour accomplir cette tâche est de 120 heures-homme (environ 15 jours). Dans ce cas, vous avez une équipe talentueuse, ils peuvent terminer la tâche en un minimum de temps.
- Le cas le plus probable pour accomplir cette tâche est de 170 heures-homme (environ 21 jours). C'est un cas normal, vous avez suffisamment de ressources et de capacité pour terminer la tâche
- Le pire des cas pour accomplir cette tâche est de 200 heures-homme (environ 25 jours). Vous devez effectuer beaucoup plus de travail car les membres de votre équipe ne sont pas expérimentés.
Maintenant, attribuez la valeur à chaque paramètre comme ci-dessous
L'effort pour accomplir la tâche peut être calculé en utilisant la formule de distribution double triangulaire comme suit:
Dans la formule ci-dessus, le paramètre E est appelé moyenne pondérée . C'est l'estimation de la tâche «Créer la spécification de test».
Mais votre patron peut vous demander
Dans l'estimation ci-dessus, vous déterminez simplement une valeur possible et non une certaine valeur, nous devons connaître la probabilité que l'estimation soit correcte. Vous pouvez utiliser l'autre formule:
Dans la formule ci-dessus, l'écart type moyen SD, cette valeur pourrait vous donner des informations sur la probabilité que l'estimation soit correcte.
Vous pouvez maintenant conclure l'estimation pour la tâche «Créer la spécification de test»
Pour terminer la tâche «Créer la spécification de test» du site Web de Guru99 Bank, vous avez besoin de 166,6 ± 13,33 heures-homme (153,33 à 179,99 heures-homme)
Étape 4) Validez l'estimation
Une fois que vous avez créé une estimation globale pour toutes les tâches mentionnées dans l'OTP, vous devez la transmettre au conseil d'administration , qui l' examinera et l' approuvera .
Le membre du conseil d'administration pourrait comprendre le PDG, le chef de projet et d'autres parties prenantes.
Le conseil d'administration examinera et discutera de votre plan d'estimation avec vous. Vous pouvez leur expliquer votre estimation de manière logique et raisonnable afin qu'ils puissent approuver votre plan d'estimation.
Tester les meilleures pratiques d'estimation
Cette rubrique présente des conseils généraux sur la manière d'estimer la précision des tests.
- Ajouter un peu de temps de tampon: de nombreuses choses imprévisibles peuvent arriver à votre projet, comme un membre talentueux de l'équipe quitte son travail soudainement, les tests prennent plus de temps que prévu pour être terminés… etc. C'est pourquoi vous devez inclure un tampon dans votre estimation. Avoir un tampon dans l'estimation permet de faire face aux éventuels retards.
- Planification des ressources du compte en estimation: que devez-vous faire si certains membres de votre équipe prennent de longues congés? Cela peut retarder le projet. La planification des ressources dans l'estimation joue un rôle clé. La disponibilité des ressources permettra de s'assurer que les estimations sont réalistes. Ici, vous devez considérer les congés de votre membre de l'équipe, généralement de longs congés.
- Utilisez l'expérience passée comme référence: les expériences des projets antérieurs jouent un rôle essentiel lors de la préparation des estimations de temps. Étant donné que certains projets peuvent présenter une certaine similitude, vous pouvez réutiliser l'estimation antérieure. Par exemple, si vous utilisez pour faire un projet comme tester un site Web, vous pouvez apprendre de cette expérience, essayer d'éviter toutes les difficultés ou problèmes rencontrés dans les projets précédents.
- Tenez-vous en à votre estimation: l' estimation n'est qu'une estimation car elle peut mal tourner . Au début du projet, vous devez fréquemment revérifier les estimations de test et apporter des modifications si nécessaire. Nous ne devons pas prolonger l'estimation après l'avoir corrigée, à moins qu'il y ait des changements majeurs dans les exigences, ou que vous deviez négocier avec le client au sujet de la ré-estimation
Modèle d'estimation de test logiciel
Téléchargez le logiciel Excel d'estimation de test (.xlsx)
Autres techniques
La technique Delphi à large bande, la méthode d'utilisation - point de cas, la distribution en pourcentage, la méthode ad-hoc sont d'autres techniques d'estimation en génie logiciel.
Cliquez ici si la vidéo n'est pas accessible
Transcription vidéo- Faisons un exercice - pour l'application de réservation de vol, préparez une structure de répartition du travail du
- diverses tâches de test telles que - Vérifier la fonctionnalité de connexion, vérifier la fonctionnalité de nouvelle commande, vérifier la fonctionnalité de télécopie et d'autres fonctionnalités similaires et estimer l'effort requis pour tester ces fonctionnalités
- Par exemple, la fonctionnalité de connexion peut être testée en 2 heures. De même, préparez une liste de toutes les tâches et des efforts correspondants. Mettez le didacticiel de formation en pause et terminez l'exercice. J'espère que vous avez fait une estimation éclairée de l'effort requis
- Il s'agit de la stratégie ascendante pour l'estimation des tests. La technique est appelée ascendante car, sur la base des tâches situées au niveau le plus bas de la hiérarchie de répartition du travail, vous estimez la durée, les dépendances et les ressources.
- Dans la stratégie ascendante, les estimations ne sont pas prises par une seule personne mais par toutes les parties prenantes, contributeurs individuels, experts et membres du personnel expérimentés collectivement. L'idée est de s'appuyer sur la sagesse collaborative des membres de l'équipe pour arriver à des estimations de test précises
- Maintenant que vous avez une expérience considérable sur le système de réservation de vols. Utilisez cette expérience pour estimer l'effort requis pour les tests fonctionnels complets du site Web. - http://newtours.demoaut.com/
- Ce site est fonctionnellement identique à l'application de réservation de vol, juste qu'il est basé sur le Web. Mettez le didacticiel en pause et faites l'exercice maintenant
- J'espère que sur la base de votre expérience, vous avez fait une bonne estimation de l'effort requis pour tester le site Web
- Il s'agit de l 'approche descendante de l' estimation basée sur l 'expérience.
- Une autre technique consiste à classer les projets en fonction de leur taille et de leur complexité, puis de voir combien de temps un projet d'une taille et d'une complexité particulières a pris dans le passé.
- Une autre approche consiste à déterminer l'effort moyen par scénario de test dans le passé pour des projets similaires, puis à utiliser des scénarios de test estimés du projet actuel et à arriver à l'effort total.
- Des modèles d'estimation plus sophistiqués impliquent des modèles mathématiques complexes. Dans la pratique, la majorité des projets utilisent une approche descendante pour l'estimation.
- Les estimations de test peuvent être affectées par de nombreux facteurs tels que les pressions temporelles, les facteurs humains, la répartition géographique de l'équipe de test, etc.