Techniques d'estimation des tests logiciels: guide étape par étape

Table des matières:

Anonim

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

  1. Méthode des points fonctionnels
  2. 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
  • Économie
  • Actuel
Un client peut avoir plusieurs comptes d'épargne (un à son nom, un autre sous un nom commun, etc.). Il peut avoir plusieurs comptes courants pour différentes entreprises dont il est propriétaire. Ou il peut avoir plusieurs comptes courants et d'épargne. Manager: un manager peut ajouter un nouveau compte pour un client existant.
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.