Déployer des tests unitaires

OK, finie la théorie, venons en à la concrétisation de ce qui a été exposé dans la section consacrée aux bases du testing technique : voyons comment implémenter concrètement des tests dans un système informatique.

Du code !

Ceux qui en ont marre du baratin verbeux des sections précédentes devraient être un peu plus heureux dans cette partie : maintenant, nous allons écrire du code !

Il y a du coup quelques pré-requis à valider avant de pouvoir exploiter pleinement ce qui va vous être présenté dans les sections à venir :

  • Connaître un minimum UML, en particulier les diagrammes de cas d'utilisation et les diagrammes de classes.
  • Connaître les bases de la programmation orientée objet (avec classes et sans classes).
  • Connaître les principes fondamentaux et bonnes pratiques du génie logiciel (DRY, couplage faible, MVC…).
  • Avoir quelques notions en Javascript, Python et Java.
  • Idéalement être familier avec le framework web Django.

Si vous n'avez pas ces connaissances, pas de panique ! Des rappels réguliers seront faits, et des pointeurs vous seront donnés pour vous mettre à jour si besoin est. Retenez simplement que si vous n'avez jamais fait d'informatique de votre vie, vous ne retirerez pas grand chose de concret de cette section !

Programme de la section

  • Quand et où écrire des tests unitaires ? – Cette page importante vous permettra de vous familiariser avec la notion de couverture de test, et vous donnera quelques indications sur le quoi, le où et le quand tester. À assimiler avant de lire la suite !
  • Comment se matérialise un test unitaire ? – Avant d'écrire nos premiers tests unitaires, nous allons voir comment ces tests se matérialisent concrètement, indépendamment des langages de programmation. Ces concepts seront communs à tous les langages.
  • Un premier exemple de tests unitaires en Javascript – Nous allons enfin écrire des tests unitaires. Dans ce premier exemple, nous illustrerons notre raisonnement sur un exemple en Javascript très simple, que vous pourrez expérimenter vous-même dans votre navigateur, sur cette page !
  • Comprendre les tests unitaires : exemples en Pythton – Cette page vous présentera quelques techniques de testing unitaire avec le langage Python. Au delà d'une implémentation de xUnit, Python propose un procédé de test original, doctest, permettant d'inclure des tests dans la documentation technique.
  • Tester unitairement un crawler simple en Java – Sur un exemple simple de crawler de moteur de recherche codé en Java, nous allons sur cette page implémenter quelques tests unitaires en Java.
  • Simulacres et bouchons – Nous allons voir sur cette page comment se sortir de certaines situations particulières où il n'est pas toujours possible de tester tous les composants comme on ne souhaiterait, en mettant en œuvre des astuces de type mock (simulacre) ou stub (bouchon).