{"id":2626,"date":"2024-05-10T14:09:56","date_gmt":"2024-05-10T12:09:56","guid":{"rendered":"https:\/\/ittester.sk\/non-classifiee\/developpement-pilote-par-les-tests-cucumber\/"},"modified":"2024-10-22T14:06:05","modified_gmt":"2024-10-22T12:06:05","slug":"developpement-pilote-par-les-tests-cucumber","status":"publish","type":"post","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-sur-le-concombre\/developpement-pilote-par-les-tests-cucumber\/","title":{"rendered":"D\u00e9veloppement pilot\u00e9 par les tests et introduction \u00e0 Cucumber"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Table des mati\u00e8res<\/h2>\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-vyvoj-riadeny-testami-tdd\">V\u00fdvoj riaden\u00fd testami (TDD)<\/a><ul><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-cucumber\">Cucumber<\/a><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-vyvoj-riadeny-testami-tdd\">D\u00e9veloppement pilot\u00e9 par les tests (TDD)<\/h2>\n\n<p>Le d\u00e9veloppement pilot\u00e9 par les tests (TDD) est une m\u00e9thode de d\u00e9veloppement qui met l&rsquo;accent sur l&rsquo;\u00e9criture de tests avant la mise en \u0153uvre des fonctionnalit\u00e9s. Il s&rsquo;agit d&rsquo;un processus it\u00e9ratif qui se concentre sur la cr\u00e9ation de tests, leur ex\u00e9cution, puis la mise en \u0153uvre de la fonctionnalit\u00e9 de mani\u00e8re \u00e0 ce que les tests r\u00e9ussissent.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-tdd-postupuje-podla-nasledujucich-krokov\">Le TDD suit les \u00e9tapes suivantes :<\/h2>\n\n<ol class=\"wp-block-list\">\n<li>R\u00e9diger un test : la premi\u00e8re \u00e9tape consiste \u00e0 r\u00e9diger un test qui d\u00e9crit la fonctionnalit\u00e9 souhait\u00e9e \u00e0 mettre en \u0153uvre. Ce test devrait \u00e9chouer car la fonctionnalit\u00e9 n&rsquo;est pas encore impl\u00e9ment\u00e9e.<\/li>\n\n\n\n<li>Ex\u00e9cuter le test : le test sera ex\u00e9cut\u00e9 pour v\u00e9rifier s&rsquo;il \u00e9choue, ce qui est le r\u00e9sultat attendu.<\/li>\n\n\n\n<li>Mise en \u0153uvre de la fonctionnalit\u00e9 : sur la base du test, la fonctionnalit\u00e9 est mise en \u0153uvre de mani\u00e8re \u00e0 ce que le test soit r\u00e9ussi. Cela signifie qu&rsquo;il faut \u00e9crire un code suffisant pour r\u00e9pondre aux exigences du test.<\/li>\n\n\n\n<li>Ex\u00e9cuter \u00e0 nouveau le test : apr\u00e8s la mise en \u0153uvre, le test est ex\u00e9cut\u00e9 \u00e0 nouveau. S&rsquo;il r\u00e9ussit, cela signifie que la fonctionnalit\u00e9 a \u00e9t\u00e9 mise en \u0153uvre correctement.<\/li>\n\n\n\n<li>Refonte : une fois le test r\u00e9ussi, la refonte du code peut \u00eatre effectu\u00e9e. Il s&rsquo;agit d&rsquo;am\u00e9liorer la qualit\u00e9 et la lisibilit\u00e9 du code sans affecter le bon fonctionnement des tests.<\/li>\n<\/ol>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-vyhody-vyvoja-riadeneho-testami-su\">Les avantages du d\u00e9veloppement pilot\u00e9 par les tests sont les suivants :<\/h2>\n\n<ul class=\"wp-block-list\">\n<li>Meilleure qualit\u00e9 du code : La m\u00e9thode TDD permet d&rsquo;obtenir une bonne couverture des tests, ce qui se traduit par une meilleure qualit\u00e9 du code. Chaque modification du code est v\u00e9rifi\u00e9e par des tests, ce qui permet de s&rsquo;assurer qu&rsquo;elle n&rsquo;entra\u00eene pas d&rsquo;effets secondaires ind\u00e9sirables.<\/li>\n\n\n\n<li>Une plus grande confiance : le TDD apporte une plus grande confiance dans l&rsquo;exactitude de la fonctionnalit\u00e9 mise en \u0153uvre. Si les tests r\u00e9ussissent, vous pouvez \u00eatre s\u00fbr que le code fonctionne comme pr\u00e9vu.<\/li>\n\n\n\n<li>Retour d&rsquo;information rapide : le TDD permet un retour d&rsquo;information imm\u00e9diat lorsque les tests r\u00e9ussissent ou \u00e9chouent. Cela permet de d\u00e9tecter et de corriger rapidement les erreurs.<\/li>\n\n\n\n<li>Am\u00e9lioration de la capacit\u00e9 de conception : le TDD favorise une bonne conception du code car il vous permet de r\u00e9fl\u00e9chir \u00e0 la testabilit\u00e9 et \u00e0 la facilit\u00e9 d&rsquo;utilisation de votre code lorsque vous le cr\u00e9ez.<\/li>\n\n\n\n<li>Documentation : les tests de la m\u00e9thode TDD servent \u00e9galement de documentation, car ils d\u00e9crivent les exigences fonctionnelles requises et les r\u00e9sultats escompt\u00e9s.<\/li>\n<\/ul>\n\n<p>Le d\u00e9veloppement pilot\u00e9 par les tests (TDD) est une m\u00e9thode utile pour les d\u00e9veloppeurs car elle am\u00e9liore la qualit\u00e9 du code, augmente la confiance dans l&rsquo;exactitude de la mise en \u0153uvre et permet un retour d&rsquo;information rapide. Le TDD vous oblige \u00e0 r\u00e9fl\u00e9chir \u00e0 la testabilit\u00e9 et \u00e0 la conception d\u00e8s les premi\u00e8res \u00e9tapes du d\u00e9veloppement, ce qui permet d&rsquo;obtenir des logiciels de meilleure qualit\u00e9 et plus robustes.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-cucumber\">Concombre<\/h2>\n\n<p>Cucumber est un outil de test d&rsquo;acceptation open-source qui vous permet d&rsquo;\u00e9crire des sc\u00e9narios de test dans un langage simple et facile \u00e0 comprendre appel\u00e9 Gherkin. Les scripts Cucumber sont \u00e9crits dans un format facile \u00e0 lire non seulement pour les d\u00e9veloppeurs, mais aussi pour d&rsquo;autres personnes int\u00e9ress\u00e9es telles que les responsables, les testeurs ou les clients.<\/p>\n\n<p>Cucumber soutient une approche de d\u00e9veloppement ax\u00e9e sur le comportement (BDD) qui met l&rsquo;accent sur la communication et la collaboration entre les diff\u00e9rents membres de l&rsquo;\u00e9quipe afin de parvenir \u00e0 une meilleure compr\u00e9hension des exigences et au bon fonctionnement du logiciel.<\/p>\n\n<p>Les principales caract\u00e9ristiques du concombre sont les suivantes<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Syntaxe Gherkin : Cucumber utilise la syntaxe Gherkin, qui est simple et facile \u00e0 lire. Les sc\u00e9narios sont r\u00e9dig\u00e9s sous la forme d&rsquo;\u00e9tapes, qui sont exprim\u00e9es par des mots-cl\u00e9s tels que \u00ab\u00a0donn\u00e9\u00a0\u00bb, \u00ab\u00a0quand\u00a0\u00bb, \u00ab\u00a0alors\u00a0\u00bb et autres, qui permettent de d\u00e9finir clairement le comportement attendu du logiciel.<\/li>\n\n\n\n<li>Automatisation des tests : Cucumber vous permet d&rsquo;automatiser des tests \u00e9crits en syntaxe Gherkin \u00e0 l&rsquo;aide de langages de programmation tels que Java, Ruby, C# et autres. Cela vous permet de connecter des tests \u00e0 des logiciels existants et d&rsquo;automatiser leur ex\u00e9cution.<\/li>\n\n\n\n<li>Facilit\u00e9 de collaboration : Cucumber facilite la collaboration entre les membres d&rsquo;une \u00e9quipe car le langage Gherkin est compris par tous. Les sc\u00e9narios peuvent \u00eatre utilis\u00e9s comme une repr\u00e9sentation commune des exigences afin de s&rsquo;assurer que tout le monde a la m\u00eame compr\u00e9hension de ce que le logiciel est cens\u00e9 faire.<\/li>\n\n\n\n<li>Rapports : Cucumber offre de nombreuses possibilit\u00e9s de rapports qui vous permettent de suivre et de g\u00e9rer les r\u00e9sultats de vos tests. Vous pouvez g\u00e9n\u00e9rer des rapports clairs qui indiquent les sc\u00e9narios de r\u00e9ussite et d&rsquo;\u00e9chec, ainsi que les d\u00e9tails de chaque \u00e9tape.<\/li>\n<\/ul>\n\n<p>Cucumber est un excellent outil pour les tests d&rsquo;acceptation et soutient l&rsquo;approche BDD du d\u00e9veloppement de logiciels. Son langage Gherkin, simple et clair, permet une meilleure communication entre les membres de l&rsquo;\u00e9quipe et une meilleure compr\u00e9hension des exigences. L&rsquo;automatisation des tests dans Cucumber augmente l&rsquo;efficacit\u00e9 des tests et la g\u00e9n\u00e9ration de rapports vous permet de suivre les r\u00e9sultats et de g\u00e9rer les sc\u00e9narios de test.<\/p>\n\n<p>Dans Cucumber, nous avons deux types de fichiers &#8211; un fichier de fonction et un fichier de d\u00e9finition d&rsquo;\u00e9tape.<\/p>\n\n<p><strong>Fichier de caract\u00e9ristiques<\/strong> &#8211; Un fichier de caract\u00e9ristiques d\u00e9finit certains comportements de l&rsquo;application en texte clair. Il peut \u00eatre r\u00e9dig\u00e9 par un responsable de l&rsquo;assurance qualit\u00e9, un analyste commercial, un client ou m\u00eame toute partie prenante non technique. Les fichiers de fonctions de Cucumber sont \u00e9crits sous la forme Given-When-Then. Exemple d&rsquo;un ensemble de fonctions :<\/p>\n\n<p><strong>Fonctionnalit\u00e9 : v\u00e9rifier l&rsquo;addition dans la calculatrice Google<\/strong><\/p>\n\n<p>  Afin de v\u00e9rifier que la calculatrice de Google fonctionne correctement<\/p>\n\n<p>  En tant qu&rsquo;utilisateur de google<\/p>\n\n<p>  Je devrais pouvoir obtenir un r\u00e9sultat d&rsquo;addition correct<\/p>\n\n<p>  Sc\u00e9nario : ajout<\/p>\n\n<p>   <strong>\u00c9tant donn\u00e9 que<\/strong> j&rsquo;ouvre google.com<\/p>\n\n<p>   <strong>Lorsque j&rsquo;<\/strong> entre 2+2 dans la bo\u00eete de texte de recherche<\/p>\n\n<p>   Je devrais <strong>alors<\/strong> obtenir le r\u00e9sultat 4<\/p>\n\n<p><strong>Fichier de d\u00e9finition des \u00e9tapes<\/strong> &#8211; Dans le fichier de d\u00e9finition des \u00e9tapes, nous \u00e9crivons le code qui met en \u0153uvre les \u00e9tapes \u00e9crites dans les instructions Given-When-Then du fichier de fonctions. Nous pouvons utiliser diff\u00e9rents outils et langages pour mettre en \u0153uvre les \u00e9tapes, par exemple Watir avec Ruby ou Selenium avec Java, etc.<\/p>\n\n<p>Dans le prochain article, nous configurerons Cucumber avec Selenium en Java &#8211; Cucumber avec Selenium et \u00e9crirons un exemple de script de test qui mettra en \u0153uvre l&rsquo;ensemble des fonctionnalit\u00e9s de la calculatrice de Google.<\/p>\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Qu&rsquo;est-ce que le d\u00e9veloppement pilot\u00e9 par les tests (TDD) et quelles sont les caract\u00e9ristiques de l&rsquo;outil Cucumber qui le rendent id\u00e9al pour les tests d&rsquo;acceptation ?<\/p>\n","protected":false},"author":8,"featured_media":2627,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[48],"tags":[],"class_list":["post-2626","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriel-sur-le-concombre"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/comments?post=2626"}],"version-history":[{"count":1,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2626\/revisions"}],"predecessor-version":[{"id":2629,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2626\/revisions\/2629"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media\/2627"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media?parent=2626"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/categories?post=2626"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/tags?post=2626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}