C'est un comportement du programme non conforme aux intentions de son auteur.Â
Un programme qui ne fait pas ce que veut l'un de ses utilisateurs n'est pas "bogué" tant qu'il fait ce que souhaitait son auteur et qui peut diverger de ce que souhaitent ses utilisateurs ou certains d'entre eux.
Joindre l'auteur du programme est utile pour déterminer ce qui est "normal" ou non, bref s'il s'agit de "corriger" une anomalie ou de "d'améliorer" l'application.
Faire évoluer le programme pour qu'il réponde mieux aux souhaits de la majorité de ses utilisateurs est possible, et en général sera fait selon l'effort correspondant, mais ne relève pas de la "correction d'erreur" en soi qui peut être rapide.Â
Les vrais "bugs", où le programme ne fait définitivement pas ce que son créateur souhaitait qu'il fasse, ne sont pas rares : dans ce cas il faut identifier le comportement anormal et corriger ... ce qui est simple en théorie.
Savoir reproduire un bug
C'est le défi principal : quand on sait reproduire un bug, le problème est quasiment résolu. D'où l'importance d'avoir le maximum d'informations sur l'enchaînement des circonstances qui l'ont provoqué.
Signaler les bugs (ou présomptions)
C'est important pour tout le monde car l'application ne s'arrangera pas toute seule. Penser que quelqu'un finira bien par tomber dessus et le signaler n'est pas une bonne approche : des applications ayant des centaines de millions d'utilisateurs se découvrent des bugs tous les jours. Laisser un bug dans l'ombre n'est pas souhaitable pour la robustesse de l'application : peut-être que la manifestation perçue est anodine mais elle peut parfois masquer un problème de calcul ou d'enregistrement de données plus graves.
Les "régressions"
Une régression est un bug affectant un comportement qui marchait bien "avant".Â
Avant quoi ? Avant une amélioration, une extension ou la correction d'un autre bug. D'ailleurs le bon chasseur de bugs commence toujours à chercher toujours dans ce qu'il vient d'écrire / corriger récemment.
Les bugs font partie de la vie normale d'une application, même bien testée, et leurs corrections sont le meilleur moyen de bonifier le fonctionnement pour tous.