• 4 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Mis à jour le 07/10/2017

Tirez parti de ce cours

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

 

Organisation du cours

Je vous propose, dans ce cours, de créer un plan de test autour d'un de mes projets que plusieurs d'entre vous connaissent déjà : la modélisation d'un monde parallèle.

Pourquoi, me direz-vous, reprendre ce projet alors qu'il est déjà en ligne ? Tout simplement car une question fondamentale me trotte dans la tête depuis un certain moment et que j'aimerais y répondre : les vieux sont-ils vraiment plus bougons que les jeunes ?

Un copain informaticien, également hanté par cette question jour et nuit, m'a proposé de contribuer à mon projet pour y implémenter cette nouvelle fonctionnalité. Que j'étais heureuse ! Nous allions enfin avoir une réponse !

Régis a ouvert le projet et y a apporté des modifications. Malheureusement, ces dernières sont entrées en conflit avec les autres fonctionnalités de notre programme et il a perdu du temps a trouver d'où venait le souci. Il m'a alors dit : on arrête là et on fait des tests.

Peut-être connaissez-vous déjà ce scénario et êtes-vous en train de penser : "Céline, malheur et tristesse, n'as-tu point fait de tests ?". 😕 Hé bien... Je dois l'avouer : non.

Ou peut-être vous demandez-vous pourquoi je parle de tests et pourquoi j'aurais dû en faire ? Dans ce cas, laissez-moi vous présenter de quoi il s'agit.

Les tests en informatique

Lorsque vous créez un nouveau projet, vous vérifiez progressivement que votre code fonctionne en lançant votre programme. Puis vous considérez que le programme est terminé lorsqu'il intègre bien toutes les fonctionnalités à développer.

Nous, développeurs, sommes assez paresseux. Nous aimons créer des programmes pour automatiser ce que nous n'aimons pas faire et ainsi passer plus de temps sur ce qui nous plaît. Or, quoi de plus lassant que de tester manuellement le fonctionnement d'un programme ? De plus, cela est assez limité car les vérifications manuelles ne vous permettent pas de vérifier que la tuyauterie interne de votre programme fonctionne bien.

C'est pourquoi de nombreux langages intègrent la possibilité de tester automatiquement un programme. Concrètement, nous allons écrire un script en parallèle de notre programme et qui aura pour but unique d'effectuer les tests que nous ne voulons pas faire manuellement.

Les avantages sont nombreux ! Nous avons déjà parlé de l'économie de temps réalisée. Au-delà de ce gain important, un bon ensemble de test améliore la collaboration entre développeurs et l'ajout de fonctionnalités. En effet, vous n'avez pas à craindre de "casser" les fonctionnalités déjà développées : les tests vous diront tout de suite si un problème est arrivé.

Dans ce cours nous verrons ensemble comment concevoir un plan de tests et comment les coder en Python. Tout un programme !

Le projet du cours

Notre programme étant déjà créé, nous verrons dans la première partie de ce cours comment ajouter des tests unitaires à un projet existant.

Dans la seconde partie, nous utiliserons une méthodologie appellée "Test-Driven Development" pour ajouter une nouvelle fonctionnalité.

C'est très excitant, n'est-ce pas ?!

Code

Retrouvez le contenu de chaque chapitre dans ce dépôt Github, chaque branche correspondant à un chapitre différent. 

 

Allez, c'est parti pour découvrir le monde fabuleux des tests ! 

Exemple de certificat de réussite
Exemple de certificat de réussite