Tests unitaires
Description
Les tests unitaires permettent de valider le fonctionnement de modules ou de classes d'objets. Le développement de tests unitaires est l'une des techniques de l'extreme programming. Elle permet de valider rapidement les cas d'utilisation d'un module et d'éviter la régression du code lorsque ces tests sont automatisés et enrichis au cours du développement.
Je considère qu'à l'heure actuelle l'utilisation de tests unitaires est indispensable dans le cadre de développements industriels. Le temps passé à écrire les tests unitaires est largement rentabilisé tant cela permet de clarifier la conception, de valider les cas d'utilisation et de garantir la non-régression du code.
L'intégration des tests unitaires est aisée à l'heure actuelle :
- les environnements de développement tels qu'Eclipse et NetBeans intègrent cette notion ;
- des frameworks de tests unitaires sont disponibles pour pratiquement tous les langages.
Outils
Les outils que j'utilise actuellement :
- pour Python : PyUnit ;
- pour Objective-C : TestKit ;
- pour Java : JUnit (prêt à l'emploi dans Eclipse et NetBeans).
Liens utiles
- Extreme programming rules : les lois de l'extreme programming ;
- Opensourcetesting.org : un site référençant les outils liés aux tests unitaires et au suivi d'anomalies ;
- JUnit.org : site dédié aux tests unitaires avec Java ;
- PyUnit : module de tests unitaires pour Pyhton ;
- Unit Testing with OCUnit : tests unitaires avec Objective-C.
Bibliographie
- Unit Test Frameworks de Paul Hamill chez O'Reilly ;
- Refactoring: Improving the Design of Existing Code de Martin Fowler, Kent Beck (...) chez Addison Wesley.