• 10 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 4/25/22

Tirez le maximum de ce cours

Bienvenue dans ce cours

Dans ce cours, nous allons mettre en place des tests pour des projets préexistants. En effet, ces projets, très simples, sont appelés à évoluer. Ajouter de la complexité à un projet implique une augmentation du risque de bugs. C’est dans ce genre de cas que les tests démontrent toute leur utilité.

En quoi faire des tests permettrait-il de réduire le risque de bugs ? 

Tout simplement, cela permet de savoir, au travers de chaque test, quelle partie de notre application a un problème. De plus, les tests vont permettre de vérifier que l'implémentation d’une nouvelle fonctionnalité n’a pas cassé le fonctionnement de notre application à un endroit différent. Cela représente un gain considérable de temps si un problème survient.

Découvrez 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, 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 tests 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 !

Faites connaissance avec les projets du cours

Nous verrons dans la première partie de ce cours comment ajouter des tests unitaires à des projets existants, en utilisant le framework de test Pytest.

Dans la seconde partie, nous construirons des mocks pour simuler le comportement d’une classe ou d’une fonction, et verrons comment tester un projet utilisant les frameworks Flask et Django.

Dans la troisième partie, nous affinerons ces tests unitaires avec la mise en place de fixtures et de classes de tests. De plus, nous verrons comment vérifier la couverture de tests afin de vérifier l’efficacité des tests.

Enfin, dans la quatrième partie, nous écrirons des tests d’intégration et fonctionnels. Nous ajouterons ensuite des tests de performance à notre projet, à l’aide du framework Locust, et nous verrons les bénéfices de la méthodologie appelée "Test-Driven Development" pour ajouter une nouvelle fonctionnalité.

Vous aurez l’occasion d’améliorer les projets au fur et à mesure de l’avancement du cours, afin de travailler et assimiler les nouveaux concepts des chapitres. 

Ne vous inquiétez pas, nous vous proposerons des idées d’amélioration tout au long de votre lecture.

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

Retrouvez le code du cours

Tout au long de ce cours, vous aurez l’opportunité de travailler sur trois projets afin de vous exercer en parallèle sur les concepts des chapitres. Pour commencer, vous allez pouvoir travailler sur un projet purement Python sans framework, puis sur deux autres projets web utilisant Flask et Django. Vous pouvez trouver ci-dessous les dépôts GitHub de chaque projet :

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

Example of certificate of achievement
Example of certificate of achievement