Quels sont les différents types de bogues logiciels ?


Je dirais qu'il y a trois types de bugs logiciels.

  1. Erreurs de compilation
  2. Erreurs d'exécution
  3. Erreurs logiques

Erreurs de compilation


Je dirais que c'est le plus rare. Si jamais il y avait des erreurs de compilation qui sont poussées en production pour un logiciel, ce serait horrible. Malheureusement, j'ai vu cela se produire pour différentes applications que j'ai utilisées dans le passé. Cela peut être n'importe quoi, des variables inexistantes, des fonctions, etc. Tout ce qu'un compilateur aurait dû capturer avant qu'une personne ne pousse son code, mais peut-être utilisait-elle un éditeur de texte à la place.

Les erreurs d'exécution

Les erreurs d'exécution sont des opérations qu'un programme tente d'effectuer mais qui sont impossibles à réaliser. L'exemple le plus simple est la division par 0. Vous pourriez avoir une simple ligne de code qui fait la division, mais ne pas considérer qu'une variable puisse être 0. Cela compilerait bien mais au moment de l'exécution, vous'obtiendrez une erreur.

Erreurs de logique

Définitivement un type d'erreur très commun. Parfois, les erreurs logiques seraient dues à la spécification technique que l'on donne à un ingénieur logiciel. Peut-être n'ont-ils pas complètement compris comment une fonctionnalité aurait dû être mise en œuvre. Ils pensaient qu'étant donné x, il fallait faire y, mais la réalité était qu'étant donné x, il fallait faire z.

D'autres fois, cela pourrait être le manque de tests efficaces. Un ingénieur pourrait penser qu'il a testé tous les scénarios possibles pour que son code fonctionne et comment attraper les zones où il ne fonctionne pas. Ce'e n'est pas toujours le cas cependant.

Mention honorable

Bogue "Pas encore une fonctionnalité". C'est lorsque quelqu'un pense que le logiciel devrait être capable de faire quelque chose, mais qu'il ne le fait pas'ment. Un consommateur pourrait penser qu'il s'agit d'un bug, mais les développeurs/gestionnaires de produits pourraient avoir dans leur champ d'action pour l'avenir.