Tests unitaires succincts bases du test

Ceci est un extrait de l'eBook Unit Testing Succinctly de Marc Clifton, gracieusement fourni par Syncfusion..

Premièrement, il est supposé que deux autres éléments essentiels de tout projet de développement logiciel sont en place:

  • Un système de contrôle de source, tel que CVS, SVN, Git, Mercurial, etc..
  • Un système de suivi des bogues, tel que Bugzilla, FogBugz, etc..

Microsoft fournit l'intégration de ces éléments avec Visual Source Safe, SharePoint et d'autres produits.

Si vous n'avez pas tous les deux de ces morceaux déjà en place, arrêtez maintenant. Ce sont des composants essentiels d'un bon processus de tests unitaires solides.


Donc vous avez un bug

Si vous découvrez un bogue, en utilisant l’application ou un test unitaire échoué:

  • Signaler le bogue dans le gestionnaire de bogues et l'assigner à quelqu'un.

Si le bogue n'est pas signalé par un test unitaire, mais a été découvert en utilisant le code (un autre développeur ou un utilisateur):

  • Ecrivez le test unitaire qui vérifie comment créer le problème (voir «test négatif» décrit précédemment).

Avec votre système de contrôle de source:

  • Envisagez de créer une branche spécialement pour ce correctif.

Ensuite:

  • Ecrivez le test unitaire décrivant le comportement correct de la méthode.
  • Corriger le bogue et refaire le test.

Avec votre système de contrôle de source:

  • Enregistrez les modifications en vous référant au numéro de bogue attribué par le gestionnaire de bogues..
  • Si vous avez ajouté de nouveaux tests unitaires, archivez-les, en vous référant de nouveau au numéro de bogue..
  • Si vous avez créé une branche dans le code, décidez quand vous souhaitez fusionner les modifications dans la branche principale..

Suivi et rapport

En travaillant avec un système de suivi des bogues et de contrôle de version, n'importe qui (du responsable au programmeur junior) peut facilement consulter:

  • Les modifications apportées à la base de code.
  • L'unité teste pour créer le problème.
  • Les tests unitaires qui résolvent le problème.

Cela simplifie grandement la vie de l'équipe de développeurs, de la direction et même de l'utilisateur final si votre projet est configuré de manière à ce que l'utilisateur final s'intéresse à ce niveau de détail. (Par exemple, si un logiciel est développé en interne pour un autre département, les autres pourraient être intéressés à savoir quand un bogue est corrigé.)

L'intégration à d'autres technologies telles que SharePoint peut faciliter la communication entre les membres de l'équipe, les gestionnaires et les autres services. De plus, l’utilisation d’outils de contrôle de source sophistiqués tels que Perforce et d’outils d’intégration continue tels que CruiseControl.NET permettra d’intégrer et d’automatiser davantage l’utilisation du contrôle de source avec les tests unitaires, les tests d’intégration, les outils de génération de rapports, etc..