Débogage

Définition - Que signifie le débogage?

Le débogage est le processus de routine de localisation et de suppression des bogues, erreurs ou anomalies de programmes informatiques, qui est méthodiquement géré par les programmeurs de logiciels via des outils de débogage. Le débogage vérifie, détecte et corrige les erreurs (ou «bogues») pour permettre le bon fonctionnement du programme, selon les spécifications définies.

Le débogage est également appelé débogage.

Definir Tech explique le débogage

Au fur et à mesure que les professionnels développent des programmes logiciels, ils mettent en œuvre des éléments clés du processus tels que des tests intensifs, des mises à jour, des dépannages et de la maintenance.

Normalement, le logiciel contient des erreurs et des bogues, qui sont systématiquement supprimés. Dans le processus de débogage, des programmes logiciels complets sont régulièrement compilés et exécutés pour identifier et corriger les problèmes. Les grands logiciels, qui contiennent des millions de lignes de code source, sont divisés en petits composants. Pour plus d'efficacité, chaque composant est d'abord débogué séparément, suivi du programme dans son ensemble. En général, le fonctionnement du débogage dépend des stratégies de test globales qui sont choisies.

Le débogage en tant qu'élément fondamental de la gestion du code et du développement logiciel est un bon indicateur de la façon dont nous produisons des technologies en général. Cela reflète ce que nous avons pu faire avec les langages de programmation pour avancer dans un monde d'automatisation numérique et d'IA.

Une autre façon de dire cela est que le débogage évolue avec les technologies que nous utilisons pour coder et écrire des programmes.

Les experts parlent souvent du débogage comme impliquant «des personnes, des processus et des systèmes» qui aideront à aplanir tout problème avec une base de code existante. Donc, comment cela fonctionne est différent à différentes époques: par exemple, le débogage qui a eu lieu dans les premiers jours du PC, dans des environnements bare-metal sur du code linéaire, non orienté objet, va être différent du débogage qui arrive aujourd'hui.

Un excellent exemple de ceci est la montée des pratiques modernes appelées «débogage inversé».

À l'ère du devOps et du développement logiciel agile, le débogage inversé implique de surveiller les programmes et de fournir des données de manière particulière, afin d'automatiser le processus de débogage. Auparavant, cela était fait par des informaticiens individuels dans un processus qui ressemblait souvent à une sorte de travail de détective technique.

Dans l'ancien temps, les programmeurs déposaient des tickets individuels après avoir observé un bogue fonctionnel pendant les tests, puis revenaient et parcouraient le code en utilisant des débogueurs maintenant primitifs pour comprendre ce qui se passait. Il n'était pas rare qu'une équipe chevronnée soit "perplexe" pendant un certain temps, soit à cause de la sophistication du code qui a créé le bogue, soit de l'insaisissabilité du bogue lors des tests, ou des deux.

En revanche, les systèmes de débogage inversé qui ressemblent à la conception des enregistreurs de vol dans les avions suivent les programmes en cours d'exécution, ou surveillent autrement les programmes, afin de fournir les bonnes informations pour faire du débogage un processus plus automatisé.

En effectuant plus de types de surveillance sophistiquée en temps réel ou au fur et à mesure que des programmes sont utilisés, les outils de débogage inversé saisiront davantage les détails que les informaticiens auraient traditionnellement dû étudier de leur côté.

Les tests ont également changé, où avec le CICD et les processus associés, certains des tests peuvent être effectués par des ingénieurs, et d'autres types de tests peuvent être effectués par des utilisateurs finaux dans un environnement de production ou en version bêta, ou ailleurs dans le pipeline.

En fin de compte, le débogage continuera à être un élément essentiel de la gestion d'une base de code.