Skip to content
Programing

Pest 5.1.4: Escalando Testes PHP com Análise de Impacto e IA

Published: Duration: 7:17
0:00 0:00

Transcript

Apresentadora: E aí, pessoal, bem-vindos de volta ao Allur! O seu podcast sobre o ecossistema PHP, Laravel, Go e desenvolvimento mobile. Eu sou a Juliana Santos e hoje a gente vai falar de um assunto que todo desenvolvedor ama... ou sofre diariamente: testes automatizados! Sabe aquela suíte de testes gigante que demora vinte minutos no pipeline de CI/CD e trava o deploy de todo mundo na equipe? Pois é! O Pest PHP acabou de lançar a versão 5.1.4, e ela veio pra mudar completamente esse jogo. A gente tá falando da maturidade do Tia Engine pra Análise de Impacto de Teste — o famoso TIA — e de uma revolução incrível: testes impulsionados por Inteligência Artificial com o AI Agent plugin e as Evals. Se você quer rodar só os testes que realmente importam e ainda aprender a validar saídas de IA de forma automática, fica com a gente! Pra desvendar todas essas novidades, eu trouxe um convidado super especial. Apresentadora: Comigo hoje tá o Lucas Silveira, desenvolvedor Backend Senior, especialista em PHP e Laravel, que vive no campo de batalha otimizando pipelines e arquitetura de testes em aplicações de grande escala. Seja muito bem-vindo ao Allur, Lucas! Convidado: Fala, Juliana! Valeu demais pelo convite, cara! É um prazer gigante tá aqui no Allur. Esse release do Pest 5.1.4 tá dando o que falar na comunidade, né? O ecossistema PHP tá evoluindo rápido demais e eu fiquei empolgado pra bater esse papo com você! Apresentadora: Demais! Lucas, pra gente começar do começo: a gente ouve muito falar de TIA, que é o Test Impact Analysis, ou Análise de Impacto de Teste. Pra quem tá ouvindo a gente e ainda não usou isso na prática... o que é o Tia Engine no Pest 5.1.4 e por que ele é tão revolucionário pra quem trabalha com projetos grandes? Convidado: Boa! Tipo assim, Juliana, imagina que você trabalha num sistema legado ou num e-commerce gigante que tem 10 mil testes. Você vai lá, altera uma linha de código num arquivo de desconto de carrinho... Antigamente, sem TIA, o que acontecia? O CI rodava os 10 mil testes de novo. Isso levava 15, 20 minutos. O desenvolvedor ficava parado esperando. O Tia Engine do Pest resolve exatamente esse gargalo. Ele monitora o mapa de dependências do seu projeto. Ele sabe qual classe chama qual função e como cada teste se conecta a esse código. Quando você altera aquele arquivo de desconto, o Pest olha e fala: "Opa, só preciso rodar estes 50 testes aqui que cobrem esse trecho". Apresentadora: Caramba, massa! É uma redução drástica de tempo, né? Em vez de rodar 10 mil testes, ele roda só os 50 impactados! Convidado: Exatamente! Na versão 5.1.4, esse motor atingiu um nível de maturidade e precisão sensacional. O feedback pro dev passa de minutos pra poucos segundos. E no ambiente de CI/CD, a economia de recursos de servidor e minutos de pipeline é absurda, cara. A equipe ganha velocidade de iteração instantânea. Apresentadora: Que incrível! Isso traz uma produtividade gigante no dia a dia. E olha, o Pest não parou por aí nessa versão 5.1.4, né? Tem outro pilar que me deixou super curiosa quando vi o anúncio: os testes impulsionados por Inteligência Artificial. Hoje em dia, todo mundo tá integrando LLMs, chatbots e APIs de IA no PHP. Mas como é que a gente testa algo que é dinâmico por natureza? Como o Pest resolveu essa dor? Convidado: Essa foi a grande sacada do Pest nessa versão. Eles introduziram o AI Agent plugin e as Evals. Pensa comigo: nos testes tradicionais, a gente usa assertions estáticas, tipo `assertEquals('resposta esperada', $resultado)`. Mas se você tá usando IA pra gerar um resumo de texto ou uma resposta de suporte, a IA nunca vai responder com as mesmas palavras exatas duas vezes, né? Apresentadora: Pois é! O output muda a cada execução, não tem como dar um `assertEquals` fixo! Convidado: Exato! Se você tentar testar assim, o teste quebra à toa. É aí que entram o AI Agent e as Evals. O AI Agent permite invocar a IA dentro do próprio teste, e as Evals funcionam como critérios inteligentes de avaliação. Por exemplo, em vez de checar a string exata, você testa se o resumo gerado tem uma nota de coerência alta, se tá dentro do limite de caracteres e se manteve o contexto do texto original. Você escreve algo como `expect($resumo)->toPassEval('summary_quality')`. Apresentadora: Que momento "aha"! Legal demais! Então, na prática, a gente passa a usar IA pra julgar e validar o resultado gerado pela nossa própria aplicação? Convidado: Tipo assim, perfeito! O AI Agent faz a simulação e a chamada, e a Eval estabelece o julgamento de qualidade: se a resposta é concisa, se não tem viés, se a formatação tá correta... Isso resolve o teste de sistemas não-determinísticos no PHP. É o teste evoluindo pra acompanhar as aplicações modernas. Apresentadora: Nossa, isso é um salto absurdo. E me diz uma coisa, Lucas: quando a gente junta esses dois pilares — o TIA reduzindo o tempo de execução e as Evals garantindo a qualidade da IA —, como fica a escalabilidade do projeto no dia a dia? Convidado: A sinergia é sensacional, Juliana. Testes de IA, por usarem chamadas mais complexas ou avaliações mais profundas, poderiam se tornar o novo gargalo de velocidade se tivessem que rodar sempre. Mas quando você combina com o Tia Engine, esses testes inteligentes só vão rodar se você mexer no código que afeta os componentes de IA! Apresentadora: O TIA segura a velocidade e a IA garante a inteligência do teste! Convidado: Perfeitamente! A suíte continua rodando em segundos no dia a dia do dev. A equipe perde o medo de criar testes abrangentes, porque sabe que o Pest não vai virar um freio de mão no pipeline. Você ganha confiança nas entregas, reduz regressoes em produção e ainda economiza na conta de nuvem do CI/CD. Apresentadora: Que aula, Lucas! O Pest 5.1.4 realmente mostrou que teste PHP pode ser rápido, elegante e extremamente inteligente. Pra galera que tá ouvindo a gente e quer começar a usar isso hoje mesmo, qual é o caminho? Convidado: Galera, a dica é: atualizem suas aplicações pro Pest 5.1.4. Deem uma lida nas notas de lançamento no GitHub oficial e consultem a documentação do Pest PHP. Ativem o TIA nas suas suítes existentes pra sentir a diferença imediata no tempo de execução. E se você já tá construindo features com LLMs ou machine learning no PHP, explorem o AI Agent e criem suas primeiras Evals. Vale a pena demais! Apresentadora: Sensacional! Os links das release notes e da documentação vão ficar aqui na descrição do episódio. Lucas, muito obrigada por ter tirado esse tempo pra bater esse papo com a gente no Allur. Foi enriquecedor demais, cara! Convidado: Valeu pelo convite, Juliana! Um abraço pra você e pra todo mundo que acompanha o Allur! Apresentadora: E para você que acompanhou a gente até aqui: valeu demais por sintonizar o Allur! Não esquece de compartilhar esse episódio no grupo da sua equipe de dev, principalmente com aquele colega que sempre reclama que o CI tá demorando demais. A gente se vê no próximo episódio. Até lá, tchau!

Tags

ai agents php testing artificial intelligence pest tia engine