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

Transcrição

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