> Tech > Les 4 piliers d’un débogage efficace

Les 4 piliers d’un débogage efficace

Tech - Par Renaud ROSSET - Publié le 04 juillet 2013
email

Un débogage efficace s’appuie sur quatre piliers.

Les 4 piliers d’un débogage efficace

De bons outils constituent un de ces piliers et c’est cet aspect que nous abordons ici. Néanmoins, les outils ne seront d’aucune utilité sans les trois autres piliers. Le premier est le recours à des pratiques de conception d’application et de codage qui privilégient un couplage lâche des objets, puis l’écriture de code ne présentant aucune ambigüité. Ces pratiques vous aident à localiser les bugs et à éviter les modifications qui vont en introduire de nouveaux. A ce propos, il n’est jamais trop tard pour relire l’ouvrage de Brian W. Kernighan et P. J. Plauger intitulé « The Elements of Programming Style » (éditions Computing Mcgraw-Hill, 1978).

Les 4 piliers d’un débogage efficace

Le deuxième pilier est l’utilisation du développement orienté tests ou TDD (Test-Driven Development). Si vous créez autre chose que des interfaces utilisateur à couplage étroit et que vous n’utilisez pas l’approche TDD, vous programmez avec une main attachée dans le dos : votre productivité est inférieure à ce qu’elle pourrait être et votre code est moins fiable qu’il le devrait.

Le troisième pilier du débogage est la disponibilité d’un processus de débogage de qualité (cf. l’encadré « Le processus de débogage »). De nombreux développeurs passent directement à la phase de développement d’une solution et, par conséquent, sont moins en mesure de corriger les bugs et plus enclins à en introduire de nouveaux par rapport aux développeurs qui suivent un processus.

Mais si ces autres piliers sont en place, les outils ont leur rôle à jouer. Afin de conserver une taille raisonnable à cet article, nous allons uniquement passer en revue les outils de débogage liés au code source et supposer que vous n’êtes pas intéressé par le débogage de votre code MSIL (Microsoft Intermediate Language).

Le processus de débogage

1.   Décrivez le bug. Collectez les preuves nécessaires afin de fournir une description complète des symptômes, en insistant sur le moment ou ceux-ci apparaissent et n’apparaissent pas.

2.   Stabilisez le bug. Déterminez la procédure permettant de faire apparaître le bug comme vous le souhaitez. Vous aurez ainsi l’assurance d’avoir identifié les conditions qui provoquent l’apparition de ses symptômes. Assurez-vous que les symptômes n’apparaissent pas dans d’autres conditions associées.

3.   Diagnostiquez/localisez le bug. Vérifiez que vous pouvez décrire la cause fondamentale du bug et qu’elle concorde avec les étapes 1 et 2.

4.   Développez et appliquez une solution. Déterminez si vous allez traiter la cause fondamentale du bug ou ses symptômes. Ecrivez le code.

5.   Testez la solution. Exécutez les étapes de stabilisation du bug pour vérifier que les symptômes n’apparaissent plus.

6.   Test de non-régression. Vérifiez qu’aucun nouveau bug n’a été ajouté.

7.   Implémentez la modification. Passez la modification en production.

Si vous effectuez un développement TDD, un bug signifie une des trois choses suivantes : les exigences n’ont pas été converties correctement en tests, un test existant est défectueux (il ne teste pas ce qu’il est censé tester) ou il manque un test. La stabilisation du bug (étape 2) consiste à traiter ces trois problèmes en corrigeant ou ajoutant des tests. Le test de la solution (étape 5) vise à appliquer les nouveaux tests. Les tests de non-régression (étape 6) permettent d’exécuter la suite pertinente de tests et, enfin, l’implémentation de la modification (étape 7) catalogue les nouveaux tests.

Téléchargez cette ressource

Guide de Reporting Microsoft 365 & Microsoft Exchange

Guide de Reporting Microsoft 365 & Microsoft Exchange

Comment bénéficier d’une vision unifiée de vos messageries, mieux protéger vos données sensibles, vous conformer plus aisément aux contraintes réglementaires et réduire votre empreinte carbone ? Découvrez la solution de reporting complet de l’utilisation de Microsoft Exchange, en mode on-premise ou dans le Cloud.

Tech - Par Renaud ROSSET - Publié le 04 juillet 2013