Techniques d’Estimation de Test Logiciel (Guide Complet D’Estimation de L’Effort de Test)

Pour la réussite de tout projet, l’estimation des tests et la bonne exécution sont tout aussi importantes que le cycle de développement. S’en tenir à l’estimation est très important pour se bâtir une bonne réputation auprès du client.

L’expérience joue un rôle majeur dans l’estimation des « Efforts de test de logiciels ». Travailler sur des projets variés nous aide à préparer une estimation précise du cycle de test.

Évidemment, on ne peut pas simplement mettre aveuglément un certain nombre de jours pour une tâche de test. L’estimation du test doit être réaliste et précise.

Ce tutoriel comprendra quelques conseils importants qui seront très utiles pour préparer une estimation de test précise de manière très simple.

 Techniques d'Estimation de Test Logiciel  Techniques d'Estimation de Test Logiciel

Processus d’estimation de test

« L’estimation est le processus consistant à trouver une estimation, ou une approximation, qui est une valeur utilisable dans un but quelconque, même si les données d’entrée peuvent être incomplètes, incertaines ou instables. »

Nous rencontrons tous des tâches, des devoirs et des délais différents tout au long de notre vie de professionnels, il existe maintenant deux approches pour trouver la solution à un problème.

La première approche est une approche réactive par laquelle nous essayons de trouver une solution au problème en question seulement après son arrivée.

Dans la deuxième approche que l’on peut appeler une approche Proactive, nous nous préparons d’abord bien avant que le problème n’arrive avec nos expériences passées, puis avec notre expérience passée, nous essayons de trouver une solution au défi quand il arrive.

L’estimation peut donc être considérée comme une technique appliquée lorsque nous adoptons une approche proactive du problème.

Ainsi, l’estimation peut être utilisée pour prédire combien d’efforts en termes de temps et de coût seraient nécessaires pour accomplir une tâche définie. Une fois que l’équipe de test est en mesure de faire une estimation du problème en question, il lui est plus facile de trouver une solution optimale au problème en question.

La pratique de l’estimation peut alors être définie plus formellement comme un calcul approximatif du coût probable d’une œuvre.

De plus, read= > 7 Facteurs Affectant l’Estimation du Test du Projet d’automatisation du Sélénium

Pré-requis de base

Les Conditions Préalables de base pour le Processus d’Estimation du Test sont données ci-dessous.

#1) Les enseignements tirés du travail avec l’expérience passée: Il est toujours recommandé de passer du temps à se rappeler des projets passés qui posaient des défis similaires à l’entreprise actuelle.

#2) Les documents ou artefacts disponibles: Les outils de référentiel de gestion des tests sont utiles dans ces types de scénarios car ils stockent les exigences et les documents de clarification. Ces documents peuvent être renvoyés par l’équipe de test pour définir clairement la portée du projet.

#3) Hypothèses sur le type de travail: L’expérience de travail passée aide à formuler des hypothèses sur le projet. C’est là que l’embauche de professionnels expérimentés compte le plus. Les responsables des tests peuvent choisir le cerveau de ces personnes pour obtenir les résultats souhaités.

#4) Calcul des risques et menaces potentiels: L’équipe de test doit également visualiser les risques potentiels, les menaces et les pièges qui pourraient se trouver pour l’équipe à l’avenir.

#5) Déterminer si les documents ont été référencés : L’équipe de test doit également déterminer si les exigences ont été référencées ou non. Si les documents ne sont pas référencés, il est important de déterminer la fréquence des modifications.

#6) Toutes les responsabilités et dépendances doivent être claires: l’organisation doit clairement définir les rôles et les responsabilités de tous ceux qui exécuteraient le processus d’estimation.

#7) Documentation et suivi des enregistrements d’estimation: Toutes les informations pertinentes au processus d’estimation doivent être documentées.

#8) Activités à effectuer pendant le processus d’estimation du test:

  • Organisez une équipe qui effectuera des estimations.
  • Décomposez le projet en phases de projet et en activités constitutives ultérieures.
  • Calculez l’estimation sur la base de projets antérieurs et de l’expérience professionnelle.
  • Hiérarchiser les menaces possibles et proposer des approches pour atténuer ces risques.
  • Examiner et documenter les parties pertinentes du travail.
  • Soumettre le travail aux parties prenantes concernées.

Techniques d’estimation de test les plus importantes

Certaines des techniques les plus importantes pour l’estimation de test sont:

  • Estimation du point de test
  • Estimation basée sur la phase de travail
  • Estimation du point de cas d’utilisation

Comment et où utilisons-nous ces techniques:

#1) L’estimation des points de test est une technique d’estimation simple et facilement compréhensible qui est largement utilisée dans tout le spectre des tests logiciels. Les phases itératives et la simplicité sont les caractéristiques les plus importantes de cette technique particulière.

#2) L’estimation basée sur la phase de travail est la technique d’estimation utilisée par laquelle une estimation est faite sur une phase particulière (normalement la plus courte et la plus simple des phases), puis l’équipe de test ajoute progressivement d’autres phases à l’estimation initiale et parvient finalement à une estimation appropriée.

#3) La technique d’estimation par point de cas d’utilisation est l’estimation sur les cas d’utilisation où les poids d’acteurs non ajustés et les poids de cas d’utilisation non ajustés sont utilisés pour déterminer l’estimation de test logiciel.

Détails de la technique d’estimation des points de test

La technique d’estimation des points de test se fait en suivant les étapes énumérées ci-dessous:

 technique d'estimation des points d'essai

( Les poids suivants, qui peuvent varier d’un projet à l’autre, pourraient être pris en compte dans ce paradigme – Certains de ces poids sont les poids du langage de programmation en fonction de la complexité du code, le poids de l’application en fonction du type d’application et les poids de test qui sont attribués en fonction des différentes phases des tests logiciels.)

Les Points de test non traités sont multipliés par la FCF pour obtenir la taille de test dans la Taille du Point de test.Le facteur de productivité

indique le temps qu’un ingénieur d’essai doit consacrer à l’essai d’un point d’essai.

L’effort de test en heures-personnes est calculé en multipliant la taille du Point de test par le facteur de productivité.

Pour le calcul de la technique d’estimation des points de test, nous considérons les variables suivantes.

  • Complexité des exigences de test

 Complexité des exigences de test

  • Interface avec d’autres exigences

 Interface avec d'autres exigences

  • Nombre total de points de vérification

 Nombre total de points de vérification

  • Données d’essai de référence

 Données de test de base

Nous devons ensuite considérer les vecteurs de poids pour chacune des variables de données et les organiser de la manière suivante.

 vecteurs de poids pour les variables de données

Facteur d’ajustement = Moyenne de (produit du poids de complexité et du poids du facteur) / 30

Point de Test d’ajustement pour la conception du scénario de test = Point de Test Total X (1 + Facteur d’ajustement pour la conception du Scénario de Test)

Point de Test ajusté pour l’exécution du scénario de test = Point de Test Total X (1 + Facteur d’ajustement pour l’exécution du Scénario de Test)

Point de Test total (normalisé) X (1 + Facteur d’ajustement pour la conception / l’exécution du Scénario de Test) = Point de Test ajusté pour la conception / l’exécution du Scénario de test

Effort total en Heures-personnes (PH) = Nombre de points de test normalisés / Productivité (en points de test Normalisés par Heure-personne)

Exemples d’estimation de test

Essayons d’appliquer la formulation ci-dessus à une autre utilisation pratique.

Supposons que nous nous retrouvions avec une exigence de test selon laquelle nous avons 5 scénarios de test à tester.

Maintenant, disons que le scénario de test 1 a 5 résultats attendus de test, le scénario de test 2 a 6 résultats attendus de test, le scénario de test 3 seulement 2 résultats attendus de test, le scénario de test 4 9 résultats attendus de test, le scénario de test 5 également 9 résultats attendus de test, respectivement.

Nous classons les scénarios de test en trois classes, c’est-à-dire complexes, simples et modérés en fonction du nombre total de résultats attendus présents dans ces trois classes.

Les classes complexes auront plus de 7 résultats attendus alors que les classes simples comporteront moins de 5 résultats attendus et que les scénarios modérés comporteront entre 4 et 7 résultats attendus.

Nous classons ainsi le scénario de test 1 et le scénario de test 2 comme des scénarios modérés, le scénario 5 et le scénario 6 comme des scénarios complexes et le scénario de test 3 comme simple.

Nous allons maintenant appliquer des points de test à tous ces scénarios. Nous avons appliqué 5 points de test pour les classes complexes, 3 pour les classes modérées et 2 pour les scénarios simples.

Nous multiplions les points de test supposés par le nombre total de résultats attendus dans tous ces scénarios de test. Nous nous retrouvons donc avec les approximations suivantes:

Scénario 1: 3 points de test * 5 résultats attendus du test = Points de test ajustés = 25
Scénario 2: 3 points de test * 6 résultats attendus du test = Points de test ajustés = 30
Scénario 3: 2 points de test * 2 résultats attendus du test = Points de test ajustés = 4
Scénario 4: 5 points de test * 9 résultats attendus du test = Points de test ajustés = 45
Scénario 5: 5 points de test * 9 résultats attendus du test = Points de test ajustés = 45

Donc, étant donné que nous devons demander, disons, 5 heures-personne pour chaque point de test ajusté, nous obtenons le résultat approximatif suivant.

Scénario de test 1: 25 Points de test ajustés * 5 Heures-Personne = 125 Heures-Personne
Scénario de Test 2: 30 Points de test ajustés * 5 Heures-Personne = 150 Heures-Personne
Scénario de Test 3: 4 Points de test ajustés * 5 Heures-Personnes = 20 Heures-Personnes
Scénario de Test 4: 45 Points de test ajustés * 5 Heures-Personnes = 225 Heures-Personnes
Scénario de test 5: 45 Points de test ajustés * 5 Heures-Personnes = 225 Heures-Personnes

Donc, le total approximatif des heures-personnes est de: 745 Heures-personnes

Méthode d’Estimation du Point de Cas d’utilisation

La Méthode du Point de Cas d’utilisation est basée sur les cas d’utilisation où nous calculons l’effort global d’estimation du test en fonction des cas d’utilisation ou des exigences.

Ci-dessous est un processus détaillé de la méthode d’estimation du point de cas d’utilisation:

 Méthode d'estimation du point de cas d'utilisation

Un exemple de la même est que, dans une exigence particulière, nous avons 5 cas d’utilisation, cas d’utilisation 1, cas d’utilisation 2,…, cas d’utilisation 5 respectivement. Considérons maintenant que le cas d’utilisation 1 comprend 6 acteurs, le cas d’utilisation 2 comprend 15 acteurs, les cas d’utilisation 3, 4 et 5, respectivement 3, 4 et 5 acteurs.

Nous considérons tout cas d’utilisation impliquant un nombre total d’acteurs inférieur à 5 comme négatif, tout cas d’utilisation avec un nombre total d’acteurs égal ou supérieur à 5 et inférieur ou égal à 10 comme positif et tout cas d’utilisation avec plus de 10 acteurs comme exceptionnel.

Nous avons décidé d’attribuer 2 points pour les cas d’utilisation exceptionnels, 1 pour les cas positifs et -1 pour les cas négatifs.

Ainsi, nous classons les cas d’utilisation 1 et 5 comme positifs, le cas d’utilisation 2 comme exceptionnel et les cas d’utilisation 3, 4 comme négatifs respectivement sur la base de nos hypothèses énoncées ci-dessus.

Donc l’acteur non traité pondère = Cas d’utilisation 1 = (nombre total d’acteurs) 5 * 1 (le point attribué) = 5. De même

Cas d’utilisation 2 = 15 * 2 = 30.

En répétant le processus pour le reste des cas d’utilisation, nous recevons les poids de l’acteur non traité = 33

Poids du cas d’utilisation non traité = nombre total. de cas d’utilisation = 5

Point de cas d’utilisation non traité = Poids d’acteur non ajusté + Poids de cas d’utilisation non ajusté = 33 + 5 = 38

Point de cas d’utilisation traité = 38 * = 26.7 ou 28 Heures-personnes environ

Technique de décomposition en phase de travail

La technique de décomposition en phase de travail peut être décrite dans les étapes suivantes.

  • Décomposez le travail global en phases.
  • Commencez par la phase la plus simple et attribuez-lui une valeur d’estimation approximative.
  • Ensuite, procédez à l’identification de la prochaine phase possible qui peut être commencée une fois cette phase terminée.
  • Dérivez un ensemble possible de valeurs d’approximation qui pourraient être appliquées à cette phase et choisissez la valeur maximale parmi toutes les valeurs d’approximation dérivées.
  • Additionnez la valeur d’estimation approximative en ajoutant la valeur d’estimation de l’effort de phase actuelle à la valeur déjà existante.
  • Continuez avec les étapes 3 à 5 jusqu’à ce que toutes les phases identifiées dans la première étape soient épuisées.
  • Acceptez la valeur d’estimation approximative finale comme ultime.

Supposons que dans une exigence, il y ait 5 phases requises. Dans la phase initiale 1, nous supposons que l’effort total nécessaire est de 35 heures-personnes, puis nous commençons la phase suivante 2 pour laquelle nous avons 4 hypothèses comparatives de 35, 45, 55 et 65 respectivement.

Nous considérons les 65 heures-personnes qui sont la valeur maximale ici. Dans les phases 3, 4, 5, nous proposons des estimations (12 , 33, 43 , 54) , (15 , 10 , 7 , 8) et (2, 16, 5, 13) respectivement. En appliquant ledit principe, nous nous retrouvons avec 185 Heures-personnes respectivement.

Je mets des informations sur la façon d’estimer les efforts de test pour toute tâche de test, ce que j’ai appris de mon expérience.

9 Conseils Généraux sur La Façon d’Estimer Le Temps de Test Avec Précision

Facteurs Affectant L’Estimation des Tests Logiciels, et Conseils Généraux pour Estimer Avec Précision:

#1) Pensez à un certain temps de tampon: L’estimation devrait inclure un tampon. Mais n’ajoutez pas de tampon, ce qui n’est pas réaliste. Avoir un tampon dans l’estimation nous permet de faire face aux retards qui peuvent survenir. Le fait d’avoir un tampon permet également d’assurer une couverture de test maximale.

#2) Considérez le cycle de bogue: L’estimation du test inclut également le cycle de bogue. Le cycle d’essai réel peut prendre plus de jours qu’estimé.

Pour éviter cela, nous devons considérer le fait que le cycle de test dépend de la stabilité de la construction. Si la version n’est pas stable, les développeurs peuvent avoir besoin de plus de temps pour la réparer et, de toute évidence, le cycle de test se prolonge automatiquement.

#3) Disponibilité de toutes les ressources pour la Période estimée: L’estimation du test doit tenir compte de toutes les feuilles planifiées par les membres de l’équipe (généralement de longues feuilles) au cours des prochaines semaines ou des prochains mois. Cela garantira que les estimations sont réalistes.

L’estimation doit tenir compte d’un nombre fixe de ressources pour un cycle d’essai. Si le nombre de ressources diminue, l’estimation doit être visitée à nouveau et mise à jour en conséquence.

#4) Pouvons-Nous Faire Des Tests Parallèles? Avez-vous des versions précédentes du même produit afin de pouvoir comparer la sortie? Si oui, cela peut rendre votre tâche de test un peu plus facile. Vous devriez penser à l’estimation en fonction de la version de votre produit.

#5) Les estimations peuvent mal tourner – Alors revoyez fréquemment les estimations dans les étapes initiales avant de les commettre: Dans les premières étapes, nous devrions fréquemment revoir les estimations de test et apporter des modifications si nécessaire. Nous ne devrions pas prolonger l’estimation une fois que nous l’avons gelée, à moins qu’il n’y ait des changements majeurs dans les exigences.

#6) Pensez à Votre Expérience passée pour Porter Des Jugements! Les expériences des projets passés jouent un rôle essentiel lors de la préparation des estimations de temps. Nous pouvons essayer d’éviter toutes les difficultés ou les problèmes rencontrés dans les projets passés. Nous pouvons analyser comment les estimations précédentes étaient et dans quelle mesure elles ont aidé à livrer le produit à temps.

#7) Considérez la portée du projet: Sachez quel est l’objectif final du projet et listez tous les livrables finaux. Les facteurs à prendre en compte pour les petits et les grands projets diffèrent beaucoup. Les grands projets incluent généralement la mise en place d’un banc d’essai, la génération de données de test, de scripts de test, etc.

Par conséquent, les estimations doivent être basées sur tous ces facteurs. Alors que pour les petits projets, le cycle de test comprend généralement l’écriture, l’exécution et la régression de cas de test.

#8) Allez-Vous Effectuer des Tests de charge? Si vous devez consacrer beaucoup de temps aux tests de performance, estimez en conséquence. Les estimations pour les projets qui impliquent des tests de charge doivent être considérées différemment.

#9) Connaissez-Vous Votre Équipe? Si vous connaissez les forces et les faiblesses des personnes travaillant dans votre équipe, vous pouvez estimer les tâches de test plus précisément. Tout en estimant, il faut tenir compte du fait que toutes les ressources ne peuvent pas donner le même niveau de productivité.

Certaines personnes peuvent exécuter plus rapidement que d’autres. Bien que ce ne soit pas un facteur majeur, cela s’ajoute au retard total des livrables.

Conclusion

L’estimation de test logiciel est une pratique qui nécessite la participation de professionnels expérimentés ainsi que l’introduction de meilleures pratiques à l’échelle de l’industrie, telles que les méthodes de test et de cas d’utilisation.

Il est également important d’adopter un esprit ouvert pour personnaliser les processus requis. La mise en œuvre réussie de ces processus conduit à une amélioration globale du processus de test.

Ceci est un article invité de l’auteur « N. Sandhya Rani ».

Dernière mise à jour : 29 novembre 2021

Write a Comment

Votre adresse e-mail ne sera pas publiée.