Qu'est-ce qu'un bogue de logiciel ?

  • L'expression "bug" en ingénierie logiciel n'a pas une connotation aussi positive que, par exemple, "coccinelle"
  • Si vous trouvez un bogue, c'est qu'un logiciel ne fonctionne pas comme il le devrait.
  • Si une application présente plusieurs bogues, vous l'appelez "buggy" et une nouvelle version d'un logiciel qui supprime ces bogues, est appelée "bugfix".
  • On distingue les bogues fonctionnels et les bogues techniques : Lorsqu'il y a un bogue fonctionnel, une fonction de l'application ne fonctionne pas et lorsqu'il y a un bogue technique, l'erreur est plus importante et tout un système ne fonctionne pas. Il peut se produire des failles de sécurité qui peuvent être exploitées par des pirates informatiques.
  • Dans tous les types de logiciels, comme les systèmes d'exploitation, les jeux, les pages web, des bogues peuvent se produire.

Probablement le premier bogue informatique

Le premier bug informatique a été documenté le 9 septembre 1947 dans le journal de bord de l'officier de la Navi Grace Hopper. Le problème était un papillon de nuit entre les relais de l'ordinateur Harvard Mark II qui remplissait les salles comme d'habitude à cette époque. L'entrée du journal de bord dit : "Premier cas réel de bogue détecté". Les mouches, mites et autres insectes étaient attirés par la chaleur à l'intérieur de l'ordinateur et provoquaient ensuite des courts-circuits qui entraînaient des pannes d'ordinateur. Ici, l'expression "débogage" est devenue une nouvelle signification. Grace Hopper a répandu l'expression "bug logiciel", car ce mot avait déjà été utilisé pour décrire des problèmes techniques, par exemple dans l'industrie électronique des radars pendant la deuxième guerre mondiale ou plus tôt à la fin du 19e siècle par Thomas Edison et dans le jargon des télégraphistes.

Pourquoi les bogues des logiciels se produisent-ils ?

  • Communication : Lorsqu'un développeur comprend mal une exigence ou que l'exigence est mal ou pas assez spécifiée ou même pas spécifiée du tout.
  • Pression du temps : Les projets ont généralement des délais précis qui doivent être respectés, alors l'équipe est sous pression et des erreurs involontaires peuvent se produire. Il peut aussi y avoir un manque de temps pour exécuter les tests de logiciels.
  • Fonctionnalités vs. sécurité : Pour les utilisateurs, les nouvelles fonctionnalités sont plus évidentes qu'une mise à jour de sécurité logicielle cachée. Nous recommandons de ne pas négliger les normes de sécurité.
  • Tests insuffisants : Les services de développement continuent de mener des tests logiciels sur diapositives. Cela peut avoir plusieurs raisons : Le manque de temps, les restrictions budgétaires ou le manque d'engagement envers la qualité.
  • Projets complexes : Les projets sont de plus en plus étendus et, en raison de l'augmentation des exigences des applications de numérisation, ils sont de plus en plus nombreux. Garder la vue d'ensemble dans cette complexité de logique et de corrélations, est un effort. Un plus grand nombre de lignes de code entraîne une plus grande probabilité de bogues dans les logiciels.
  • Environnement de développement vs. environnement de test vs. environnement de déploiement : Si les différents environnements diffèrent beaucoup, des effets inattendus peuvent se produire. Le volume et le type de données peuvent varier, ce qui peut conduire à des scénarios non testés.
  • Recyclage du code : Si le code est réutilisé, le code copié peut s'exécuter différemment de ce qui était prévu, par exemple si le code copié n'est pas suffisamment documenté. Souvent, le code recyclé n'est pas entièrement testé lors de son déploiement.
  • Enfin, le facteur humain n'est pas le moindre : On ne peut pas faire d'omelette sans casser des œufs et tout le monde peut donc avoir une mauvaise journée qui conduit à des erreurs de frappe et d'écriture.

Quel est le taux d'erreur moyen ?

Type de logicielErreurs par 1 000 lignes de code
Logiciel ordinaire non testé15 to 50 erreurs
Logiciel de qualité et éprouvé2 erreurs
Logiciel de navette spatiale<1 erreur par 10 000 lignes de code

Bugs logiciels - potentiellement très coûteux et même dangereux

Les bogues des logiciels peuvent entraîner des dommages financiers importants et, dans le pire des cas, mettre la vie en danger. Il existe de nombreuses listes de bogues logiciels en ligne, dont voici une liste très complète : Collection de bogues logiciels Collection des bogues logiciels

Le "Millenium Bug" - le bogue logiciel le plus cher jusqu'à présent

Le "Y2K-Bug" était jusqu'alors le bogue logiciel le plus cher de l'histoire. Son coût de réparation est estimé à 600 milliards de dollars dans le monde entier. Il trouve son origine dans l'affichage à deux chiffres des dates de l'année, par exemple 99 pour 1999 et 00 pour 2000. Un tel tri aurait conduit à l'an 2000 au tout début. Ou bien le calcul de l'âge des utilisateurs aurait été erroné, comme le sera avec 00 - 60, un âge négatif n'est pas possible. Les effets les plus négatifs ont été anticipés et résolus à l'avance. Un cas très drôle est celui d'un conducteur aux États-Unis qui a reçu une facture de taxe automobile pour les 100 dernières années avec un montant de 760 000 dollars.

Nous sommes engagés dans la qualité des logiciels et voulons éviter les bogues. C'est pourquoi nous avons lancé QF-Test, notre outil de test de Java et des interfaces graphiques Web, en 2001.

QF-Test est spécialement conçu pour les tests de régression de l'interface graphique, les fonctionnalités sont testées sur une base très spécifique jusqu'aux tests complets du système. QF-Test est testé par lui-même chaque nuit avec environ 25 000 tests.

Si vous souhaitez améliorer la qualité de votre logiciel, QF-Test peut être une option.