{"id":1159,"date":"2013-04-20T19:36:22","date_gmt":"2013-04-20T19:36:22","guid":{"rendered":"http:\/\/elnostreraco.com\/blog\/?p=1159"},"modified":"2014-03-23T14:36:10","modified_gmt":"2014-03-23T14:36:10","slug":"desenvolupament-guiat-per-tests-test-driven-development-tdd","status":"publish","type":"post","link":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/","title":{"rendered":"Desenvolupament guiat per tests: Test-driven development (TDD)"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright  wp-image-1169\" alt=\"debuggingsuckststingrocks\" src=\"http:\/\/elnostreraco.com\/blog\/wp-content\/uploads\/debuggingsuckststingrocks.png\" width=\"266\" height=\"146\" \/><\/p>\n<p>Segons un estudi de\u00a0Standish Group del\u00a01994, <strong>nom\u00e9s un\u00a016,2% dels\u00a0projectes inform\u00e0tics t\u00e9 \u00e8xit<\/strong>. La resta t\u00e9 problemes o\u00a0fracassen.\u00a0\u00a0Un proc\u00e9s que per mi \u00e9s clau \u00e9s el\u00a0desenvolupament guiat per tests. De fet, gr\u00e0cies a una millor gesti\u00f3 de projectes, el 2004 aquesta xifra va millorar fins el 24% d&#8217;\u00e8xit.<\/p>\n<p>Aquest article no \u00e9s per <a title=\"Coneixements b\u00e0sics d\u2019HTML per a tot usuari d\u2019Internet\" href=\"http:\/\/elnostreraco.com\/blog\/coneixements-basics-html-per-tot-usuari-dinternet\/\">tothom<\/a>, est\u00e0 dirigit a programadors, t\u00e8cnics, consultors i propietaris de llocs web.<\/p>\n<p>No t\u00e9 res a veure amb els <a href=\"http:\/\/elnostreraco.com\/blog\/test-multivariant-plantilla-google-website-optimizer\/\">tests A\/B o tests multivariants<\/a>, sin\u00f3 que t\u00e9 a veure amb\u00a0<strong>la\u00a0import\u00e0ncia\u00a0de la validaci\u00f3 del funcionament<\/strong>. Validar el funcionament \u00e9s la base de la\u00a0<a href=\"http:\/\/elnostreraco.com\/blog\/optimitzacio-de-la-conversio\/\">pir\u00e0mide\u00a0d&#8217;optimitzaci\u00f3 de la conversi\u00f3<\/a>.<\/p>\n<h2>Producte tancat sense canvis<\/h2>\n<p>Quan es fa un pressupost es pensa en el producte acabat i per tant es vol tenir la descripci\u00f3 final d&#8217;aquest per poder fixar el cost de desenvolupament en un <a href=\"http:\/\/elnostreraco.com\/blog\/el-preu-sha-dindicar-sempre\/\">preu tancat<\/a>.\u00a0Aix\u00f2\u00a0funciona\u00a0b\u00e9 si no s&#8217;admet cap imprevist\u00a0i no hi ha canvis durant el proc\u00e9s de desenvolupament. Amb l&#8217;enfocament en cascada, un cop enviat el disseny, tindr\u00e0s el producte que vas dissenyar. \u00a0Habitualment en programaci\u00f3 no \u00e9s aix\u00ed i hi ha canvis durant el desenvolupament o al finalitzar aquest (en hardware \u00e9s m\u00e9s dif\u00edcil, oi?)<\/p>\n<p>Per tenir en compte els canvis durant el desenvolupament, cal poder canviar el disseny inicial i saber modificar la programaci\u00f3 en curs. L&#8217;enfocament &#8220;en cascada&#8221; no funciona b\u00e9 i cal tenir una aproximaci\u00f3 m\u00e9s &#8220;\u00e0gil&#8221;.<\/p>\n<h2>Depurar o validar el funcionament<\/h2>\n<p>Quan es programa, cal anar veient si el que fem est\u00e0 ben fet i per aix\u00f2 a mesura que es va\u00a0desenvolupant\u00a0es provant si el que hem programat est\u00e0 b\u00e9. Si no coneixem el desenvolupament guiat per tests (TDD), el que es fa \u00e9s programar i provar si funciona. Si no funciona, es depura fins que funcioni.<\/p>\n<p>En TDD el que es fa primer \u00e9s dissenyar el test, despr\u00e9s es programa el codi per fer que el test estigui b\u00e9 i al final <a href=\"http:\/\/www.amazon.es\/gp\/product\/0201485672\/ref=as_li_ss_tl?ie=UTF8&amp;camp=3626&amp;creative=24822&amp;creativeASIN=0201485672&amp;linkCode=as2&amp;tag=elnostraco-21\">es ref\u00e0 el codi<\/a> per assegurar-nos que \u00e9s m\u00e9s f\u00e0cil de llegir i que tot est\u00e0 b\u00e9.<\/p>\n<p><strong style=\"color: #000000;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1181\" alt=\"tdd\" src=\"http:\/\/elnostreraco.com\/blog\/wp-content\/uploads\/tdd1.png\" width=\"462\" height=\"360\" \/>La definici\u00f3 del problema \u00e9s part de la soluci\u00f3 del problema<\/strong><\/p>\n<p>No t&#8217;ha passat mai que has hagut de depurar un codi una vegada i la\u00a0pr\u00f2xima\u00a0vegada que falla et veus repetint algunes accions?<\/p>\n<p><strong>El test \u00e9s part del desenvolupament final.<\/strong> El test ens ajudar\u00e0 a validar que el que hem programat compleix amb el disseny. Les ganes d&#8217;acabar un desenvolupament fa que tinguem ganes de desenvolupar el codi directament quan encara no hem pensat com validarem que el que\u00a0constru\u00efm\u00a0estigui b\u00e9.<\/p>\n<h2>Cicle iteratiu de desenvolupament<\/h2>\n<p>Per utilitzar un\u00a0enfocament\u00a0\u00e0gil, trobo que \u00e9s molt \u00fatil el concepte de <strong>iteraci\u00f3<\/strong>. El desenvolupament consisteix en una seria d&#8217;iteracions. Es tracta de que en una o poques setmanes es finalitzi\u00a0la programaci\u00f3 de parts del producte i aix\u00ed mostrar aquestes parts acabades al <a href=\"http:\/\/elnostreraco.com\/blog\/accountability-rendicio-comptes\/\">responsable final del producte<\/a>\u00a0abans d&#8217;acabar de desenvolupar-lo completament.<\/p>\n<p>Al principi de cada iteraci\u00f3, cal saber quines parts del producte es faran i entendre les funcionalitats i escenaris d&#8217;us. Gr\u00e0cies a dissenyar primer aquests tests, tindrem el\u00a0<a href=\"http:\/\/elnostreraco.com\/blog\/saviesa-mes-enlla-de-transformar-dades-en-coneixement\/\">coneixement<\/a>\u00a0de que el que hem programat compleix el que ens\u00a0hav\u00edem\u00a0proposat.<\/p>\n<h2>Experi\u00e8ncia amb la validaci\u00f3 del funcionament<\/h2>\n<p>Fer TDD amb <a href=\"http:\/\/www.phpunit.de\/\">phpunit<\/a> o qualsevol eina de &#8220;tests unitaris&#8221; sembla ser molta feina, per\u00f2 es troba a faltar en tot projecte en el que no hi ha una manera de verificar el funcionament del les coses.<\/p>\n<p><strong>No n&#8217;hi ha prou en mirar si hi ha p\u00e0gines amb error.<\/strong>\u00a0Val m\u00e9s tenir algun <em>executable\u00a0<\/em>simple que no pas no tenir res. Per exemple un p\u00e0gina que\u00a0executi totes les classes,\u00a0m\u00e8todes\u00a0 funcions, etc i s&#8217;asseguri que facin el que han de fer (puja\/elimina fitxer, consultar\/crear\/modificar\/eliminar, etc).\u00a0I aix\u00f2 no ho dic com a programador, ho dic com a\u00a0t\u00e8cnic\u00a0de sistemes i com a responsable de llocs web.<\/p>\n<p><strong>Estar\u00e9 encantat de llegir les vostres experi\u00e8ncies en validaci\u00f3 de funcionament o disseny guiat per tests en els comentaris d&#8217;aquest article.<\/strong><\/p>\n<p>Si en voleu saber m\u00e9s, us recomano el llibre <a href=\"http:\/\/www.amazon.es\/gp\/product\/0321146530\/ref=as_li_ss_tl?ie=UTF8&amp;camp=3626&amp;creative=24822&amp;creativeASIN=0321146530&amp;linkCode=as2&amp;tag=elnostraco-21\">Test Driven Development (By Example)<\/a>\u00a0de\u00a0Kent Beck.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Segons un estudi de\u00a0Standish Group del\u00a01994, nom\u00e9s un\u00a016,2% dels\u00a0projectes inform\u00e0tics t\u00e9 \u00e8xit. La resta t\u00e9 problemes o\u00a0fracassen.\u00a0\u00a0Un proc\u00e9s que per mi \u00e9s clau \u00e9s el\u00a0desenvolupament guiat per tests. De fet, gr\u00e0cies a una millor gesti\u00f3 &hellip; <\/p>\n","protected":false},"author":1,"featured_media":1169,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-1159","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Desenvolupament guiat per tests: Test-driven development (TDD) ~ Desenvolupament<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/\" \/>\n<meta property=\"og:locale\" content=\"ca_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Desenvolupament guiat per tests: Test-driven development (TDD) ~ Desenvolupament\" \/>\n<meta property=\"og:description\" content=\"Segons un estudi de\u00a0Standish Group del\u00a01994, nom\u00e9s un\u00a016,2% dels\u00a0projectes inform\u00e0tics t\u00e9 \u00e8xit. La resta t\u00e9 problemes o\u00a0fracassen.\u00a0\u00a0Un proc\u00e9s que per mi \u00e9s clau \u00e9s el\u00a0desenvolupament guiat per tests. De fet, gr\u00e0cies a una millor gesti\u00f3 &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/\" \/>\n<meta property=\"og:site_name\" content=\"Jordi Rosell\" \/>\n<meta property=\"article:author\" content=\"http:\/\/www.facebook.com\/jrosell\" \/>\n<meta property=\"article:published_time\" content=\"2013-04-20T19:36:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-03-23T14:36:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/elnostreraco.com\/blog\/wp-content\/uploads\/2013\/04\/debuggingsuckststingrocks.png?fit=444%2C243&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"444\" \/>\n\t<meta property=\"og:image:height\" content=\"243\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"jrosell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jrosell\" \/>\n<meta name=\"twitter:site\" content=\"@jrosell\" \/>\n<meta name=\"twitter:label1\" content=\"Escrit per\" \/>\n\t<meta name=\"twitter:data1\" content=\"jrosell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Temps estimat de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuts\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/\"},\"author\":{\"name\":\"jrosell\",\"@id\":\"https:\/\/elnostreraco.com\/blog\/#\/schema\/person\/af160702c4f0ec816120b9fa60f5f8d4\"},\"headline\":\"Desenvolupament guiat per tests: Test-driven development (TDD)\",\"datePublished\":\"2013-04-20T19:36:22+00:00\",\"dateModified\":\"2014-03-23T14:36:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/\"},\"wordCount\":713,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/elnostreraco.com\/blog\/wp-content\/uploads\/2013\/04\/debuggingsuckststingrocks.png\",\"articleSection\":[\"Desenvolupament\"],\"inLanguage\":\"ca\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/\",\"url\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/\",\"name\":\"Desenvolupament guiat per tests: Test-driven development (TDD) ~ Desenvolupament\",\"isPartOf\":{\"@id\":\"https:\/\/elnostreraco.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/elnostreraco.com\/blog\/wp-content\/uploads\/2013\/04\/debuggingsuckststingrocks.png\",\"datePublished\":\"2013-04-20T19:36:22+00:00\",\"dateModified\":\"2014-03-23T14:36:10+00:00\",\"author\":{\"@id\":\"https:\/\/elnostreraco.com\/blog\/#\/schema\/person\/af160702c4f0ec816120b9fa60f5f8d4\"},\"breadcrumb\":{\"@id\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#breadcrumb\"},\"inLanguage\":\"ca\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ca\",\"@id\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#primaryimage\",\"url\":\"https:\/\/elnostreraco.com\/blog\/wp-content\/uploads\/2013\/04\/debuggingsuckststingrocks.png\",\"contentUrl\":\"https:\/\/elnostreraco.com\/blog\/wp-content\/uploads\/2013\/04\/debuggingsuckststingrocks.png\",\"width\":444,\"height\":243},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inici\",\"item\":\"https:\/\/elnostreraco.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Desenvolupament guiat per tests: Test-driven development (TDD)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/elnostreraco.com\/blog\/#website\",\"url\":\"https:\/\/elnostreraco.com\/blog\/\",\"name\":\"Jordi Rosell\",\"description\":\"Conversi\u00f3, eCommerce i Marketing online\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/elnostreraco.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ca\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/elnostreraco.com\/blog\/#\/schema\/person\/af160702c4f0ec816120b9fa60f5f8d4\",\"name\":\"jrosell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ca\",\"@id\":\"https:\/\/elnostreraco.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8e2c92ba58be3b381bdc53ea33374b70e1091d8288204187f0645d151e112925?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8e2c92ba58be3b381bdc53ea33374b70e1091d8288204187f0645d151e112925?s=96&d=mm&r=g\",\"caption\":\"jrosell\"},\"description\":\"Consultor, professor i conferenciant. Ajudo als meus clients en la definici\u00f3 estrat\u00e8gica, l'an\u00e0lisi de dades, la presa de decisions i la millora de resultats.\",\"sameAs\":[\"http:\/\/elnosstreraco.com\/blog\",\"http:\/\/www.facebook.com\/jrosell\",\"https:\/\/x.com\/jrosell\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Desenvolupament guiat per tests: Test-driven development (TDD) ~ Desenvolupament","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/","og_locale":"ca_ES","og_type":"article","og_title":"Desenvolupament guiat per tests: Test-driven development (TDD) ~ Desenvolupament","og_description":"Segons un estudi de\u00a0Standish Group del\u00a01994, nom\u00e9s un\u00a016,2% dels\u00a0projectes inform\u00e0tics t\u00e9 \u00e8xit. La resta t\u00e9 problemes o\u00a0fracassen.\u00a0\u00a0Un proc\u00e9s que per mi \u00e9s clau \u00e9s el\u00a0desenvolupament guiat per tests. De fet, gr\u00e0cies a una millor gesti\u00f3 &hellip;","og_url":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/","og_site_name":"Jordi Rosell","article_author":"http:\/\/www.facebook.com\/jrosell","article_published_time":"2013-04-20T19:36:22+00:00","article_modified_time":"2014-03-23T14:36:10+00:00","og_image":[{"width":444,"height":243,"url":"https:\/\/i0.wp.com\/elnostreraco.com\/blog\/wp-content\/uploads\/2013\/04\/debuggingsuckststingrocks.png?fit=444%2C243&ssl=1","type":"image\/png"}],"author":"jrosell","twitter_card":"summary_large_image","twitter_creator":"@jrosell","twitter_site":"@jrosell","twitter_misc":{"Escrit per":"jrosell","Temps estimat de lectura":"4 minuts"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#article","isPartOf":{"@id":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/"},"author":{"name":"jrosell","@id":"https:\/\/elnostreraco.com\/blog\/#\/schema\/person\/af160702c4f0ec816120b9fa60f5f8d4"},"headline":"Desenvolupament guiat per tests: Test-driven development (TDD)","datePublished":"2013-04-20T19:36:22+00:00","dateModified":"2014-03-23T14:36:10+00:00","mainEntityOfPage":{"@id":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/"},"wordCount":713,"commentCount":1,"image":{"@id":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#primaryimage"},"thumbnailUrl":"https:\/\/elnostreraco.com\/blog\/wp-content\/uploads\/2013\/04\/debuggingsuckststingrocks.png","articleSection":["Desenvolupament"],"inLanguage":"ca","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/","url":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/","name":"Desenvolupament guiat per tests: Test-driven development (TDD) ~ Desenvolupament","isPartOf":{"@id":"https:\/\/elnostreraco.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#primaryimage"},"image":{"@id":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#primaryimage"},"thumbnailUrl":"https:\/\/elnostreraco.com\/blog\/wp-content\/uploads\/2013\/04\/debuggingsuckststingrocks.png","datePublished":"2013-04-20T19:36:22+00:00","dateModified":"2014-03-23T14:36:10+00:00","author":{"@id":"https:\/\/elnostreraco.com\/blog\/#\/schema\/person\/af160702c4f0ec816120b9fa60f5f8d4"},"breadcrumb":{"@id":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#breadcrumb"},"inLanguage":"ca","potentialAction":[{"@type":"ReadAction","target":["https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/"]}]},{"@type":"ImageObject","inLanguage":"ca","@id":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#primaryimage","url":"https:\/\/elnostreraco.com\/blog\/wp-content\/uploads\/2013\/04\/debuggingsuckststingrocks.png","contentUrl":"https:\/\/elnostreraco.com\/blog\/wp-content\/uploads\/2013\/04\/debuggingsuckststingrocks.png","width":444,"height":243},{"@type":"BreadcrumbList","@id":"https:\/\/elnostreraco.com\/blog\/desenvolupament-guiat-per-tests-test-driven-development-tdd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inici","item":"https:\/\/elnostreraco.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Desenvolupament guiat per tests: Test-driven development (TDD)"}]},{"@type":"WebSite","@id":"https:\/\/elnostreraco.com\/blog\/#website","url":"https:\/\/elnostreraco.com\/blog\/","name":"Jordi Rosell","description":"Conversi\u00f3, eCommerce i Marketing online","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/elnostreraco.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ca"},{"@type":"Person","@id":"https:\/\/elnostreraco.com\/blog\/#\/schema\/person\/af160702c4f0ec816120b9fa60f5f8d4","name":"jrosell","image":{"@type":"ImageObject","inLanguage":"ca","@id":"https:\/\/elnostreraco.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8e2c92ba58be3b381bdc53ea33374b70e1091d8288204187f0645d151e112925?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8e2c92ba58be3b381bdc53ea33374b70e1091d8288204187f0645d151e112925?s=96&d=mm&r=g","caption":"jrosell"},"description":"Consultor, professor i conferenciant. Ajudo als meus clients en la definici\u00f3 estrat\u00e8gica, l'an\u00e0lisi de dades, la presa de decisions i la millora de resultats.","sameAs":["http:\/\/elnosstreraco.com\/blog","http:\/\/www.facebook.com\/jrosell","https:\/\/x.com\/jrosell"]}]}},"_links":{"self":[{"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/posts\/1159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/comments?post=1159"}],"version-history":[{"count":1,"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/posts\/1159\/revisions"}],"predecessor-version":[{"id":1406,"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/posts\/1159\/revisions\/1406"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/media\/1169"}],"wp:attachment":[{"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/media?parent=1159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/categories?post=1159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/elnostreraco.com\/blog\/wp-json\/wp\/v2\/tags?post=1159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}