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

Transcript

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