Skip to content
Programing

Pest 5: A Revolução dos Testes com Análise de Impacto e Inteligência Artificial

Published: Duration: 7:42
0:00 0:00

Transcrição

Apresentadora

E aí, pessoal, bem-vindos de volta ao Allur! Eu sou a Juliana Santos e hoje o clima aqui no estúdio é de pura empolgação, especialmente se você, assim como eu, vive mergulhada no ecossistema PHP. Sabe aquele momento em que a gente sente que a tecnologia deu um salto que não é só uma "melhoriazinha", mas uma mudança completa de paradigma? Pois é, o Pest 5 chegou e ele está literalmente redefinindo o que significa testar código em 2024. A gente sabe que testar às vezes é visto como aquele "mal necessário" que toma tempo, mas o que o Nuno Maduro e a equipe do Pest fizeram dessa vez com a Tia Engine e o suporte nativo a Inteligência Artificial... cara, é de explodir a cabeça. Vamos falar sobre como os testes agora podem ser quase instantâneos e como a IA está entrando no fluxo pra garantir que até as saídas dos modelos de linguagem, os LLMs, estejam sob controle. Se você quer produtividade e quer entender o futuro do QA no PHP, esse episódio é pra você.

Apresentadora

E para dissecar todas essas novidades, eu trouxe um convidado que respira arquitetura de software e é um entusiasta de longa data da comunidade Laravel e PHP. Ele é Tech Lead, mentor e alguém que não deixa um código ir pra produção sem um `it` ou um `test` bem escrito. Seja muito bem-vindo ao Allur, Rafael Souza! Tudo bem, Rafa?

Convidado

Valeu demais pelo convite, Juliana! Tudo ótimo por aqui. Cara, que prazer estar falando sobre o Pest 5. Eu confesso que quando vi o anúncio, eu parei tudo o que estava fazendo pra testar as versões beta, porque o que eles prometeram — e entregaram — é realmente aquela revolução que a gente estava esperando pra tirar o peso dos testes no dia a dia.

Apresentadora

Pois é, Rafael! Eu sinto que o Pest já tinha ganhado o coração da galera pela simplicidade, né? Aquela sintaxe limpa, quase uma poesia. Mas agora o papo ficou sério. Vamos direto ao ponto que mais me chamou a atenção: a tal da Tia Engine. O nome é engraçado, mas o que ela faz de "Test Impact Analysis" é surreal. Explica pra gente como é que isso funciona na prática?

Convidado

Com certeza. A Tia Engine é, tipo assim, o sonho de qualquer desenvolvedor que trabalha em projetos grandes. Sabe quando você muda uma linha de código num Controller e, por via das dúvidas, tem que rodar aquela suíte de 2 mil testes que demora 5, 10 minutos? A Tia acaba com esse sofrimento. Ela monitora o que foi alterado e, através de uma análise profunda de dependências e cobertura, ela fala: "Olha, Rafael, você só mexeu nisso aqui, então eu só vou rodar esses 5 testes que realmente podem ter sido afetados". O resultado é que o feedback que antes demorava minutos, agora vem em segundos. É quase instantâneo, Ju.

Apresentadora

Mas vem cá, bate aquele medo, né? "Será que ela não esqueceu de nada?". Como a gente pode confiar que ela realmente mapeou todos os impactos?

Convidado

Essa é a pergunta de um milhão! O segredo tá na forma como ela analisa o grafo de dependências do PHP. O Pest 5 consegue entender quem chama quem. Se você altera uma classe de serviço que é injetada em três lugares diferentes, a Tia Engine mapeia esses caminhos. É uma análise estática e dinâmica combinada. E o legal é que, pro CI/CD, isso é ouro puro. Imagina a economia de tempo e de custo de servidor no GitHub Actions, por exemplo, rodando só o necessário. É massa demais porque remove aquela fricção de "ah, não vou testar agora porque vai demorar". Agora não tem desculpa.

Apresentadora

Massa! E saindo dessa parte de performance e entrando na "fronteira final", o Pest 5 trouxe a Inteligência Artificial pra mesa. E não é só um "copilot" de testes, é algo mais profundo. O que são esses Agentes de IA que eles introduziram?

Convidado

Cara, isso aqui é o futuro batendo na porta. O suporte a Agentes de IA significa que o Pest agora pode interagir com modelos de linguagem de forma nativa durante o fluxo de teste. Imagina que você quer testar um cenário super complexo de edge cases, aquelas situações bizarras que a gente raramente lembra de escrever. Você pode ter um agente que analisa o seu código e sugere ou gera casos de teste inteligentes. Mas não é só gerar código; é sobre ter uma "entidade" ali que entende o contexto do teste e pode te ajudar a identificar padrões de falha que um humano talvez deixasse passar. É o teste deixando de ser passivo e se tornando ativo.

Apresentadora

Isso me lembra muito o que eles lançaram também sobre os "Evals", né? Porque hoje em dia tá todo mundo colocando GPT ou Claude dentro das aplicações. Mas testar se a IA tá respondendo o que deveria é um caos. Como o Pest 5 resolve isso?

Convidado

Exatamente! Testar LLM é um pesadelo porque a resposta nunca é 100% igual, né? É estocástico. Aí que entram os "Evals". O Pest 5 criou uma estrutura onde você consegue definir critérios de aceitação para o que o seu modelo de IA cospe. Por exemplo, você pode criar um teste que valida se a resposta da IA está em JSON, se ela não contém palavras ofensivas, ou se ela seguiu exatamente as instruções do prompt. Você define "expectativas" sobre uma saída que é imprevisível. Cara, pra quem tá construindo aplicações de IA com PHP, o Pest 5 se tornou a ferramenta número um do mercado, sem exagero. Ele te dá a segurança de que seu chatbot não vai sair falando besteira pro cliente.

Apresentadora

Nossa, Rafael, você falando assim dá até vontade de refatorar todos os meus projetos antigos só pra implementar isso (risos). Mas, me diz uma coisa: pra quem ainda tá no PHPUnit purista, ou pra quem tá no Pest 4, a curva de aprendizado pra essas novidades é muito alta?

Convidado

Olha, Juliana, o Pest sempre teve essa filosofia de ser amigável, né? E na versão 5 eles mantiveram isso. A migração geralmente é bem tranquila, um comando no composer e você já está lá. Claro, pra usar a Tia Engine você precisa configurar o driver de cobertura direitinho, e pros Evals de IA você precisa de uma chave de API, tipo da OpenAI. Mas a sintaxe continua sendo aquele "Pest style" que a gente ama: simples, legível e direto ao ponto. É tipo assim, eles pegaram coisas complexas de engenharia e embalaram num presente muito fácil de usar.

Apresentadora

É o famoso "Developer Experience" levado a sério. Eu fico pensando no impacto disso na cultura das empresas. Menos tempo esperando pipeline, mais confiança em mexer em código legado porque a IA e a Tia estão ali te dando cobertura... é um cenário muito promissor pro PHP.

Convidado

Com certeza. Eu sinto que o PHP tá vivendo uma renascença, e ferramentas como o Pest são o motor disso. A gente parou de ser aquela linguagem de "fazer sitezinho" pra ser uma plataforma de aplicações robustas, modernas e agora, extremamente bem testadas com o auxílio do que há de mais moderno em tecnologia.

Apresentadora

Sensacional, Rafael! Bom, o nosso tempo voa quando o papo é bom, mas pra gente fechar: qual seria sua dica de ouro pra quem quer começar com o Pest 5 hoje?

Convidado

Minha dica é: não tentem abraçar tudo de uma vez. Comecem instalando a versão 5 e ativando a Tia Engine. Só de ver seus testes rodando em milissegundos, você já vai se empolgar. Depois, explorem os Evals se vocês estiverem brincando com IA. E, claro, acompanhem a documentação oficial, que é excelente. Vale muito a pena investir esse tempo agora pra ganhar produtividade o resto do ano todo.

Apresentadora

Perfeito! Rafael, muito obrigada por compartilhar sua experiência e esse entusiasmo contagiante aqui no Allur. Foi um prazer, cara!

Convidado

O prazer foi meu, Juliana! Valeu pelo papo e bora testar esse código, galera!

Apresentadora

É isso aí! E para você que acompanhou a gente até aqui, as principais conclusões são claras: o Pest 5 não é só sobre testar, é sobre inteligência e velocidade. Se você quer saber mais, corre no site oficial do Pest ou confere os links que vou deixar aqui na descrição do episódio. Valeu por sintonizar o Allur, eu sou Juliana Santos e a gente se vê no próximo episódio. Tchau!

Tags

llms open-source php testing artificial intelligence pest tia engine