{"id":11711,"date":"2025-03-11T20:27:18","date_gmt":"2025-03-11T20:27:18","guid":{"rendered":"https:\/\/news.dream.press\/news\/?post_type=announcement&#038;p=11711"},"modified":"2025-05-06T18:18:29","modified_gmt":"2025-05-06T18:18:29","slug":"como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt","status":"publish","type":"announcement","link":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/","title":{"rendered":"Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever Uma \u00danica Linha de C\u00f3digo"},"content":{"rendered":"\n<p><em>Este post \u00e9 a <strong>Parte 3<\/strong> de uma s\u00e9rie de 4 partes. Certifique-se de conferir os outros posts da s\u00e9rie para um aprofundamento no nosso <strong>gerador de plano de neg\u00f3cios com IA<\/strong>.<br>Parte 1: <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-built-an-ai-powered-business-plan-generator-using-langgraph-langchain\/\">Como Constru\u00edmos um Gerador de Plano de Neg\u00f3cios com IA Usando LangGraph &amp; LangChain<\/a><br>Parte 2: <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-optimized-ai-business-plan-generation-speed-vs-quality-trade-offs\/\">Como Otimizamos a Gera\u00e7\u00e3o de Plano de Neg\u00f3cios com IA: Velocidade vs. Compromissos de Qualidade<\/a><br>Parte 3: <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-created-273-unit-tests-in-3-days-without-writing-a-single-line-of-code\/\">Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever uma \u00danica Linha de C\u00f3digo<\/a><br>Parte 4: <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/ai-evaluation-framework-how-we-built-a-system-to-score-and-improve-ai-generated-business-plans\/\">Framework de Avalia\u00e7\u00e3o de IA \u2014 Como Constru\u00edmos um Sistema para Avaliar e Melhorar Planos de Neg\u00f3cios Gerados por IA<\/a><\/em><\/p>\n\n\n<p>Na paisagem em r\u00e1pida evolu\u00e7\u00e3o do desenvolvimento de software, o papel da intelig\u00eancia artificial est\u00e1 se expandindo para al\u00e9m da gera\u00e7\u00e3o de c\u00f3digo, entrando na automa\u00e7\u00e3o de testes. Durante um per\u00edodo intensivo de tr\u00eas dias em fevereiro de 2025, realizamos um projeto de pesquisa aprofundado na DreamHost avaliando qu\u00e3o eficazmente a IA pode escrever testes unit\u00e1rios de forma aut\u00f4noma com m\u00ednima interven\u00e7\u00e3o humana. Este artigo compartilha os principais achados, m\u00e9tricas e insights que podem reformular a maneira como abordamos a automa\u00e7\u00e3o de testes.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"ef1b\">A Premissa da Pesquisa<\/h2>\n\n\n<p id=\"e5e9\">O objetivo principal estava claro: avaliar se a IA pode criar testes de unidade de qualidade de produ\u00e7\u00e3o de forma confi\u00e1vel, sem nenhuma escrita de c\u00f3digo humano. Isso n\u00e3o era apenas um exerc\u00edcio acad\u00eamico \u2014 na DreamHost, estamos aplicando IA para aumentar nossa produtividade em \u201c100000x\u201d no projeto de <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-built-an-ai-powered-business-plan-generator-using-langgraph-langchain\/\">Planejador de Neg\u00f3cios com IA<\/a>, e esta pesquisa foi projetada para expandir ainda mais esses limites. Esta abordagem representa uma mudan\u00e7a significativa dos fluxos de trabalho de teste de unidade tradicionais e poderia impactar dramaticamente a produtividade do desenvolvimento.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"687f\">Par\u00e2metros do Projeto<\/h2>\n\n\n<p id=\"5351\">Para esta pesquisa, estabelecemos uma metodologia estruturada:<\/p>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Entrada de IA<\/strong>: Forne\u00e7a \u00e0 IA o c\u00f3digo-fonte, arquivos de teste de exemplo mostrando padr\u00f5es\/estilos, requisitos de teste e contexto do ambiente de desenvolvimento<\/li>\n\n\n\n<li><strong>Limites Humanos<\/strong>: Restrinja a entrada humana a esclarecimentos, corre\u00e7\u00e3o de equ\u00edvocos e fornecimento de contexto faltante \u2014 sem escrita direta de c\u00f3digo<\/li>\n\n\n\n<li><strong>Foco na Medi\u00e7\u00e3o<\/strong>: Acompanhe o tempo at\u00e9 a conclus\u00e3o, itera\u00e7\u00f5es necess\u00e1rias, tipos de erros encontrados, qualidade da sa\u00edda, cobertura alcan\u00e7ada e esfor\u00e7o humano requerido<\/li>\n\n\n<\/ol>\n\n\n<p id=\"8a58\">Nossos crit\u00e9rios de sucesso eram ambiciosos, mas necess\u00e1rios para aplicabilidade na produ\u00e7\u00e3o:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Cobertura de teste de 100%<\/li>\n\n\n\n<li>Implementa\u00e7\u00e3o segura de tipo<\/li>\n\n\n\n<li>Ades\u00e3o \u00e0s melhores pr\u00e1ticas de teste<\/li>\n\n\n\n<li>Interven\u00e7\u00e3o humana m\u00ednima<\/li>\n\n\n\n<li>Tempo de conclus\u00e3o razo\u00e1vel<\/li>\n\n\n\n<li>C\u00f3digo de teste mantido<\/li>\n\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\" id=\"043e\">Principais Descobertas da Pesquisa<\/h2>\n\n\n<p id=\"a078\">Em apenas tr\u00eas dias, o nosso time acrescentou 273 novos testes ao projeto Business Planner, aumentando dramaticamente a nossa cobertura de testes. Ap\u00f3s analisar v\u00e1rias implementa\u00e7\u00f5es de testes geradas por IA em diferentes servi\u00e7os e componentes, diversos padr\u00f5es surgiram que fornecem insights valiosos sobre o estado atual dos testes de unidade dirigidos por IA.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"61b9\">1. M\u00e9tricas de Efici\u00eancia<\/h3>\n\n\n<p id=\"2612\">Um dos achados mais impressionantes foi a redu\u00e7\u00e3o dr\u00e1stica no tempo de implementa\u00e7\u00e3o:<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"240\" src=\"https:\/\/www.dreamhost.com\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1024x240.jpeg\" alt=\"\" class=\"wp-image-9513\" srcset=\"https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1024x240.jpeg 1024w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-300x70.jpeg 300w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-768x180.jpeg 768w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1536x360.jpeg 1536w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-96x23.jpeg 96w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-192x45.jpeg 192w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-682x160.jpeg 682w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1364x320.jpeg 1364w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-512x120.jpeg 512w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-540x127.jpeg 540w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1080x253.jpeg 1080w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-877x206.jpeg 877w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-784x184.jpeg 784w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1568x368.jpeg 1568w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-1598x375.jpeg 1598w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-460x108.jpeg 460w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code-920x216.jpeg 920w, https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/Unit-Tests-Created-without-writing-a-line-of-code.jpeg 1748w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<p id=\"bb4f\">A economia de tempo \u00e9 substancial \u2014 a maioria das implementa\u00e7\u00f5es de teste foram completadas em menos de 10 minutos, com um equivalente humano estimado de 30\u201360 minutos para a mesma tarefa. Isso representa um aumento potencial de produtividade de 4\u20136x para a escrita de testes rotineiros.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"4b76\">2. Pontos Fortes do Teste de IA<\/h3>\n\n\n<p id=\"f1cb\">Atrav\u00e9s de m\u00faltiplas implementa\u00e7\u00f5es, certas capacidades de IA se destacaram consistentemente:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cobertura Abrangente<\/strong>: A IA alcan\u00e7ou consistentemente uma cobertura de c\u00f3digo de 96\u2013100% em diferentes complexidades de servi\u00e7o<\/li>\n\n\n\n<li><strong>Reconhecimento de Padr\u00f5es<\/strong>: A IA destacou-se no reconhecimento de padr\u00f5es de teste a partir de exemplos e na aplica\u00e7\u00e3o consistente dos mesmos<\/li>\n\n\n\n<li><strong>Adapta\u00e7\u00e3o ao Feedback<\/strong>: A maioria dos erros p\u00f4de ser resolvida com esclarecimentos m\u00ednimos<\/li>\n\n\n\n<li><strong>Implementa\u00e7\u00e3o de Mock<\/strong>: A IA demonstrou fortes capacidades na cria\u00e7\u00e3o de mocks e fixtures de teste apropriados<\/li>\n\n\n\n<li><strong>Consist\u00eancia Estrutural<\/strong>: A organiza\u00e7\u00e3o dos testes seguiu as melhores pr\u00e1ticas com padr\u00f5es claros de arranjo, atua\u00e7\u00e3o e afirma\u00e7\u00e3o<\/li>\n\n\n<\/ul>\n\n\n<h3 class=\"wp-block-heading\" id=\"502a\">3. Limita\u00e7\u00f5es e Desafios Observados<\/h3>\n\n\n<p id=\"a10a\">Apesar dos resultados impressionantes, surgiram v\u00e1rios desafios recorrentes:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Manipula\u00e7\u00e3o de Tipos TypeScript<\/strong>: A fonte mais frequente de erros envolvia defini\u00e7\u00f5es de tipos incompletas ou suposi\u00e7\u00f5es incorretas sobre os tipos<\/li>\n\n\n\n<li><strong>Compreens\u00e3o da Estrutura do Projeto<\/strong>: Caminhos de importa\u00e7\u00e3o e rela\u00e7\u00f5es de depend\u00eancia frequentemente requeriam corre\u00e7\u00e3o humana<\/li>\n\n\n\n<li><strong>Cobertura de Casos Limite<\/strong>: Enquanto os caminhos b\u00e1sicos eram bem cobertos, a l\u00f3gica condicional complexa \u00e0s vezes necessitava de casos de teste adicionais<\/li>\n\n\n\n<li><strong>Suposi\u00e7\u00f5es de Template<\/strong>: Ocasionalmente, a IA fazia suposi\u00e7\u00f5es infundadas sobre templates ou padr\u00f5es espec\u00edficos da aplica\u00e7\u00e3o<\/li>\n\n\n\n<li><strong>Requisitos de Itera\u00e7\u00e3o<\/strong>: Servi\u00e7os mais complexos requeriam mais intera\u00e7\u00f5es de ida e volta para alcan\u00e7ar uma cobertura completa<\/li>\n\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\" id=\"6ac4\">Instant\u00e2neos De Estudo De Caso<\/h2>\n\n\n<p id=\"8135\">Vamos examinar algumas implementa\u00e7\u00f5es representativas para entender melhor esses padr\u00f5es.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"c10b\">Caso 1: Teste De Exporta\u00e7\u00e3o De Constante Simples<\/h3>\n\n\n<p id=\"5be1\">Para testar arquivos que cont\u00eam principalmente exporta\u00e7\u00f5es constantes:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tempo de Implementa\u00e7\u00e3o<\/strong>: 1 minuto 30 segundos<\/li>\n\n\n\n<li><strong>Casos de Teste<\/strong>: 10<\/li>\n\n\n\n<li><strong>Cobertura<\/strong>: 100%<\/li>\n\n\n\n<li><strong>Itera\u00e7\u00f5es<\/strong>: 1 (sem corre\u00e7\u00f5es necess\u00e1rias)<\/li>\n\n\n\n<li><strong>Abordagem<\/strong>: Uso eficaz do teste de snapshot para objetos constantes grandes<\/li>\n\n\n<\/ul>\n\n\n<p id=\"c872\">Este caso demonstra que, para cen\u00e1rios de teste simples, a IA pode gerar testes completos com zero itera\u00e7\u00f5es \u2014 essencialmente \u201cperfeitos\u201d na primeira tentativa.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"d513\">Caso 2: Servi\u00e7o Complexo com Depend\u00eancias de DI<\/h3>\n\n\n<p id=\"eb78\">Para um servi\u00e7o mais complexo com inje\u00e7\u00e3o de depend\u00eancia:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tempo de Implementa\u00e7\u00e3o<\/strong>: 4 minutos 50 segundos<\/li>\n\n\n\n<li><strong>Casos de Teste<\/strong>: 5<\/li>\n\n\n\n<li><strong>Cobertura<\/strong>: 100%<\/li>\n\n\n\n<li><strong>Itera\u00e7\u00f5es<\/strong>: 2<\/li>\n\n\n\n<li><strong>Desafios<\/strong>: Implementa\u00e7\u00e3o de teste Bootstrap requer corre\u00e7\u00f5es de vincula\u00e7\u00e3o de depend\u00eancias<\/li>\n\n\n<\/ul>\n\n\n<p id=\"2553\">A IA abordou com sucesso os testes de inje\u00e7\u00e3o de depend\u00eancia, sendo necess\u00e1rios apenas pequenos ajustes para a inicializa\u00e7\u00e3o do container.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"7eca\">Caso 3: Servi\u00e7o Altamente Complexo com Muitos Ramos<\/h3>\n\n\n<p id=\"535c\">Para os servi\u00e7os mais complexos testados:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tempo de Implementa\u00e7\u00e3o<\/strong>: 24 minutos<\/li>\n\n\n\n<li><strong>Casos de Teste<\/strong>: 11<\/li>\n\n\n\n<li><strong>Cobertura<\/strong>: 51,26% (abaixo da meta)<\/li>\n\n\n\n<li><strong>Itera\u00e7\u00f5es<\/strong>: 5\u20136<\/li>\n\n\n\n<li><strong>Desafios<\/strong>: Dificuldade em alcan\u00e7ar cobertura total de ramifica\u00e7\u00e3o para l\u00f3gica condicional complexa<\/li>\n\n\n<\/ul>\n\n\n<p id=\"1352\">Isso representa um caso limite importante onde a IA ainda enfrentava dificuldades com testes abrangentes de l\u00f3gicas de ramifica\u00e7\u00e3o muito complexas.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"b05a\">Implica\u00e7\u00f5es Para O Processo De Desenvolvimento<\/h2>\n\n\n<p id=\"98bb\">Essas descobertas sugerem v\u00e1rias mudan\u00e7as na forma como podemos abordar a implementa\u00e7\u00e3o de testes:<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"0623\">1. Fluxo de Trabalho Revisado<\/h3>\n\n\n<p id=\"9638\">Em vez de desenvolvedores escreverem testes do zero, um fluxo de trabalho mais eficiente parece ser:<\/p>\n\n\n<ol class=\"wp-block-list\">\n<li>O Desenvolvedor fornece o c\u00f3digo-fonte e testes exemplares \u00e0 IA<\/li>\n\n\n\n<li>A IA gera uma implementa\u00e7\u00e3o inicial dos testes<\/li>\n\n\n\n<li>O Desenvolvedor fornece feedback iterativo sobre quest\u00f5es espec\u00edficas<\/li>\n\n\n\n<li>A IA refina a implementa\u00e7\u00e3o at\u00e9 que os objetivos de cobertura sejam atingidos<\/li>\n\n\n\n<li>O Desenvolvedor realiza a revis\u00e3o final e faz o commit<\/li>\n\n\n<\/ol>\n\n\n<p id=\"6c02\">Esta abordagem permite que os desenvolvedores se concentrem em revisar a qualidade dos testes e casos extremos em vez de escrever c\u00f3digo de teste padr\u00e3o.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"e3b2\">2. Oportunidades De Otimiza\u00e7\u00e3o<\/h3>\n\n\n<p id=\"121d\">V\u00e1rias pr\u00e1ticas melhoraram significativamente o desempenho da gera\u00e7\u00e3o de testes de IA:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Fornecendo exemplos claros de testes no mesmo estilo\/padr\u00e3o<\/li>\n\n\n\n<li>Especificando os requisitos de cobertura exatos antecipadamente<\/li>\n\n\n\n<li>Incluindo informa\u00e7\u00f5es sobre tipos complexos<\/li>\n\n\n\n<li>Identificando casos limite potenciais proativamente<\/li>\n\n\n\n<li>Utilizando abordagens de teste primeiro onde a IA tem acesso tanto \u00e0 implementa\u00e7\u00e3o quanto aos testes simultaneamente<\/li>\n\n\n<\/ul>\n\n\n<h3 class=\"wp-block-heading\" id=\"e045\">3. Impacto Econ\u00f4mico<\/h3>\n\n\n<p id=\"1298\">Baseado na compara\u00e7\u00e3o entre o tempo de implementa\u00e7\u00e3o da IA e o tempo estimado de implementa\u00e7\u00e3o humana, os ganhos potenciais de produtividade s\u00e3o substanciais:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li>Redu\u00e7\u00e3o de 70\u201385% no tempo gasto escrevendo testes unit\u00e1rios rotineiros<\/li>\n\n\n\n<li>Maior consist\u00eancia de cobertura<\/li>\n\n\n\n<li>Ciclos de feedback mais r\u00e1pidos durante o desenvolvimento<\/li>\n\n\n\n<li>Mais casos de teste para o mesmo esfor\u00e7o de desenvolvimento<\/li>\n\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\" id=\"0e8c\">Olhando Para Frente: O Futuro dos Testes Impulsionados por IA<\/h2>\n\n\n<p id=\"948c\">Esta pesquisa representa uma investiga\u00e7\u00e3o inicial sobre o que provavelmente se tornar\u00e1 uma pr\u00e1tica padr\u00e3o de desenvolvimento. V\u00e1rias tend\u00eancias indicam para onde este campo est\u00e1 se direcionando:<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"b02c\">Oportunidades Futuras<\/h2>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Desenvolvimento Orientado por Testes<\/strong>: A IA poderia gerar tanto os testes quanto o c\u00f3digo de implementa\u00e7\u00e3o de forma iterativa<\/li>\n\n\n\n<li><strong>Integra\u00e7\u00e3o com CI\/CD<\/strong>: Gera\u00e7\u00e3o e manuten\u00e7\u00e3o de testes automatizados durante o processo de constru\u00e7\u00e3o<\/li>\n\n\n\n<li><strong>Treinamento de Dom\u00ednio Personalizado<\/strong>: Ajuste fino de modelos para bases de c\u00f3digo espec\u00edficas ou padr\u00f5es<\/li>\n\n\n\n<li><strong>Testes Auto-Curativos<\/strong>: IA que atualiza testes quando h\u00e1 altera\u00e7\u00f5es na implementa\u00e7\u00e3o<\/li>\n\n\n\n<li><strong>Modelos de Teste Especializados<\/strong>: Modelos de IA especificamente otimizados para gera\u00e7\u00e3o de testes<\/li>\n\n\n<\/ol>\n\n\n<h2 class=\"wp-block-heading\" id=\"0863\">Desafios Restantes<\/h2>\n\n\n<p id=\"2065\">Apesar de um progresso significativo, v\u00e1rios desafios permanecem:<\/p>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Gest\u00e3o de Estado Complexo<\/strong>: Testando componentes com estados e intera\u00e7\u00f5es complexas<\/li>\n\n\n\n<li><strong>Conhecimento Especializado<\/strong>: Testes que requerem insights espec\u00edficos do dom\u00ednio ou regras de neg\u00f3cio<\/li>\n\n\n\n<li><strong>Testes de Integra\u00e7\u00e3o<\/strong>: Avan\u00e7ando al\u00e9m dos testes unit\u00e1rios para testes de integra\u00e7\u00e3o e de sistema<\/li>\n\n\n\n<li><strong>Testes de Desempenho<\/strong>: Identificando e escrevendo testes de desempenho eficazes<\/li>\n\n\n\n<li><strong>Testes de Seguran\u00e7a<\/strong>: Encontrando e explorando vulnerabilidades de seguran\u00e7a<\/li>\n\n\n<\/ol>\n\n\n<h2 class=\"wp-block-heading\" id=\"68b0\">Resumo do Projeto: Os N\u00fameros<\/h2>\n\n\n<p id=\"0fef\">Aqui est\u00e1 um resumo do que alcan\u00e7amos no nosso experimento de tr\u00eas dias:<\/p>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Adi\u00e7\u00f5es de Teste<\/strong>: 273 novos testes adicionados (de 22 para 295 no total)<\/li>\n\n\n\n<li><strong>Taxa de Sucesso<\/strong>: ~90% das tentativas alcan\u00e7aram cobertura de 100% com sucesso<\/li>\n\n\n\n<li><strong>Tempo de Implementa\u00e7\u00e3o<\/strong>: M\u00e9dia de 5\u20138 minutos por componente<\/li>\n\n\n\n<li><strong>Maior Conjunto de Testes<\/strong>: 273 testes adicionados em aproximadamente 6 horas de trabalho total<\/li>\n\n\n\n<li><strong>Implementa\u00e7\u00e3o Mais R\u00e1pida<\/strong>: 90 segundos para snapshots de framework com cobertura de 100%<\/li>\n\n\n\n<li><strong>Caso Mais Complexo<\/strong>: Componente de gr\u00e1fico com 13 depend\u00eancias, conclu\u00eddo em 5 minutos<\/li>\n\n\n\n<li><strong>N\u00edvel de Qualidade<\/strong>: Manteve a qualidade de c\u00f3digo no n\u00edvel de desenvolvedor s\u00eanior<\/li>\n\n\n\n<li><strong>Input Humano<\/strong>: Zero linhas de c\u00f3digo escritas por humanos<\/li>\n\n\n<\/ul>\n\n\n<p id=\"a2da\">Sob a perspectiva do ROI, estimamos uma economia de tempo de 70\u201380% em compara\u00e7\u00e3o com a implementa\u00e7\u00e3o manual, sem comprometer a qualidade. A \u00fanica falha not\u00e1vel foi com o RunsService, onde alcan\u00e7amos apenas 51% de cobertura devido \u00e0 l\u00f3gica de ramifica\u00e7\u00e3o extremamente complexa.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"c981\">Conclus\u00e3o: Recomenda\u00e7\u00f5es Pr\u00e1ticas<\/h2>\n\n\n<p id=\"458f\">Com base nesta pesquisa, recomendamos as seguintes pr\u00e1ticas para equipes que desejam usar a IA para testes de unidade:<\/p>\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Comece Simples<\/strong>: Comece com componentes simples que seguem padr\u00f5es estabelecidos<\/li>\n\n\n\n<li><strong>Forne\u00e7a Exemplos<\/strong>: Inclua exemplos representativos do seu estilo de teste<\/li>\n\n\n\n<li><strong>Feedback Iterativo<\/strong>: Planeje 2\u20133 ciclos de feedback para alcan\u00e7ar resultados \u00f3timos<\/li>\n\n\n\n<li><strong>Foque em Casos Limite<\/strong>: Use seu conhecimento do dom\u00ednio para sugerir casos limite que a IA pode n\u00e3o detectar<\/li>\n\n\n\n<li><strong>Estabele\u00e7a Diretrizes Claras<\/strong>: Defina o que significa \u201cconclu\u00eddo\u201d para a cobertura e estilo de teste<\/li>\n\n\n\n<li><strong>Atualiza\u00e7\u00f5es Regulares<\/strong>: \u00c0 medida que os modelos de IA melhoram, revise sua abordagem para aproveitar novas capacidades<\/li>\n\n\n<\/ol>\n\n\n<p id=\"3c1f\">O aspecto mais empolgante desta pesquisa \u00e9 que ela representa apenas o come\u00e7o. \u00c0 medida que as capacidades da IA continuam a evoluir, o potencial para testes impulsionados por IA se expandir\u00e1 por dom\u00ednios de teste mais complexos, transformando finalmente a maneira como abordamos a garantia de qualidade no desenvolvimento de software.<\/p>\n\n\n<p id=\"e546\"><em>Esta pesquisa foi conduzida ao longo de tr\u00eas dias em fevereiro de 2025 no projeto Planejador de Neg\u00f3cios com IA da DreamHost, utilizando v\u00e1rios modelos de IA incluindo GitHub Copilot, os modelos GPT da OpenAI e o Claude da Anthropic. O ambiente de teste foi um servi\u00e7o baseado em TypeScript com Jest e ts-mockito para testes, focando em componentes de aplica\u00e7\u00e3o empresarial do mundo real. Mais importante ainda, n\u00e3o escrevemos nenhuma linha de c\u00f3digo durante todo o processo \u2014 toda a implementa\u00e7\u00e3o dos testes foi feita por IA com apenas orienta\u00e7\u00e3o humana.<\/em><\/p>\n\n\n<p><em>Este post \u00e9 a <strong>Parte 3<\/strong> de uma s\u00e9rie de 4 partes. Certifique-se de conferir os outros posts da s\u00e9rie para um mergulho mais profundo no nosso <strong>gerador de plano de neg\u00f3cios com IA<\/strong>.<br>Parte 1: <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-built-an-ai-powered-business-plan-generator-using-langgraph-langchain\/\">Como Constru\u00edmos um Gerador de Plano de Neg\u00f3cios com IA Usando LangGraph &amp; LangChain<\/a><br>Parte 2: <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-optimized-ai-business-plan-generation-speed-vs-quality-trade-offs\/\">Como Otimizamos a Gera\u00e7\u00e3o de Planos de Neg\u00f3cios com IA: Velocidade vs. Qualidade<\/a><br>Parte 3: <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/how-we-created-273-unit-tests-in-3-days-without-writing-a-single-line-of-code\/\">Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever uma \u00danica Linha de C\u00f3digo<\/a><br>Parte 4: <a href=\"https:\/\/www.dreamhost.com\/news\/announcements\/ai-evaluation-framework-how-we-built-a-system-to-score-and-improve-ai-generated-business-plans\/\">Estrutura de Avalia\u00e7\u00e3o de IA \u2014 Como Constru\u00edmos um Sistema para Avaliar e Melhorar Planos de Neg\u00f3cios Gerados por IA<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este post \u00e9 a Parte 3 de uma s\u00e9rie de 4 partes. Certifique-se de conferir os outros posts da s\u00e9rie para um mergulho mais profundo em nosso gerador de planos de neg\u00f3cios com IA. Parte 1: Como Constru\u00edmos um Gerador de Planos de Neg\u00f3cios com IA Usando LangGraph &#038; LangChain Parte 2: Como Otimizamos a Gera\u00e7\u00e3o de Planos de Neg\u00f3cios com IA: Compromissos entre Velocidade e Qualidade Part [&#8230;]<\/p>\n","protected":false},"author":37,"featured_media":9516,"menu_order":0,"template":"","meta":{"_acf_changed":false,"_yoast_wpseo_metadesc":"","footnotes":""},"class_list":["post-11711","announcement","type-announcement","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever Uma \u00danica Linha de C\u00f3digo - DreamHost<\/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:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever Uma \u00danica Linha de C\u00f3digo - DreamHost\" \/>\n<meta property=\"og:description\" content=\"Este post \u00e9 a Parte 3 de uma s\u00e9rie de 4 partes. Certifique-se de conferir os outros posts da s\u00e9rie para um mergulho mais profundo em nosso gerador de planos de neg\u00f3cios com IA. Parte 1: Como Constru\u00edmos um Gerador de Planos de Neg\u00f3cios com IA Usando LangGraph &amp; LangChain Parte 2: Como Otimizamos a Gera\u00e7\u00e3o de Planos de Neg\u00f3cios com IA: Compromissos entre Velocidade e Qualidade Part [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dreamhost.com\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-06T18:18:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1400\" \/>\n\t<meta property=\"og:image:height\" content=\"788\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever Uma \u00danica Linha de C\u00f3digo - DreamHost","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:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/","og_locale":"en_US","og_type":"article","og_title":"Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever Uma \u00danica Linha de C\u00f3digo - DreamHost","og_description":"Este post \u00e9 a Parte 3 de uma s\u00e9rie de 4 partes. Certifique-se de conferir os outros posts da s\u00e9rie para um mergulho mais profundo em nosso gerador de planos de neg\u00f3cios com IA. Parte 1: Como Constru\u00edmos um Gerador de Planos de Neg\u00f3cios com IA Usando LangGraph & LangChain Parte 2: Como Otimizamos a Gera\u00e7\u00e3o de Planos de Neg\u00f3cios com IA: Compromissos entre Velocidade e Qualidade Part [...]","og_url":"https:\/\/www.dreamhost.com\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/","og_site_name":"DreamHost","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_modified_time":"2025-05-06T18:18:29+00:00","og_image":[{"width":1400,"height":788,"url":"https:\/\/www.dreamhost.com\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@dreamhost","twitter_misc":{"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/#article","isPartOf":{"@id":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/"},"author":{"name":"Chris Miaskowski","@id":"https:\/\/news.dream.press\/news\/#\/schema\/person\/6063813fb8dfe183b50140f6a629e92a"},"headline":"Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever Uma \u00danica Linha de C\u00f3digo","datePublished":"2025-03-11T20:27:18+00:00","dateModified":"2025-05-06T18:18:29+00:00","mainEntityOfPage":{"@id":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/"},"wordCount":2069,"publisher":{"@id":"https:\/\/news.dream.press\/news\/#organization"},"image":{"@id":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/#primaryimage"},"thumbnailUrl":"https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg","inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/","url":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/","name":"Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever Uma \u00danica Linha de C\u00f3digo - DreamHost","isPartOf":{"@id":"https:\/\/news.dream.press\/news\/#website"},"primaryImageOfPage":{"@id":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/#primaryimage"},"image":{"@id":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/#primaryimage"},"thumbnailUrl":"https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg","datePublished":"2025-03-11T20:27:18+00:00","dateModified":"2025-05-06T18:18:29+00:00","breadcrumb":{"@id":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/#primaryimage","url":"https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg","contentUrl":"https:\/\/news.dream.press\/news\/wp-content\/uploads\/2025\/03\/How-I-Created-273-Unit-Tests-in-6-Hours-Without-Writing-a-Single-Line-of-Code.jpeg","width":1400,"height":788},{"@type":"BreadcrumbList","@id":"https:\/\/news.dream.press\/news\/pt\/anuncios-pt\/como-criamos-273-testes-de-unidade-em-3-dias-sem-escrever-uma-nica-linha-de-cdigo-pt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dreamhost.com\/news\/"},{"@type":"ListItem","position":2,"name":"Announcements","item":"https:\/\/www.dreamhost.com\/news\/announcements\/"},{"@type":"ListItem","position":3,"name":"Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever Uma \u00danica Linha de C\u00f3digo"}]},{"@type":"WebSite","@id":"https:\/\/news.dream.press\/news\/#website","url":"https:\/\/news.dream.press\/news\/","name":"DreamHost News","description":"Product announcements, events, and more.","publisher":{"@id":"https:\/\/news.dream.press\/news\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/news.dream.press\/news\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/news.dream.press\/news\/#organization","name":"DreamHost","url":"https:\/\/news.dream.press\/news\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/news.dream.press\/news\/#\/schema\/logo\/image\/","url":"https:\/\/www.dreamhost.com\/news\/wp-content\/uploads\/2023\/03\/dreamhost-events.png","contentUrl":"https:\/\/www.dreamhost.com\/news\/wp-content\/uploads\/2023\/03\/dreamhost-events.png","width":1598,"height":921,"caption":"DreamHost"},"image":{"@id":"https:\/\/news.dream.press\/news\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost"]},{"@type":"Person","@id":"https:\/\/news.dream.press\/news\/#\/schema\/person\/6063813fb8dfe183b50140f6a629e92a","name":"Chris Miaskowski","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ed92bbd44a5f3bece343d41d8d5a35980ae7d6c2a03b29abb49c5656acf27747?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ed92bbd44a5f3bece343d41d8d5a35980ae7d6c2a03b29abb49c5656acf27747?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed92bbd44a5f3bece343d41d8d5a35980ae7d6c2a03b29abb49c5656acf27747?s=96&d=mm&r=g","caption":"Chris Miaskowski"},"description":"Building AI-Powered Solutions to Enhance Business Operations and Processes. Read more from Chris at https:\/\/chrismiaskowski.medium.com\/.","sameAs":["https:\/\/chrismiaskowski.medium.com\/","https:\/\/www.linkedin.com\/in\/krzysztof-miaskowski"],"url":"https:\/\/news.dream.press\/news\/author\/chris-miaskowski\/"}]}},"lang":"pt","translations":{"pt":11711,"de":11579,"en":9511,"pl":11695,"ru":11704,"uk":11709,"it":11838,"fr":12235,"nl":12252,"es":14026},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/announcements\/11711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/announcements"}],"about":[{"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/types\/announcement"}],"author":[{"embeddable":true,"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/users\/37"}],"version-history":[{"count":1,"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/announcements\/11711\/revisions"}],"predecessor-version":[{"id":11920,"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/announcements\/11711\/revisions\/11920"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/media\/9516"}],"wp:attachment":[{"href":"https:\/\/news.dream.press\/news\/wp-json\/wp\/v2\/media?parent=11711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}