{"id":551,"date":"2022-01-26T01:34:13","date_gmt":"2022-01-26T01:34:13","guid":{"rendered":"https:\/\/www.cybermedian.com\/pt\/?p=551"},"modified":"2022-03-31T12:09:16","modified_gmt":"2022-03-31T04:09:16","slug":"test-drive-development-approach-for-agile-software-development","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/","title":{"rendered":"Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software"},"content":{"rendered":"<section class=\"section section--body section--last\">\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<section class=\"section section--body section--first\">\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<p id=\"dc2b\" class=\"graf graf--p graf-after--h3\">Agora, as pessoas costumam falar sobre desenvolvimento \u00e1gil.<\/p>\n<h4 id=\"5f54\" class=\"graf graf--h4 graf-after--p\"><span id=\"What_is_Agile_Development\">O que \u00e9 Desenvolvimento \u00c1gil?<\/span><\/h4>\n<p id=\"0a1d\" class=\"graf graf--p graf-after--h4\"><a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/what-is-agile-software-development\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/what-is-agile-software-development\/\">O desenvolvimento \u00e1gil<\/a>\u00a0\u00a0\u00e9 uma capacidade de desenvolvimento de software que responde a necessidades em r\u00e1pida mudan\u00e7a.\u00a0Seus nomes, conceitos, processos e terminologia espec\u00edficos variam.\u00a0Em compara\u00e7\u00e3o com o \u201c\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/classical-vs-agile-project-management\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/classical-vs-agile-project-management\/\">n\u00e3o \u00e1gil<\/a>\u00a0\u201d, eles enfatizam a estreita colabora\u00e7\u00e3o entre equipes de programadores e especialistas em neg\u00f3cios, comunica\u00e7\u00e3o face a face (considerada mais eficaz do que documenta\u00e7\u00e3o escrita) e frequentemente entregam novas vers\u00f5es de software,\u00a0\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/what-is-self-organizing-team-in-scrum\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/what-is-self-organizing-team-in-scrum\/\">equipes pequenas e auto-organizadas<\/a>\u00a0\u00a0para pequenos e escrita de recursos valiosos e abordagens de organiza\u00e7\u00e3o de equipe que se adaptam \u00e0s necessidades em constante mudan\u00e7a, com um foco maior no papel das pessoas no desenvolvimento de software.<\/p>\n<p id=\"4bb3\" class=\"graf graf--p graf-after--p\">No entanto, existem v\u00e1rias vers\u00f5es semelhantes de m\u00e9todos de desenvolvimento \u00e1gil TDD, como TDD: BDD, DDD e ATDD.\u00a0Deixe-me apresentar brevemente esses m\u00e9todos antes de apresentar o TDD em detalhes:<\/p>\n<p id=\"47db\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">TDD: Desenvolvimento Orientado a Testes<\/strong><\/p>\n<p id=\"f69c\" class=\"graf graf--p graf-after--p\"><a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/en.wikipedia.org\/wiki\/Test-driven_development\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/en.wikipedia.org\/wiki\/Test-driven_development\">Test Driven Development<\/a>\u00a0\u00a0(TDD) \u00e9 um processo de desenvolvimento de software, que se baseia na transforma\u00e7\u00e3o de requisitos de software em casos de teste antes que o software seja totalmente desenvolvido e no rastreamento de todo o desenvolvimento de software testando repetidamente o software para todos os casos de teste.\u00a0Isso \u00e9 o oposto de desenvolver software primeiro e depois criar casos de teste.\u00a0Alguns modelos populares suportam muito bem o TDD, como MVC e\u00a0\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/sprint-increment-potential-shippable-mvp-mmp\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/sprint-increment-potential-shippable-mvp-mmp\/\">MVP<\/a>\u00a0.<\/p>\n<figure id=\"dcf6\" class=\"graf graf--figure graf-after--p\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0HRQPwcxAH9H50f92.png\" data-image-id=\"0*HRQPwcxAH9H50f92.png\" data-width=\"688\" data-height=\"324\" data-is-featured=\"true\" \/><\/figure>\n<p id=\"72f0\" class=\"graf graf--p graf-after--figure\"><strong class=\"markup--strong markup--p-strong\">BDD: Desenvolvimento Orientado ao Comportamento (Behavior Driven Development)<\/strong><\/p>\n<p id=\"7b2f\" class=\"graf graf--p graf-after--p\">O desenvolvimento orientado por comportamento (BDD) tamb\u00e9m \u00e9 um processo \u00e1gil de desenvolvimento de software.\u00a0Ele incentiva a colabora\u00e7\u00e3o entre desenvolvedores, testadores de garantia de qualidade e representantes de clientes em projetos de software.\u00a0Ele incentiva as equipes a usar conversas e exemplos concretos para formalizar um entendimento comum de como o aplicativo deve funcionar.\u00a0Ele vem do desenvolvimento orientado a testes (TDD).<\/p>\n<figure id=\"e548\" class=\"graf graf--figure graf-after--p\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0zO1WEVhZ9N6NwbMQ.jpg\" data-image-id=\"0*zO1WEVhZ9N6NwbMQ.jpg\" data-width=\"999\" data-height=\"636\" \/><\/figure>\n<p id=\"2b50\" class=\"graf graf--p graf-after--figure\"><strong class=\"markup--strong markup--p-strong\">ATDD: Desenvolvimento Orientado a Testes de Aceita\u00e7\u00e3o<\/strong><\/p>\n<p id=\"f095\" class=\"graf graf--p graf-after--p\">Para promover a realiza\u00e7\u00e3o do c\u00f3digo funcional por meio de casos de teste de unidade, a equipe precisa definir padr\u00f5es de qualidade esperados e regras de aceita\u00e7\u00e3o, e promover a pr\u00e1tica de TDD dos desenvolvedores e o desempenho dos testadores por meio de um plano de teste de aceita\u00e7\u00e3o claro e consistente (incluindo uma s\u00e9rie de testes cen\u00e1rios).\u00a0Para os desenvolvedores, enfatiza como implementar o sistema e como test\u00e1-lo.<\/p>\n<figure id=\"cd9b\" class=\"graf graf--figure graf-after--p\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0oQj5-PBOOnzEvxCt.png\" data-image-id=\"0*oQj5-PBOOnzEvxCt.png\" data-width=\"514\" data-height=\"437\" \/><\/figure>\n<p id=\"e411\" class=\"graf graf--p graf-after--figure\"><strong class=\"markup--strong markup--p-strong\">DDD: design de unidade de dom\u00ednio<\/strong><\/p>\n<p id=\"344a\" class=\"graf graf--p graf-after--p\">DDD refere-se ao design orientado a dom\u00ednio, ou seja, desenvolvimento orientado a dom\u00ednio.\u00a0O DDD \u00e9 realmente constru\u00eddo sobre essa base porque se concentra no design da camada de servi\u00e7o, concentra-se na implementa\u00e7\u00e3o de neg\u00f3cios, combina an\u00e1lise e design e n\u00e3o o mant\u00e9m mais em um estado dividido, para implementar de maneira correta e abrangente as necessidades do cliente e construir um modelo de neg\u00f3cios escalabilidade.<\/p>\n<figure id=\"1c94\" class=\"graf graf--figure graf-after--p\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0imvHvnYVv9W6vjHO.png\" data-image-id=\"0*imvHvnYVv9W6vjHO.png\" data-width=\"581\" data-height=\"409\" \/><\/figure>\n<h3 id=\"3579\" class=\"graf graf--h3 graf-after--figure\"><span id=\"TDD_implementation_plan\">Plano de implementa\u00e7\u00e3o de TDD<\/span><\/h3>\n<blockquote id=\"adc2\" class=\"graf graf--blockquote graf-after--h3\"><p><em class=\"markup--em markup--blockquote-em\">Atrav\u00e9s de testes para promover todo o desenvolvimento, mas o desenvolvimento orientado a testes n\u00e3o \u00e9 apenas um simples trabalho de teste, mas um processo de quantifica\u00e7\u00e3o de an\u00e1lise de requisitos, design e controle de qualidade.<\/em><\/p><\/blockquote>\n<p id=\"5c0c\" class=\"graf graf--p graf-after--blockquote\"><strong class=\"markup--strong markup--p-strong\">Princ\u00edpios de desenvolvimento<\/strong><\/p>\n<blockquote id=\"5b58\" class=\"graf graf--blockquote graf-after--p\"><p><em class=\"markup--em markup--blockquote-em\">Escreva o c\u00f3digo de teste primeiro e, em seguida, escreva o c\u00f3digo para a fun\u00e7\u00e3o.<\/em><\/p><\/blockquote>\n<ol class=\"postList\">\n<li id=\"0b64\" class=\"graf graf--li graf-after--blockquote\">Escreva o c\u00f3digo de teste de acordo com o documento de requisitos, para n\u00e3o realizar a fun\u00e7\u00e3o;<\/li>\n<li id=\"0d1a\" class=\"graf graf--li graf-after--li\">N\u00e3o quero ser gordo com uma mordida.\u00a0Ao testar grandes blocos funcionais, voc\u00ea deve primeiro dividi-los em blocos funcionais menores para teste;<\/li>\n<li id=\"854c\" class=\"graf graf--li graf-after--li\">Lembre-se de n\u00e3o escrever c\u00f3digo para completar a fun\u00e7\u00e3o, use o c\u00f3digo mais simples poss\u00edvel para implementar a fun\u00e7\u00e3o;<\/li>\n<li id=\"72d3\" class=\"graf graf--li graf-after--li\">Se os requisitos puderem ser testados, escreva o c\u00f3digo de teste e abandone aqueles que n\u00e3o podem ser testados ou sinta que n\u00e3o precisam ser testados;<\/li>\n<li id=\"5fa6\" class=\"graf graf--li graf-after--li\">Antes de alterar\/adicionar qualquer c\u00f3digo de fun\u00e7\u00e3o, voc\u00ea deve primeiro pensar se deseja alterar\/adicionar casos de teste;<\/li>\n<li id=\"275b\" class=\"graf graf--li graf-after--li\">C\u00f3digo de fun\u00e7\u00e3o\/teste, estrutura irracional, c\u00f3digo duplicado, etc., refatore no tempo ap\u00f3s a aprova\u00e7\u00e3o do teste.<\/li>\n<\/ol>\n<p id=\"1652\" class=\"graf graf--p graf-after--li\"><strong class=\"markup--strong markup--p-strong\">Processo de desenvolvimento de TDD<\/strong><\/p>\n<ol class=\"postList\">\n<li id=\"6793\" class=\"graf graf--li graf-after--p\">Analisar e determinar um cen\u00e1rio de teste alvo;<\/li>\n<li id=\"0547\" class=\"graf graf--li graf-after--li\">Adicione um teste de unidade para verificar a entrada e sa\u00edda do cen\u00e1rio de teste;<\/li>\n<li id=\"ea67\" class=\"graf graf--li graf-after--li\">Execute o teste e obtenha o resultado do teste com falha;<\/li>\n<li id=\"450b\" class=\"graf graf--li graf-after--li\">Escreva o c\u00f3digo de fun\u00e7\u00e3o mais simples para passar no teste;<\/li>\n<li id=\"fbf6\" class=\"graf graf--li graf-after--li\">Execute o teste novamente e veja se o teste passa;<\/li>\n<li id=\"879b\" class=\"graf graf--li graf-after--li\">Realizar refatora\u00e7\u00e3o de c\u00f3digo, incluindo c\u00f3digo funcional e c\u00f3digo de teste de unidade;<\/li>\n<li id=\"29fc\" class=\"graf graf--li graf-after--li\">Repita as etapas acima at\u00e9 que o desenvolvimento seja conclu\u00eddo.<\/li>\n<\/ol>\n<p id=\"51d8\" class=\"graf graf--p graf-after--li\"><strong class=\"markup--strong markup--p-strong\">Benef\u00edcios do TDD<\/strong><\/p>\n<ol class=\"postList\">\n<li id=\"8d57\" class=\"graf graf--li graf-after--p\"><strong class=\"markup--strong markup--li-strong\">Reduza a carga dos desenvolvedores<\/strong>\u00a0.\u00a0Por meio de um processo claro, vamos nos concentrar em apenas um ponto de cada vez, e o fardo de pensar \u00e9 menor.<\/li>\n<li id=\"ce12\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">A rede de prote\u00e7\u00e3o<\/strong>\u00a0.\u00a0A cobertura de testes unit\u00e1rios completos fornece uma rede protetora para o c\u00f3digo do produto, facilitando o atendimento a mudan\u00e7as nos requisitos ou a melhoria do design do c\u00f3digo.\u00a0Portanto, se os requisitos do seu projeto forem est\u00e1veis, executados de uma s\u00f3 vez e n\u00e3o houver altera\u00e7\u00f5es subsequentes, os benef\u00edcios do TDD ser\u00e3o menores.<\/li>\n<li id=\"fc52\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Esclare\u00e7a os requisitos com anteced\u00eancia<\/strong>\u00a0.\u00a0Escrever testes primeiro pode nos ajudar a pensar sobre os requisitos e esclarecer os detalhes dos requisitos com anteced\u00eancia, em vez de descobrir requisitos pouco claros apenas na metade do c\u00f3digo.<\/li>\n<li id=\"3c5e\" class=\"graf graf--li graf-after--li graf--trailing\"><strong class=\"markup--strong markup--li-strong\">Feedback r\u00e1pido<\/strong>\u00a0.\u00a0Muitas pessoas dizem que quando TDD, meu volume de c\u00f3digo aumenta, ent\u00e3o a efici\u00eancia do desenvolvimento diminui.\u00a0<span class=\"goog-text-highlight\">No entanto, se voc\u00ea n\u00e3o tiver testes de unidade, precisar\u00e1 test\u00e1-los manualmente, gastar muito tempo preparando dados, iniciando aplicativos, modificando interfaces e assim por diante, e o feedback \u00e9 lento.\u00a0<\/span>Para ser preciso, o feedback r\u00e1pido \u00e9 um benef\u00edcio do teste de unidade.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"section section--body section--last\">\n<div class=\"section-divider\">\n<hr class=\"section-divider\" \/>\n<\/div>\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<h4 id=\"44d1\" class=\"graf graf--h4 graf--leading\"><span id=\"Agile_Scrum_Principles\">Princ\u00edpios \u00c1geis e Scrum<\/span><\/h4>\n<ul class=\"postList\">\n<li id=\"c313\" class=\"graf graf--li graf-after--h4\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/agile-manifesto-and-agile-principles\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/agile-manifesto-and-agile-principles\/\">O Manifesto \u00c1gil e os Doze Princ\u00edpios<\/a><\/li>\n<li id=\"613e\" class=\"graf graf--li graf-after--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/10-basic-scrum-rules\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/10-basic-scrum-rules\/\">10 regras b\u00e1sicas mais frequentemente mencionadas no Scrum<\/a><\/li>\n<li id=\"8952\" class=\"graf graf--li graf-after--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/how-scrum-team-works\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/how-scrum-team-works\/\">Como funciona a equipe Scrum?\u00a0\u2014 Um breve guia<\/a><\/li>\n<\/ul>\n<h4 id=\"863c\" class=\"graf graf--h4 graf-after--li\"><span id=\"Large_Scale_Scrum\">Scrum em grande escala<\/span><\/h4>\n<ul class=\"postList\">\n<li id=\"39b8\" class=\"graf graf--li graf-after--h4\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/scaling-agile-frameworks-comparison\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/scaling-agile-frameworks-comparison\/\">Compara\u00e7\u00e3o de escalonamento de frameworks \u00e1geis<\/a><\/li>\n<li id=\"49ce\" class=\"graf graf--li graf-after--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/10-principles-of-less-framework\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/10-principles-of-less-framework\/\">Quais s\u00e3o os 10 Princ\u00edpios do LeSS Framework?<\/a><\/li>\n<li id=\"1ef2\" class=\"graf graf--li graf-after--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/how-to-manage-multi-scrum-teams-with-less-framework\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/how-to-manage-multi-scrum-teams-with-less-framework\/\">Como gerenciar v\u00e1rias equipes Scrum com o LeSS Framework?<\/a><\/li>\n<li id=\"22bd\" class=\"graf graf--li graf-after--li graf--trailing\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/www.visual-paradigm.com\/scrum\/top-10-less-framework-resources\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/scrum\/top-10-less-framework-resources\/\">Os 10 principais recursos do framework Scrum em larga escala<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>O Desenvolvimento Test Driven (TDD) \u00e9 um processo de desenvolvimento de software, que depende da transforma\u00e7\u00e3o dos requisitos de software em casos de teste antes que o software seja totalmente desenvolvido, e do rastreamento de todo o desenvolvimento de software atrav\u00e9s de repetidos testes de software para todos os casos de teste. Isto \u00e9 o oposto de desenvolver primeiro o software e depois criar casos de teste. Alguns modelos populares suportam muito bem TDD, tais como MVC e MVP.<\/p>\n","protected":false},"author":1,"featured_media":1308,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","footnotes":""},"categories":[2],"tags":[52,63,62,53],"class_list":["post-551","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agile-project-management","tag-cn-done","tag-es-done","tag-ja-done","tag-tw-done"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software - Cibermediano<\/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:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software - Cibermediano\" \/>\n<meta property=\"og:description\" content=\"O Desenvolvimento Test Driven (TDD) \u00e9 um processo de desenvolvimento de software, que depende da transforma\u00e7\u00e3o dos requisitos de software em casos de teste antes que o software seja totalmente desenvolvido, e do rastreamento de todo o desenvolvimento de software atrav\u00e9s de repetidos testes de software para todos os casos de teste. Isto \u00e9 o oposto de desenvolver primeiro o software e depois criar casos de teste. Alguns modelos populares suportam muito bem TDD, tais como MVC e MVP.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/\" \/>\n<meta property=\"og:site_name\" content=\"Cibermediano\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-26T01:34:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-31T04:09:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0_gN5wLj3vntxPR-gh.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"680\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"vpadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vpadmin\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"vpadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/\"},\"author\":{\"name\":\"vpadmin\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\"},\"headline\":\"Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software\",\"datePublished\":\"2022-01-26T01:34:13+00:00\",\"dateModified\":\"2022-03-31T04:09:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/\"},\"wordCount\":1060,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0_gN5wLj3vntxPR-gh.png\",\"keywords\":[\"cn-done\",\"es-done\",\"ja-done\",\"tw-done\"],\"articleSection\":[\"Agile Project Management\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/\",\"url\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/\",\"name\":\"Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software - Cibermediano\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0_gN5wLj3vntxPR-gh.png\",\"datePublished\":\"2022-01-26T01:34:13+00:00\",\"dateModified\":\"2022-03-31T04:09:16+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0_gN5wLj3vntxPR-gh.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0_gN5wLj3vntxPR-gh.png\",\"width\":1024,\"height\":680,\"caption\":\"TDD development\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/pt\/\",\"name\":\"Cibermediano\",\"description\":\"Aprendendo uma coisa nova todos os dias\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\",\"name\":\"vpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g\",\"caption\":\"vpadmin\"},\"sameAs\":[\"https:\/\/x.com\/vpadmin\"],\"url\":\"https:\/\/www.cybermedian.com\/pt\/author\/vpadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software - Cibermediano","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:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/","og_locale":"pt_PT","og_type":"article","og_title":"Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software - Cibermediano","og_description":"O Desenvolvimento Test Driven (TDD) \u00e9 um processo de desenvolvimento de software, que depende da transforma\u00e7\u00e3o dos requisitos de software em casos de teste antes que o software seja totalmente desenvolvido, e do rastreamento de todo o desenvolvimento de software atrav\u00e9s de repetidos testes de software para todos os casos de teste. Isto \u00e9 o oposto de desenvolver primeiro o software e depois criar casos de teste. Alguns modelos populares suportam muito bem TDD, tais como MVC e MVP.","og_url":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/","og_site_name":"Cibermediano","article_published_time":"2022-01-26T01:34:13+00:00","article_modified_time":"2022-03-31T04:09:16+00:00","og_image":[{"width":1024,"height":680,"url":"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0_gN5wLj3vntxPR-gh.png","type":"image\/png"}],"author":"vpadmin","twitter_card":"summary_large_image","twitter_creator":"@vpadmin","twitter_misc":{"Escrito por":"vpadmin","Tempo estimado de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/"},"author":{"name":"vpadmin","@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a"},"headline":"Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software","datePublished":"2022-01-26T01:34:13+00:00","dateModified":"2022-03-31T04:09:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/"},"wordCount":1060,"commentCount":0,"image":{"@id":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0_gN5wLj3vntxPR-gh.png","keywords":["cn-done","es-done","ja-done","tw-done"],"articleSection":["Agile Project Management"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/","url":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/","name":"Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software - Cibermediano","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0_gN5wLj3vntxPR-gh.png","datePublished":"2022-01-26T01:34:13+00:00","dateModified":"2022-03-31T04:09:16+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#primaryimage","url":"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0_gN5wLj3vntxPR-gh.png","contentUrl":"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2022\/01\/0_gN5wLj3vntxPR-gh.png","width":1024,"height":680,"caption":"TDD development"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/pt\/test-drive-development-approach-for-agile-software-development\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Abordagem de desenvolvimento test-drive para desenvolvimento \u00e1gil de software"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/pt\/#website","url":"https:\/\/www.cybermedian.com\/pt\/","name":"Cibermediano","description":"Aprendendo uma coisa nova todos os dias","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a","name":"vpadmin","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g","caption":"vpadmin"},"sameAs":["https:\/\/x.com\/vpadmin"],"url":"https:\/\/www.cybermedian.com\/pt\/author\/vpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts\/551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/comments?post=551"}],"version-history":[{"count":5,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts\/551\/revisions"}],"predecessor-version":[{"id":9930,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts\/551\/revisions\/9930"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/media\/1308"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/media?parent=551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/categories?post=551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/tags?post=551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}