> 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 inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

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