Il existe certains types de bugs qui sont très difficiles à reproduire, se produisent très rarement et apparemment au hasard. Il peut arriver que je trouve une cause possible, la corrige, teste le programme et ne puisse pas reproduire le bogue. Cependant, comme il était impossible de reproduire le bug de manière fiable et que cela arrivait si rarement, comment puis-je l'indiquer dans un bugtracker? Quelle est la manière courante de procéder?
Si je définissais le status
fixe et le solution
fixe, cela signifierait quelque chose de complètement fixe, n'est-ce pas?
Est-il courant de régler le status
sur fixe et le solution
sur l'ouvrir, pour indiquer aux testeurs que "c'est probablement fixe, mais qu'il faut plus d'attention pour s'en assurer"?
Edit: la plupart (sinon tous) des bugtrackers ont deux propriétés pour le statut d'un bug, peut-être que les noms ne sont pas les mêmes. Par status
je veux dire nouvelle, affecté, fixe, fermé, etc. , et par solution
je veux dire ouvert (nouveau), fixe, sans solution, non reproductible, dupliquer, pas un bug , etc.
Réponses:
Commun ou non, c'est la bonne chose à faire de toute façon, et vous avez expliqué pourquoi vous-même: peu importe comment, c'est une bonne approche pour
indiquer aux testeurs que "c'est probablement corrigé, mais qu'il faut plus d'attention pour s'assurer"
Remarque latérale, même si un tracker de bogue particulier n'a pas de champ comme celui que vous décrivez
solution
, le développeur peut au moins ajouter un commentaire de forme libre expliquant ci-dessus.... et si le traqueur de bogues ne permet pas d'ajouter des commentaires au problème, il doit être remplacé par un autre. La possibilité d'ajouter des clarifications sous forme libre est une caractéristique extrêmement importante car les problèmes varient trop pour tenir dans une forme prédéfinie.
la source
L'équipe de test décidera si le problème a été résolu et s'il peut être résolu. S'il y a d'autres régressions, effets secondaires du correctif ou si le correctif lui-même n'est pas efficace dans un autre scénario, le problème sera rouvert. Mais si vous avez fait suffisamment de tests pour les développeurs, mieux vaut le marquer comme corrigé.
la source
En fait, s'il n'y a pas de scénario de test reproductible, je n'essaierais même pas de corriger un tel bug au préalable. Si vous souhaitez que le testeur y prête plus d'attention, donnez-lui la possibilité de créer un scénario reproductible.
Par exemple, disons que vous modifiez le programme et qu'un testeur investit 1 heure pour essayer de reproduire le bogue, et que le bogue n'apparaît pas - était-ce une heure suffisante? Ou est-ce que tester davantage est une perte de temps car le bug a déjà été corrigé?
D'un autre côté, lorsque vous ne changez pas le programme et que le bogue n'apparaît pas en 1 heure, le testeur devrait probablement consacrer une autre heure à essayer différentes choses. Et lorsque le testeur investit un jour et ne peut plus reproduire le bogue - cela vaut-il vraiment la peine d'essayer de le corriger alors?
Cela dit, vous pouvez penser à la façon dont vous modélisez ce processus dans votre système de suivi des bogues: ne pas essayer de le corriger et le remettre aux testeurs peut être un statut de bogue comme "ouvert". Si les testeurs ne peuvent pas le reproduire, il est évidemment "non reproductible". Espérons que cela ne se produise pas, ils trouvent un scénario reproductible, vous pouvez trouver la cause première de votre bogue, le corriger et définir le statut sur "corrigé". Essayez d'éviter d'entrer dans quelque chose comme "je ne sais pas si c'est réparé".
la source
Parfois, la seule preuve dont vous disposez est purement statistique, par exemple, elle se produit une ou deux fois par mois, mais autrement sans rapport avec quoi que ce soit. Il s'agit dans l'ensemble du pire type de bogue à diagnostiquer et à résoudre que j'aie jamais rencontré, car vous ne pouvez pas savoir avec certitude si vos correctifs ont un effet. Le dernier de ceux que j'ai dû résoudre s'est terminé par une correction statistique: la fréquence du symptôme est descendue à 10% avec laquelle nous avons commencé. La dernière pièce n'a jamais été trouvée, ou peut-être qu'elle l'était, mais personne n'avait aucun moyen de le savoir.
Deux conseils que j'ai: (1) supposent que plusieurs causes pourraient être en vigueur jusqu'à ce que vous sachiez le contraire, et (2) émettez l'hypothèse que les symptômes pourraient éventuellement exister, puis déchirez chaque ligne de logique qui est même impliquée à distance. Les procédures pas à pas profondes sont parfois le seul moyen de parvenir à une fin satisfaisante.
la source