Skip to content
Programing

Pest 5 Release: Introducing the Tia Engine and AI-Driven Testing

Published: Duration: 5:26
0:00 0:00

Transcript

Host: Alex Chan (Solo Intro) Hey everyone, welcome back to Allur, your go-to spot for everything PHP, Laravel, and the wider world of dev. I’m your host, Alex Chan. Host: Alex Chan (Guest Intro) Joining me today is Marco Rossi. Marco is a lead developer at a major European Laravel agency and a long-time contributor to the PHP open-source community. He’s been beta-testing Pest 5 for the last few weeks, so he’s seen the "before and after" firsthand. Marco, welcome to Allur! Guest: Marco Rossi Thanks so much for having me, Alex! It’s great to be here. And yeah, "before and after" is a great way to put it. My local machine’s fans are definitely running a lot quieter since I switched to version 5. Host: Alex Chan (Laughs) That is the ultimate metric for a developer, isn’t it? The fan noise. So, let’s get right into the "big" thing everyone is talking about: the Tia Engine. The name sounds like something out of a sci-fi movie, but what is it actually doing under the hood? Guest: Marco Rossi It really does sound futuristic! So, Tia stands for "Test Intelligence Analysis." The core problem it solves is the one you just mentioned: the "full suite" fatigue. Traditionally, if you want to be safe, you run everything. Tia changes that. It’s an intelligent test runner that actually analyzes your code changes in real-time. Host: Alex Chan Wait, so it’s not just looking at the file name? It actually understands the relationship between the code and the tests? Guest: Marco Rossi Exactly. It’s way smarter than just a simple "git status" check. It’s analyzing the links. I actually had this "aha moment" last week. I was working on a legacy monolith—thousands of tests. Usually, a full run is my "go grab a coffee" break. With Tia, I hit enter, and it finished in like... four seconds. It ran six tests. I actually thought it crashed! I was like, "Wait, did it even work?" But then I realized, no—it just knew that those six were the only ones that mattered for that specific PR. Host: Alex Chan That is wild. I mean, thinking about the CI/CD implications alone... if you’re paying for GitHub Actions by the minute, that’s literally money back in your pocket. But does it feel... I don't know, risky? Do you ever worry it might *miss* a test that was secretly related? Guest: Marco Rossi That’s the big question, right? But the way it’s built—using things like static analysis and looking at the AST, the Abstract Syntax Tree—it’s very precise. And look, if you’re doing a final push to production, you’re still going to run your full suite in CI just to be 100% sure. But for local development? For that tight feedback loop where you’re coding, testing, coding, testing? It’s a game-changer. It keeps you in the zone. Host: Alex Chan I love that. "Keeping in the zone" is the dream. Now, shifting gears a bit... Pest 5 is leaning *hard* into AI. And I’ll be honest, I’ve seen some people on Twitter being a bit skeptical, like "Do we really need AI in our testing framework?" What’s your take on these new AI-first-party plugins? Guest: Marco Rossi I get the skepticism, I really do. We’ve all seen AI generate some pretty "hallucinated" code. But Pest 5 isn’t just slapping a chatbot on top. They’ve introduced first-party plugins for AI coding agents—think GitHub Copilot or Cursor. Host: Alex Chan Interesting. So it’s more like providing a better "map" for the AI to follow so it doesn't wander off into the woods. Guest: Marco Rossi Oh, Alex, you hit the nail on the head. Testing non-deterministic stuff—like LLM outputs—is the new "hard problem" in web dev. If you assert that the string equals exactly "Hello World," and the AI says "Hi World," your test fails, even though the result was actually fine. Host: Alex Chan Oh! So it's almost like a specialized assertion for the "vibe" or the structure of the data rather than just the literal string? Guest: Marco Rossi Exactly! You can even create custom Evals. I saw a conceptual example where you pass the output back to a "judge" LLM to see if it meets quality criteria. It brings a lot of rigor to a part of development that, honestly, has been a bit "wild west" for the last year. It’s about bringing that classic Pest "developer happiness" to the world of AI. Host: Alex Chan Actually, that makes so much sense. We’re all being asked to add AI features to our apps, but we’re all kind of terrified that the AI will say something weird in production. Having a way to "score" those outputs within our existing test suite... that feels like a massive safety net. Guest: Marco Rossi It really is. And the beauty of it is that it’s all in the same syntax we already love. You don’t have to learn a new "AI testing library." It’s just `expect($output)->toPassEval(...)`. It feels like Pest. Host: Alex Chan So, looking at the big picture—Tia for speed and Evals for AI—it feels like Pest is trying to move from being "just a testing tool" to being a "workflow engine." If someone is still on Pest 4 or—heaven forbid—standard PHPUnit, what’s your best "elevator pitch" for them to make the jump today? Guest: Marco Rossi I’d say: do you want to spend your afternoon waiting for progress bars, or do you want to spend it building features? Pest 5 with the Tia engine literally gives you time back. And if you’re even *thinking* about integrating an LLM into your app this year, you’re going to need Evals. It’s not just a version bump; it’s basically upgrading your developer brain. Host: Alex Chan (Laughs) I love that. "Upgrading your developer brain." I think I’m sold—I’m definitely updating my personal projects tonight. Marco, this has been so eye-opening. Before we go, where can people find you or see some of the stuff you're working on with Pest? Guest: Marco Rossi You can find me on X—or Twitter, whatever we're calling it—at @mrossi_dev, and I’ll be posting some snippets of my Tia configurations there. And of course, everyone should go to pestphp.com. The docs for version 5 are, as always, beautiful. Host: Alex Chan (Wrap-up) They really are. The Pest team knows how to do documentation right.

Tags

llms php testing performance artificial intelligence pest tia engine