- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Quand on parle de test, vous avez peut-être déjà entendu parler de ce qu'on appelle le coverage.Coverage qu'on pourrait traduire en français par couverture, donc la couverture de test.
00:00:10 :Qu'est-ce que ça veut dire ? En fait, c'est une façon de vérifier à quel point notre code est testé.Généralement, on vise à avoir une couverture de test de 100%.
00:00:19 :C'est-à-dire que chaque ligne de code que l'on a écrit va être correctement testée.En règle générale, il est assez rare que l'on arrive à une couverture de test de 100%.
00:00:28 :Et j'ai envie de vous dire que d'avoir une couverture à 100%, ce n'est vraiment pas un objectif en soi.Il vaut mieux avoir une couverture moindre, par exemple 20% de couverture, mais sur des fonctions critiques,que d'avoir 95% de couverture sur du code qui ne sert pas à grand chose, ou en tout cas qui n'est pas critique.
00:00:45 :Pour vous donner un exemple, si j'ai un site de e-commerce, je préfère avoir des tests sur toutes les parties critiquesque sont la création d'un compte ou le paiement, et avoir ainsi peut-être une couverture de 20%, mais sur tous ces aspects-là,plutôt que d'avoir 95% de couverture sur, par exemple, l'affichage de la couleur d'un bouton ou des choses assez insignifiantes de ce genre.
00:01:06 :Une autre métaphore que je peux vous donner, c'est par exemple avec un avion.Imaginez, vous êtes dans un avion. Est-ce que vous êtes plus rassuré si on vous dit que l'avion a été testé à 20%,
00:01:14 :mais que ces 20% de tests ont été effectués sur les ailes, le cockpit et les moteurs ?Ou alors, un avion qui a été testé à 95% sur le confort des sièges. Est-ce que les tablettes fonctionnent ?
00:01:25 :Est-ce que les films fonctionnent ? Est-ce que les écouteurs fonctionnent ?Et toutes ces choses qui sont du superflu et qui ne vous garantissent pas que votre avion va arriver en un morceau.
00:01:33 :Voilà deux petits exemples pour vous indiquer que vraiment, une couverture de test à 100%, ce n'est pas quelque chose qu'il faut viser forcément.Il vaut mieux vraiment commencer par tester les choses absolument essentielles,quitte à avoir une couverture de test moindre que de tester plein de choses qui ne sont pas absolument critiques.
00:01:51 :Généralement, quand on fait ce qu'on appelle un coverage, on va avoir un rapport de cette couverture.Par exemple, ici, j'ai un rapport de coverage sur docstring avec un pourcentage à chaque fois sur différents fichiers qui ont été inclus dans le rapport.
00:02:05 :Donc, on voit les modèles et les vues des différentes applications qui constituent docstring.Et on voit qu'au total, vous voyez, j'ai un coverage assez faible, donc 30% puisque je n'ai pas testé l'entièreté du site.
00:02:15 :On a certains modèles qui sont testés à 100%. Par exemple, les glossaires sont testés à 100%.Sur les blogs, on est à 70%. Et donc, on a différents tests ici.
00:02:24 :Et donc, le coverage ici nous permet d'avoir cette visualisation globale sur une application de ce qui est plus ou moins testé.On peut même aller voir à l'intérieur d'un fichier, par exemple, sur les modèles du glossaire ici, ce qui a été testé.
00:02:37 :Donc, dans ce cas-ci, on a 100% de tests puisqu'on voit que toutes les lignes sont en vert ici.On a 35 statements qui ont été exécutés et on a zéro ligne ici qui sont absentes des tests.
00:02:47 :Si on va voir un autre modèle, par exemple, sur les podcasts, là, on voit qu'on a une couverture de 71%.Donc, sur 21 statements qui ont été détectés, donc 21 lignes de code ici, on en a 15 qui ont été exécutées et 6 qui n'ont pas été exécutées par mes tests.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.