> Tech > Critters 101

Critters 101

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Différents cafards exigent des méthodes d'extermination différentes! Aussi, la première étape pour être efficace dans le déboguage consiste à  identifier sa cible. Malheureusement, les bogues que l'on rencontre en programmation sont plus difficiles à  repérer que les cafards du monde des insectes.

En général, un bogue est dû à 

Critters 101

une défaillance du système mais il n’est pas forcément
pénalisant à  l’égard de la base de données. Si par exemple l’utilisateur de l’application
est externe à  l’entreprise, alors quelque chose d’aussi simple qu’une faute de
frappe à  l’écran peut être qualifié de bogue. Si le code ne fonctionne pas conformément
aux spécifications, le coupable est probablement un bogue. Si une application
détruit des informations utiles ou effectue des mises à  jour inappropriées, alors
un bogue en est sans nul doute la cause.

Chaque département informatique doit définir ses propres mesures pour répertorier
les bogues et mesurer leur degré de sévérité. C’est une fonction particulièrement
importante lorsqu’on livre un progiciel. Par exemple, qu’est-ce qui permet de
dire qu’un bogue est dû à  une erreur de programmation, un défaut clairement reconnu
du système ou simplement une fonctionnalité personnalisée dont l’utilisateur « a
besoin » ? Beaucoup de projets rencontrent des problèmes de budget et dépassent
les délais qui leurs étaient initialement impartis parce que les programmeurs
ont passé énormément de temps à  essayer de corriger des « bogues » qui sont en fait
des requêtes de dernière minute initiées par les utilisateurs pour des menus détails.

La prévention est la première étape

La meilleure façon d’éviter les bogues est de mettre en place une stratégie
de prévention saine, ce qui, dans l’univers de la programmation, signifie adhérer
à  des standards, des standards et encore des standards.

  • Les standards de programmation homogénéisent la
    conception des programmes. Ainsi peut on utiliser des programmes existants
    comme point de départ afin de simplifier l’évaluation et les tests.
  • Les standards darchitecture des systèmes permettent
    d’éviter de dupliquer des fonctions communes à  plusieurs programmes. Plus
    tard, cela permet de corriger des bogues à  un emplacement unique.
  • Les standards d’intégrité des données
    protègent contre les bogues qui résultent de données inexactes. Les standards
    au niveau des données devraient être cohérents à  travers l’ensemble du système
    ; il est nécessaire de toujours exiger que le programme appelant ou le programme
    de plus bas niveau maintienne l’intégrité des données.

Quels que soient les standards utilisés sur le système, certains bogues passeront
forcément à  travers les mailles du filet de votre stratégie de prévention. Lorsque
cela se produit, assurez-vous de mettre en place une procédure de validation des
programmes tenant compte de la manière dont ce bogue est apparu. Par exemple,
si un programme « crashe » parce qu’une combinaison particulière de valeurs n’est
pas logique, alors réexaminez le programme que vous maintenez et modifiez-le de
manière à  ce qu’il interdise cette combinaison. De telles mesures préventives
post-déboguage peuvent souvent réduire la capacité des utilisateurs à  commettre
des erreurs par inadvertance à  l’avenir.

La partie la plus importante de la prévention est la phase assurance qualité (AQ)
du développement des applications qui devrait se produire à  plusieurs niveaux.
Pendant cette phase, un analyste senior devrait examiner votre code et un groupe
d’analystes devrait le tester. Une équipe AQ qui inclut des utilisateurs finals
réels devrait également conduire la phase finale des tests. Le but de l’analyste
est de supprimer les erreurs que les utilisateurs ne devraient jamais voir, telles
que des variables numériques non-initialisées ou des listes de paramètres qui
ne correspondent pas. Le but de l’équipe AQ est de s’attaquer à  tous les problèmes,
tant fonctionnels qu’opérationnels.

N’espérez pas éliminer toutes vos erreurs de programmation avant la mise en oeuvre.
Toutefois, les problèmes de production de sévérité moyenne à  élevée devraient
être une exception, et non la règle. Si vous rencontrez souvent des volumes importants
de problèmes après avoir lancé la production en série de vos logiciels,
repensez votre processus d’AQ.

Appelez le Bugbuster !

Une fois qu’un bogue atteint le niveau de la production, il est temps d’appeler
le bugbuster. Que vous affectiez la responsabilité de dépanner vos logiciels à 
des employés internes à  l’entreprise, à  des consultants indépendants, ou à  des
éditeurs tiers, assurez-vous qu’ils savent ce qu’ils font. Savoir comment résoudre
un problème au niveau de la production peut faire la différence entre une panique
de dix minute coûtant quelques milliers de dollars et un supplice de deux heures
coûtant un million de dollars. JL

Téléchargez cette ressource

Comment sécuriser une PME avec l’approche par les risques ?

Comment sécuriser une PME avec l’approche par les risques ?

Disposant de moyens financiers et humains contraints, les PME éprouvent des difficultés à mettre en place une véritable stratégie de cybersécurité. Opérateur de services et d’infrastructures, Naitways leur propose une approche pragmatique de sécurité « by design » en priorisant les risques auxquelles elles sont confrontées.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010