Qu'est-ce qu'un bug ?


Un bug est la résultante inattendue d'un événement en face de spécifications, et uniquement cela.

Pour qualifier un résultat de "bug", il faut donc des spécifications (résultat attendu sur tel ou tel événement ET dans telles ou telles conditions). Il ne faut pas confondre bug, et "je ne m'attendais pas à ce résultat" car un bug n'a rien de personnel.

De fait, ne sont pas des bugs:
- une absence de développement d'une fonctionnalité (ni spécification, ni développement, ni tests)
- un usage non prévu (non spécifié) d'une fonctionnalité (spécifications autres que l'usage appliqué)
- une limitation imposée par les spécifications d'un appareil ou les dépendances à un autre logiciel (contrainte externe qui ne pourra être évitée)
- la restriction du domaine d'application d'une fonctionnalité à ses seules spécifications (et non des "je croyais que")

Un développement spécifique client sans spécifications client n'aura également aucun bug.

Dans tous les cas, les spécifications sont la clé, car c'est la seule explication écrite (et non un contour vague qui reste dans l'esprit de celui qui pense à une fonctionnalité) sur laquelle se fondera celui qui devra traduire les besoins exprimés en français (ou autre langue) vers du code. Si après rédaction des spécifications, il reste des "je croyais que", c'est que les besoins ont été insuffisamment exprimés (les "je croyais que" ne l'ont pas été). Aucune compétence informatique n'est requise pour la rédaction des spécifications, il s'agit d'exprimer des besoins dans sa langue native.

Les bugs sont détectés soit en phase de validation (betas privée ou publique) ou de production, jamais en phase de développement (car la traduction des spécifications n'est pas terminée)

Avez-vous trouvé cet article utile ?