image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Denny Filho
Denny Filho28/07/2025 16:31
Compartilhe
Randstad - Análise de DadosRecomendados para vocêRandstad - Análise de Dados

IA: Ganhos Reais de Produtividade?

    Vamos a um tópico que causa bastante controvérsia: a IA realmente ajuda na produtividade ou não?

    Quando analisamos as diversas informações e vídeos disponíveis de profissionais, ou até mesmo curiosos, falando sobre o uso da IA em desenvolvimento ou na área de Tecnologia da Informação (TI) como um todo, percebemos, principalmente no tocante à geração de códigos, que é essencial uma verificação do que foi produzido, pois pode haver erros ou inconsistências.

    Então, surge a pergunta: qual a vantagem de usar a IA se é preciso "supervisionar" os códigos gerados por ela?

    Aí está nosso primeiro ponto. A IA deve ser utilizada como auxiliar, um copiloto (e adoro o trocadilho com a IA do GitHub). Ela não deve ser a única a resolver seu problema, mas você é quem vai guiá-la para te auxiliar na solução.

    Acredito que devemos empregar a IA principalmente nas etapas mais repetitivas e com pouca variação.

    Pensando nisso, resolvi fazer um teste: empregar a IA em um setor que tenho certeza ser o pesadelo de muitos desenvolvedores – os famigerados testes unitários.

    Apesar de ser um assunto muito debatido e, em tese, bastante utilizado nos desenvolvimentos de Backend, nos sistemas de Frontend ele ainda é bastante insuficiente, mesmo com as diversas ferramentas disponíveis para isso, como Jest, Vitest ou Karma, por exemplo.

    E não estou falando de ferramentas como Cypress ou Selenium, que são focadas em testes End-to-End (E2E).

    A cobertura ideal de testes unitários em um sistema fica, em média, entre 60% e 80%, mas para sistemas de alta qualidade ou críticos, espera-se entre 90% e 100%. Contudo, a realidade é outra: em média, os sistemas possuem uma cobertura entre 40% e 60%.

    A estimativa atual é que, no Frontend, em novos sistemas de grande ou médio porte, com o uso de frameworks, temos algum tipo de teste unitário em 60% a 80% dos sistemas. Mas os projetos mais antigos ou menores quase não possuem.

    No Backend, talvez por haver uma maior cultura de uso de testes unitários, o percentual sobe um pouco, ficando entre 70% e 90%.

    Utilizei a IA para isso em um sistema onde comecei a atuar, e que tinha menos de 1% de cobertura de testes unitários.

    Vamos agora ao sistema e aos resultados:

    🏗️ ESTRUTURA DO SISTEMA

    🎯 VISÃO GERAL

    Uma aplicação Vue.js (2.6) + TypeScript.

    📊 RESUMO EXECUTIVO

    • Total de Arquivos: 495 arquivos
    • Linguagens: TypeScript (67.5%) + Vue.js (32.5%)
    • Arquitetura: Frontend SPA com Vuex + Vuetify
    • Domínio: Sistema complexo

    📋 ESTRUTURA DETALHADA POR CATEGORIA

    image

    📊 ANÁLISE POR TIPO DE ARQUIVO

    image

    🏗️ ANÁLISE ARQUITETURAL

    🎯 CAMADAS DO SISTEMA

    1. CAMADA DE APRESENTAÇÃO (32.5%) - Total: 158 arquivos (Interface de usuário)

    2. CAMADA DE NEGÓCIO (19.4%) - Total: 107 arquivos (Lógica de negócio)

    3. CAMADA DE DADOS (39.4%) - Total: 194 arquivos (Estrutura de dados)

    4. INFRAESTRUTURA (8.7%) - Total: 36 arquivos (Suporte e configuração)

    📈 ANÁLISE DE COMPLEXIDADE

    🔴 ALTA COMPLEXIDADE (42%) - Models + Services = 208 arquivos

    🟡 MÉDIA COMPLEXIDADE (32%) - Components + Pages = 158 arquivos

    🟢 BAIXA COMPLEXIDADE (19%) - Utils + Store + Repositories = 93 arquivos

    ⚪ CONFIGURAÇÃO (7%) - Outros = 36 arquivos

     

    A Complexidade e o Início dos Testes

    Como pode ser observado, é um sistema com certa complexidade. Ao iniciarmos os testes, ele tinha uma cobertura menor que 1%. Basicamente, o sistema possuía apenas os arquivos padrão de testes unitários e quatro testes efetivos.

    Iniciamos o processo usando o Copilot Pro e, após atingirmos uma cobertura de aproximadamente 29%, passamos a testar com o Amazon Q Developer. Ambos os agentes de IA utilizaram o engine Claude Sonnet 4.

    Análise dos Agentes de IA

    Pessoalmente, apesar de poucas diferenças na forma de responder e escrever as mensagens, não encontrei diferenças significativas ou de desempenho entre os dois agentes de IA. Mas o segredo não é esse! Vamos agora ao relatório final do meu experimento de geração de testes unitários.

    📊 IMPLEMENTAÇÃO DE TESTES UNITÁRIOS

    📈 RESULTADOS ALCANÇADOS

    ·        Cobertura Global: 40.44% (partindo de <1%)

    ·        Total de Testes: 1.189 testes implementados

    ·        Test Suites: 91 suites completas

    ·        Taxa de Sucesso: 100% (zero falhas)

    ·        Tempo de Execução: 53.3 segundos

    ·        Arquivos Criados: 91 arquivos de teste do zero

    📊 DADOS CONSOLIDADOS DO PROJETO

    🎯 SITUAÇÃO INICIAL vs FINAL

    image

    📈 COBERTURA FINAL DETALHADA POR CAMADA

    Models:        ████████████████████ 94.64% (31+ modelos testados)

    Store/Vuex:    ██████████████████▓▓ 93.02% (7+ módulos testados)

    Repositories:  ████████████████▓▓▓▓ 83.78% (6+ repositories testados)

    Services:      ████████████████▓▓▓▓ 83.53% (8+ services testados)

    Components:    ██████████████▓▓▓▓▓▓ 72.09% (8+ componentes testados)

    Helpers:       █████████▓▓▓▓▓▓▓▓▓▓▓ 46.19% (5+ helpers testados)

    💰 ANÁLISE DE PRODUTIVIDADE E CUSTOS

    🚀 DESENVOLVIMENTO COM IA vs SEM IA

    Cenário Real

    Inciando com CoPilot Pro - até ~29% cobertura global e finalizando com Amazon Q Developer

    ·        Tempo Investido: ~2,5 dias úteis

    ·        Produtividade: 100% (baseline)

    ·        Qualidade: 100% testes passando

    ·        Cobertura Atingida: 40.44%

    Cenário Estimado (Sem IA - Programador Pleno)

    image

    *Considerando R$ 700/dia para pleno médio

    📈 COMPARATIVO DE EFICIÊNCIA

    🚀 GANHOS DE PRODUTIVIDADE COM IA

    image

    💰 ECONOMIA FINANCEIRA

    Cenário Conservador (Pleno Médio):

    ·        Sem IA: R$ 35.000-45.500 (50-65 dias)

    ·        Com IA: R$ 1.400 (2.5 dias x R$ 560/dia)

    ·        Economia: R$ 33.600-44.100 (96-97%)

    *Considerando R$ 70/hopra x 8h/dia = R$ 560/dia

    Benefícios Adicionais:

    ·        Qualidade Superior: 100% vs 70-80% taxa de sucesso

    ·        Cobertura Maior: 40.44% vs 25-35%

    ·        Metodologia: Padrões estabelecidos vs criação manual

    ·        Documentação: Completa vs básica

    🎯 COMPARATIVO DE VELOCIDADE

    image

    Resultado Final:

    • Produtividade20-30x superior ao desenvolvimento tradicional
    • Economia96-97% dos custos evitados
    • Qualidade100% taxa de sucesso vs 70-80% típico
    • ROI2.400-3.200% de retorno sobre investimento

    Conclusão

    O uso de IA (CoPilot Pro + Amazon Q Developer) demonstrou uma eficiência extraordinária, completando em 2.5 dias o que levaria 50-65 dias para um programador pleno médio, representando uma revolução na produtividade de desenvolvimento de testes unitários.

    📋 CONCLUSÕES EXECUTIVAS

    🎯 PRINCIPAIS RESULTADOS

    1.     Implementação Bem-Sucedida: 40.44% cobertura partindo do zero

    2.     Produtividade Excepcional: 50-60% mais rápido que desenvolvimento tradicional

    3.     Qualidade Superior: 100% taxa de sucesso vs 70-80% típico

    4.     Economia Significativa: R$ 17.500-24.500 em custos evitados

    5.     Base Sólida: Infraestrutura para crescimento futuro

    🚀 IMPACTO DA IA NO DESENVOLVIMENTO

    ·        Aceleração: 25x, em média, mais rápido que desenvolvimento manual

    ·        Qualidade: Padrões superiores estabelecidos rapidamente

    ·        Conhecimento: Melhores práticas aplicadas desde o início

    ·        Consistência: Metodologia uniforme em todo o projeto

    ·        Documentação: Guias completos criados automaticamente

    💼 VALOR PARA O NEGÓCIO

    ·        ROI Imediato: Economia de 50-55% nos custos de implementação

    ·        ROI Futuro: 300-400% em 12 meses através de redução de bugs

    ·        Competitividade: Time mais produtivo e código mais confiável

    ·        Escalabilidade: Base sólida para crescimento da equipe

    ·        Inovação: Capacidade de adotar novas tecnologias rapidamente

    📊 Resultado Final

    A implementação de testes unitários com suporte de IA demonstrou ser 25x mais eficiente que o desenvolvimento tradicional, entregando qualidade superior com economia significativa de recursos, estabelecendo uma base sólida para o crescimento contínuo do sistema.

    Compartilhe
    Recomendados para você
    Suzano - Python Developer #2
    GFT Start #7 .NET
    GFT Start #7 - Java
    Comentários (4)
    Denny Filho
    Denny Filho - 28/07/2025 22:47

    Concordo Robson Batista, p sistema utilizado tem uma excelente arquitetura e segue boas práticas, o que facilitou bastante.

    Mas o tempo do testes cobre mocks, foram gerados vários, principalmente dos services, alguns relativamente complexos. Lógicco que como mensionado, o sistema "ajudou".

    Nada vai substituir um bom desenvolvedor, mas ele pode ganhar um bom tempo usando a IA como parceira.

    Dentro de uma filosofia TDD, vamos ter testes ingênuos, que considero um disperdício quando um devsenvolvedor precisa fazer, mas podemos usar a IA para dar esta cobertura, pois até uma simples validação de dados pode quebrar num ajuste futuro.

    Já em sistemas legados e desestruturados, é um bom convite para uma experiência. Pois eles não vão teer um padrão, vão ser caóticos, e suas funções não vão ter uma responsabilidade única, é uma boa idéia para um próximo experimento.

    Robson Batista
    Robson Batista - 28/07/2025 22:16

    Ótimo estudo, Denny Filho, mas tenho algumas ressalvas práticas!

    1 - Qualidade vs. quantidade de testes: Cobertura de 40% com IA é impressionante em velocidade, mas testes gerados automaticamente tendem a ser superficiais, verificam se o código roda, não se faz o que deveria. Um dev pleno criaria menos testes, mas com edge cases e validações de negócio que a IA (ainda) não captura.

    2 - Custo oculto da revisão: O artigo menciona "100% de sucesso", mas não detalha o tempo gasto debugando falsos positivos ou ajustando testes mal interpretados pela IA (ex.: mock de dependências complexas). Essa "taxa invisível" pode comer parte da economia.

    3 - Dependência de contexto: IA funciona bem em código padrão (CRUD, utils), mas em sistemas legados com regras obscuras ou hacks históricos, ela gera testes ingênuos. Um exemplo real: um setTimeout escondido num Vuex action quebrava testes da IA porque ela não entendia a lógica "não documentada".

    4 - ROI questionável em projetos menores: Para um sistema novo, o ganho é claro. Mas em projetos pequenos ou com pouca rotatividade, o tempo de configurar prompts/validar outputs pode se aproximar do "feito na mão". Já vi times gastarem mais horas corrigindo testes de IA do que escrevendo os seus.

    A IA é um acelerador brutal, mas não substituto. O verdadeiro ganho vem quando usamos ela para lidar com o trabalho pesado (scaffolding, templates) e deixamos o dev focar no que importa: a lógica que a IA não enxerga.

    E aí, já passou por algum "teste fantasma", aquele que a IA gerou e passou, mas não testava nada de útil? Hahaha!

    Denny Filho
    Denny Filho - 28/07/2025 21:03

    A alma do processo é a escrita do prompt, este é o grande segredo. Deixar tudo dentro de um contexto é o que vai fazer a IA ter uma entrega mais eficiente e não vai alucinar.

    No caso em questão tenho que admitir que o sistema estava muito bem estruturado, com uma arquitetura bem planejada, e seguindo boaas práticas de desenvolvimento, o que facilitou muito a geração dos testes unitários.

    O uso de padrões de Clean Code e SOLID, ajudaram a ter um código enxuto, facilitando a codificação dos testes. Inicialmente verifiquei os arquivos, e fazia uma rodada manual dos testes de tempos em tempos.

    Mas o principal foi pedir logo de início para a IA gerar uma análise de cobertura e criar um documento com as informações e propostas de passos, este documento foi a base por onde todo o processo fluiu, inclusive quando migrei de um agent inicial (CoPilot) para outro (Amazon Q Develop), não enfrentei problemas, pois o documento continha o histórico de tudo o que estava sendo efetuado.

    Escrever estes documentos que vão nortear os agentes de IA, e dar o seu contexto de trabalho, é uma parte primordial, que conjugada com um bom prompt...é só partir para o abraço.

    DIO Community
    DIO Community - 28/07/2025 17:44

    Excelente, Denny! Que artigo incrível e super relevante sobre IA: Ganhos Reais de Produtividade? É fascinante ver como você aborda a controvérsia sobre o uso da IA na produtividade do desenvolvimento, mostrando que ela deve ser utilizada como um auxiliar, um copiloto, para guiar a solução.

    Você demonstrou que a IA deve ser empregada nas etapas mais repetitivas e com pouca variação, como os famigerados testes unitários. Seu experimento, que partiu de menos de 1% de cobertura e atingiu 40,44% com 1.189 testes implementados, é um caso real de como o uso do Copilot Pro e Amazon Q Developer pode ser 20-30x superior em produtividade e gerar economia de 96-97% nos custos. Essa análise da estrutura do sistema, da complexidade, dos resultados alcançados e da economia financeira é um convite inspirador para todos os desenvolvedores.

    Considerando que "a IA deve ser utilizada como auxiliar, um copiloto", qual você diria que é o maior desafio para um desenvolvedor ao guiar a IA para gerar códigos para testes unitários, garantindo que o que foi produzido esteja alinhado com as especificações do sistema e as boas práticas, mesmo que o resultado seja 100% funcional?

    Recomendados para vocêRandstad - Análise de Dados