software test estimation techniques
Pour le succès de tout projet de test, l'estimation 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 permet de préparer une estimation précise du cycle de test. De toute évidence, on ne peut pas simplement consacrer aveuglément un certain nombre de jours à une tâche de test. L'estimation du test doit être réaliste et précise.
Dans cet article, j'essaie de mettre quelques points d'une manière très simple, qui sont utiles pour préparer une estimation de test précise.
Ce que vous apprendrez:
- Brève description du processus d'estimation des tests
- Exemples d'estimation de test
- 9 conseils généraux sur la façon d'estimer avec précision le temps de test
- Conclusion
- lecture recommandée
Brève description du processus d'estimation des tests
'L'estimation est le processus qui consiste à trouver une estimation, ou une approximation, qui est une valeur utilisable à certaines fins, même si les données d'entrée peuvent être incomplètes, incertaines ou instables.' [Référence: Wikipédia ]
Nous rencontrons tous des tâches, des devoirs et des délais différents tout au long de notre vie en tant que professionnels, il existe maintenant deux approches pour trouver une solution à un problème.
Une 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 apparition.
Dans la deuxième approche qui peut être appelée une approche proactive par laquelle 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 survient.
L'estimation peut donc être considérée comme une technique appliquée lorsque l'on adopte 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 leur est alors plus facile de trouver une solution qui serait optimale pour le problème en question.
La pratique de l'estimation peut alors se définir plus formellement comme un calcul approximatif du coût probable d'un travail.
Aussi, lisez=> 7 facteurs affectant l'estimation du test du projet d'automatisation du sélénium
Les prérequis de base du processus d'estimation de test
# 1) Insights recueillis en travaillant avec l'expérience passée : C'est toujours une bonne pratique de passer du temps, à se remémorer des projets passés qui posaient des défis similaires à l'effort actuel en cours.
# 2) Les documents ou artefacts disponibles: La les outils de référentiel de gestion des tests sont disponibles pratique dans ces types de scénarios car ils stockent les documents d'exigence et de clarification. Ces documents peuvent être référé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 antérieure 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 capter le cerveau de ces personnes pour fournir 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 résider dans le futur pour l'équipe.
# 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é établies ou non. Si les documents ne sont pas référencés, il est important de déterminer la fréquence des changements.
# 6) Toutes les responsabilités et dépendances doivent être claires: L'organisation doit définir clairement les rôles et les responsabilités de toutes les personnes qui effectueraient le processus d'estimation.
# 7) Documentation et suivi des enregistrements d'estimation: Toutes les informations pertinentes pour le processus d'estimation doivent être documentées.
# 8) Activités qui doivent être effectuées pendant le processus d'estimation du test
- Organiser l'équipe qui effectuerait les estimations
- Décomposer le projet en phases de projet et en activités constituantes ultérieures
- Calculer l'estimation en fonction des projets précédents et de l'expérience professionnelle
- Hiérarchiser les menaces possibles et proposer des approches pour atténuer ces risques
- Examiner et documenter la partie pertinente 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 des tests sont:
- Estimation du point de test
- Estimation basée sur la phase de travail
- Utiliser l'estimation des points de cas
Comment et où nous utilisons ces techniques:
# 1) Estimation du point 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.
tester mon site dans différents navigateurs
# 2) 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 propose finalement une estimation appropriée.
# 3) Technique d'estimation des points de cas d'utilisation est l'estimation des 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 des tests logiciels.
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: -
(Les poids suivants qui peuvent varier d'un projet à l'autre pourraient être pris en compte dans ce paradigme - Certains de ces poids sont le poids du langage de programmation basé sur la complexité du code, le poids de l'application basé sur le 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 CWF pour obtenir la taille de test dans la taille du point de test.
Le facteur de productivité indique le temps nécessaire à un ingénieur de test pour terminer le test d'un point de test
L'effort de test en heures-personne 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
- Interface avec d'autres exigences
- Nombre total de points de vérification
- 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.
Facteur d'ajustement = Moyenne de (produit du poids de la complexité et du poids du facteur) / 30
Point de test d'ajustement pour la conception de cas de test = Point de test total X (1 + facteur d'ajustement pour la conception de cas de test)
comment devenir testeur de nouveaux produits
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 dans une autre utilisation pratique.
Supposons que nous nous retrouvions avec une exigence de test dans laquelle nous avons 5 scénarios de test à tester.
Maintenant, disons que le scénario de test 1 a obtenu 5 résultats de test attendus, le scénario de test 2 6 résultats attendus de test, le scénario de test 3 seulement 2 résultats de test attendus, 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 donc 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 simples comprendront moins de 5 résultats attendus et les scénarios modérés comprendront entre 4 et 7 résultats attendus.
Nous classons ainsi le scénario de test 1 et le scénario de test 2 comme scénarios modérés, le scénario 5 et le scénario 6 comme complexes et le scénario de test 3 comme simple.
Nous allons maintenant appliquer des points de test à tous ces scénarios. Nous appliquons 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. On aboutit donc aux 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 appliquer pour dire 5 heures-personnes pour chaque point de test ajusté, nous finissons par obtenir le résultat approximatif suivant.
Scénario de test 1:25 points de test ajustés * 5 heures-personnes = 125 heures-personnes
Scénario de test 2:30 points de test ajustés * 5 heures-personnes = 150 heures-personnes
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
Le total approximatif des heures-personnes est donc de: 745 heures-personnes
Utiliser la méthode d'estimation des points de cas
La méthode des points d'utilisation est basée sur les cas d'utilisation où nous calculons l'effort global d'estimation du test basé sur les cas d'utilisation ou les exigences.
Voici le processus détaillé de la méthode d'estimation des points de cas d'utilisation:
Un exemple de la même chose 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 se compose de 6 acteurs, le cas d'utilisation 2 comprend 15 acteurs, les cas d'utilisation 3, 4 et 5, 3, 4 et 5 acteurs respectivement.
Nous considérons tout cas d'utilisation qui implique le nombre total d'acteurs comme étant inférieur à 5 comme négatif, tout cas d'utilisation avec le nombre total d'acteurs est é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 décidons d'attribuer 2 points aux cas d'utilisation exceptionnels, 1 aux cas positifs et -1 aux 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 en fonction de nos hypothèses ci-dessus.
Ainsi, les poids des acteurs non traités = 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 d'acteur non traités = 33
Poids du cas d'utilisation non traité = nombre total. des cas d'utilisation = 5
Point de cas d'utilisation non traité = poids d'acteurs non ajustés + poids de cas d'utilisation non ajusté = 33 + 5 = 38
Point de cas d'utilisation traité = 38 * [0,65+ (0,01 * 50] = 26,7 ou 28 heures-personnes environ
Technique de répartition des phases de travail
La technique de décomposition des phases 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 pourrait ê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 d'effort de phase actuelle à la valeur déjà existante.
- Continuez les étapes 3 à 5 jusqu'à ce que toutes les phases identifiées dans la première étape soient épuisées.
- Acceptez la valeur finale approximative de l'estimation comme ultime.
Supposons qu'une exigence comporte 5 phases requises. Ainsi, dans la phase initiale 1, nous supposons que l'effort total nécessaire est de 35 heures-personnes, puis nous commençons la phase 2 suivante pour laquelle nous avons 4 hypothèses comparatives de 35, 45, 55 et 65 respectivement.
Nous considérons donc les 65 heures-personnes qui sont ici la valeur maximale. Dans les phases 3, 4, 5, nous établissons des estimations (12, 33, 43, 54), (15, 10, 7, 8) et (2, 16, 5, 13) respectivement. En appliquant ce principe, nous obtenons respectivement 185 heures-personnes.
Je mets des informations sur - Comment 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 avec précision le temps de test
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 doit inclure un tampon. Mais n'ajoutez pas de tampon, ce qui n'est pas réaliste. Avoir un tampon dans l'estimation permet de faire face aux retards qui peuvent survenir. Avoir un tampon permet également d'assurer une couverture de test maximale.
# 2) Considérez le cycle des bogues
L'estimation du test comprend également le cycle de bogue. Le cycle de test réel peut prendre plus de jours que prévu. Pour éviter cela, nous devons considérer le fait que le cycle de test dépend de la stabilité de la construction. Si la construction n'est pas stable, les développeurs auront peut-être besoin de plus de temps pour la corriger et, évidemment, le cycle de test se prolongera automatiquement.
# 3) Disponibilité de toutes les ressources pour la période estimée
L'estimation du test doit prendre en compte tous les congés prévus par les membres de l'équipe (généralement de longues congés) dans les prochaines semaines ou les prochains mois. Cela garantira que les estimations sont réalistes.
L'estimation doit tenir compte d'un nombre fixe de ressources pour un cycle de test. Si le nombre de ressources diminue, l'estimation doit être réexaminée et mise à jour en conséquence.
# 4) Pouvons-nous faire des tests parallèles?
Avez-vous des versions antérieures 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 basée sur la version de votre produit.
# 5) Les estimations peuvent mal tourner - Alors revoyez fréquemment les estimations dans les étapes initiales avant de les valider.
Dans les premiers stades, nous devons fréquemment revoir les estimations de test et apporter une modification si nécessaire. Nous ne devrions pas étendre l'estimation une fois que nous l'avons gelée à moins que les exigences ne changent considérablement.
# 6) Pensez à votre expérience passée pour faire des jugements!
Les expériences des projets antérieurs jouent un rôle essentiel dans la préparation des estimations de temps. Nous pouvons essayer d'éviter toutes les difficultés ou problèmes rencontrés dans les projets précédents. Nous pouvons analyser comment les estimations précédentes étaient et dans quelle mesure elles ont contribué à livrer le produit à temps.
# 7) Tenez compte de la portée du projet
Sachez quel est l'objectif final du projet et liste de tous les livrables finaux. Les facteurs à considérer pour les petits et les grands projets diffèrent beaucoup.
Le grand projet comprend généralement la mise en place d'un banc de test, la génération de données de test, des scripts de test, etc. Par conséquent, les estimations doivent être basées sur tous ces facteurs. Alors que dans les petits projets, le cycle de test comprend généralement l'écriture, l'exécution et la régression des cas de test.
# 8) Allez-vous effectuer des tests de charge?
Si vous avez besoin de consacrer beaucoup de temps aux tests de performance, faites une estimation 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 plus précisément les tâches de test. Lors de l'estimation, il faut tenir compte du fait que toutes les ressources peuvent ne pas produire 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.
comment ouvrir un fichier jar avec java
Conclusion
L'estimation des tests logiciels est la 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 points de test et utilise des méthodes de cas.
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.
Il s'agit d'un article invité de l'auteur «N. Sandhya Rani ».
lecture recommandée
- Meilleurs services de test de logiciels d'assurance qualité de SoftwareTestingHelp
- Guide d'externalisation de l'assurance qualité: sociétés d'externalisation de tests de logiciels
- Test alpha et test bêta (un guide complet)
- Guide de CV de test logiciel parfait (avec exemple de CV de testeur de logiciel)
- Tâches de test de logiciels: un guide complet des tâches de test d'AQ
- Techniques d'estimation agile: une vraie estimation dans un projet agile
- 68 ressources essentielles pour être un testeur réussi (à ne pas manquer!)
- Types de tests logiciels: différents types de tests avec des détails