Qu'est-ce qu'un bon ratio entre développeurs et testeurs?
Ce ratio de [principal] les développeurs de testeurs n'gens pensent est le meilleur?
Évidemment, cela dépendra en partie de la conception et de maintenance de débit, mais est-il une règle-de-pouce d'une nouvelle entreprise/projet pourrait fonctionner?
Aussi, seriez-vous d'utiliser "pure" testeurs, ou voulez-vous de combiner les tests avec d'autres rôles (par exemple, la documentation, la formation des utilisateurs, etc)?
Évidemment, les réponses peuvent dépendre de la stratégie de l'entreprise /développement des modèles utilisés, donc merci de préciser si vous êtes de répondre en général, ou si, pour un style spécifique de produit, de libération, et ainsi de suite.
source d'informationauteur Peter Boughton
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, de développeurs, de testeurs, c'est une bonne règle de poucemais c'est un mauvais règle.
Ce dont vous avez besoin à considérer est la façon dont de nombreux cas d'utilisation de votre demande. Les Applications qui seront en interaction avec par les utilisateurs de façon incontrôlée (I. E. des applications web ou des applications de bureau) nécessitera plus de testeurs que le modèle d'application de la console.
Une application qui ne prend qu'un seul fichier et détecte les modèles regex dans il aura besoin de moins de testeurs qu'un nouveau système d'exploitation.
Tandis que ceux qui sont en général des maximes, des conseils pratiques serait d'utiliser une sorte de formule approximative sur la base de ces facteurs
1) Combien d' (compartimentée) les cas d'utilisation?
Je dis compartimentée cas d'utilisation parce que si vous incluez les changements d'état et persistante des variables, alors apparemment sans rapport les parties d'un programme peuvent être liés.
I. E. 2 + 2 = 4 (1 cas d'utilisation) 2 * 2 = 4 (2e cas d'utilisation). C'est simplement les deux opérateurs ainsi, deux classes du cas d'utilisation. Toutefois, si vous pouvez
add
puismultiply
, alors vous ne pouvez pas vérifier SEULEMENTadd
etmultiply
individuellement, vous devez vérifier dans tous leurs permutations possibles.Lors de l'examen du nombre de cas d'utilisation, assurez-vous d'inclure les cas d'utilisation qui impliquent de chaîner des commandes.
2) Combien de temps faut-il pour tester chacun d'eux?
Cela ne veut pas dire (pour prolonger la calculatrice métaphore) uniquement ajout de 2 + 2 et de regarder la réponse. Vous devez inclure le temps nécessaire à la récupération en cas d'incident. Si la réponse est incorrecte, vous vous attendez à ce que le testeur de journal le bug avec une capture d'écran et des instructions spécifiques sur la façon de recréer le bug. Si vous ne leur donnez pas le temps pour ce genre de travail de l'administration, alors vous êtes de cuisson sur votre plan de l'hypothèse que vous n'avez pas de bugs. Et si nous supposons que, pourquoi, alors, avoir des testeurs; -)
Un projet complexe aurez à la fois un nombre élevé de cas d'utilisation, et un grand nombre de développeurs, mais ils ne sont pas une garantie de corrélation. Vous êtes mieux de l'examen de votre cas d'utilisation à fond et prendre une décision éclairée au sujet de la façon dont de nombreux testeurs seront nécessaires.
Bonus Supplémentaire. Une fois que vous avez cassé en bas de l'application, de manière à fond, vous pouvez trouver des cas d'utilisation qui n'ont jamais été considérées dans la phase de conception, et de les corriger avant qu'un testeur trouve.
Joel est un bon argument pour 1 testeur pour 2 ingénieurs, ainsi que pour couvrir les excuses que les gens utilisent pour ne pas avoir ces testeurs.
J'ai blogué à propos de ce une fois ici. Les plus pertinents extrait est ci-dessous.
"J'ai vu la haute qualité des produits fabriqués dans un rapport de 10:1 dev:ratio du test, et horrible des produits créé avec un ratio de 1:1. La différence est dans l'attention et des soins de qualité. Si tout le monde (y compris la gestion) de l'équipe profondément se soucie de la qualité du produit, il a une bonne chance de se produire quel que soit le rapport. Mais si la qualité est quelque chose qui est censé être testé dans le produit, par tous les moyens d'avoir au moins 1 testeur pour chaque développeur (plus si vous pouvez les obtenir."
Il y avait un récent article sur InfoQ que vous pourriez trouver intéressant.
Cette chaîne est apparemment assez vieux. Mais les réponses me semblait tous manqué le point.
1). La question d'un ratio de développement et de test est valide, comme les plus complexes, les exigences, plus les développeurs sont nécessaires et, par conséquent, le plus de testeurs sont nécessaires. Un certain nombre de réponses semble rejeter cette.
2). Quel que soit les domaines d'application, un bon ratio qui fonctionne dans le monde réel de haute qualité des logiciels est 2:1. Vous pouvez vivre avec 4:1, mais c'est vraiment de l'étirer. Bien sûr, il ya beaucoup de variables dans cette estimation, non seulement la complexité des exigences, les systèmes et environnements de déploiement, mais aussi de la façon productive les développeurs sont, et comment serré le calendrier de livraison.
HTH
À mon avis, une bonne mesure à utiliser dans la détermination du nombre de testeurs faut, c'est la complexité des exigences, et non pas le nombre de développeurs. Si je devais engager de testeurs, je voudrais prendre un coup d'oeil à la liste des besoins (ou briser la conception de document dans la liste des exigences si nécessaire), et pensez à combien de temps d'essai, chaque exigence aurait besoin pour s'assurer qu'il fonctionne correctement. Je ne l'utiliserais que l'analyse initiale à la location d'une base de testeurs, puis ajouter les testeurs, plus tard, si la charge de travail s'est avéré être trop élevé pour ma première base.
Si vous êtes en train de réunir un budget et de l'embauche des testeurs plus tard n'est pas une option, vous pouvez budget dans les tests un peu plus de ressources que votre analyse indique. Trop, c'est toujours mieux que pas assez.
De procéder à des "pure" testeurs, c'est une autre question qui est vraiment dépend de la façon dont beaucoup de ressources dont vous avez besoin. J'ai trouvé un bon compromis est d'embaucher des testeurs qui sont susceptibles d'autres emplois, et de les utiliser dans d'autres capacités, à la fois lors de l'essai de charge est légère.
Edit: Si vous êtes assez chanceux pour avoir un ensemble de tests d'acceptation dès le début, n'oubliez pas de remplacer "tests d'acceptation" pour "liste des exigences ğ ci-dessus. 🙂
Il n'est pas généralisée "bon" rapport.
Clairement, le temps nécessaire pour tester quelque chose est contextuelle, ça dépend de facteurs qui peuvent avoir peu ou rien à voir avec combien de temps il a fallu pour développer cette fonctionnalité.
Aussi considérer:
voir: http://www.sqablogs.com/jstrazzere/150/What+is+the+%22Correct%22+Ratio+of+Development+Time+to+Test+Time%3F.html
Je dirais (en fonction de la vitesse vous avez besoin de choses testé) avec l'automatisation vous pourriez avoir comme 1 ou 2 testeurs pour chaque tranche de 5 développeurs.
Pourquoi:
Espère que ça aidera 🙂
Cela dépend du type de test, mais je ne voudrais pas le fardeau de testeurs avec d'autres rôles. Compétentes des ingénieurs de test valent leur poids en or (le même que compétente, les ingénieurs en logiciel). Si vous leur donnez des tâches en dehors de leur domaine d'expertise, vous allez ralentir et p*ss. Faire des ingénieurs logiciels comme faire de la documentation ou de la formation de l'utilisateur? Généralement pas. Ni faire des testeurs.
Cependant, il n'y a rien de mal avec le renfort de votre équipe de test avec des personnes d'autres régions, en particulier pour des tests d'utilisabilité, les essais d'acceptation rapide des critiques, etc.
Une chose est certaine. Le nombre de testeurs devrait être plus grand que le nombre de développeurs. Pour chaque entité créée par un développeur, testeur doit exercer la fonction de cadre de divers types de tests: la fonctionnalité, la facilité d'utilisation, les limites, le stress, etc. Bien que le rapport exact dépendra de plus sur le nombre de cas de test et la durée d'un cycle d'essai doit être (1 semaine, 3 jours, 1 journée ou demi-journée), un développeur va générer suffisamment d'activité de tests pour plusieurs testeurs. En outre, il peut y avoir des scénarios qui nécessitent plusieurs testeurs pour simuler deux ou plusieurs utilisateurs de travailler simultanément sur le système.