They all claim to "simulate real calls." The difference that mattered was whether the simulation could reproduce the failure I actually saw in production.
TL;DR: Over a few months I tried five tools for testing a production voice agent before shipping changes. They sort into two camps: voice-testing specialists (Hamming, Coval, Cekura) and broader platforms that added voice simulation (Future AGI, plus Vapi's built-in testing if you build there). The deciding question was not the feature list, it was whether I could take a real failed call and replay it as a regression test. Here is the rundown as of June 2026.
Why "simulate a call" is not one feature
Every tool says it simulates calls, but that covers a wide range: a scripted turn-by-turn script, a synthetic persona holding a free-form conversation, or replaying a real transcript. And voice adds failure modes a text agent never has: barge-in, end-of-turn detection, ASR errors, latency under load. A tool that simulates text dialogue well can miss every one of those, which is why "it has simulation" tells you almost nothing on its own.
The five, and what each actually does
Hamming: the scale and breadth pick. Auto-generated test cases, simulation of 1000+ concurrent calls, 50+ built-in metrics, and CI/CD integration. If you need load testing and a wide metric set out of the box, this was the most complete of the five.
Coval: the simulation-first pick. It treats voice QA the way self-driving teams treat simulation, you define scenarios and it runs many variations of each. Fits cleanly into CI if you already think in scenarios.
Cekura: the least-setup pick. It reads your agent config and auto-generates test scenarios and edge cases, so you are not hand-writing a suite from zero. The right call when you are early and have no tests yet.
Future AGI Simulation: the platform pick. You define synthetic personas with a simulation type, voice or text, and run them through your agent before prod. The draw is that it sits in the same place as the eval and observability, so a simulated failure and a real prod trace live together instead of in two tools; their eval SDK is Apache-2.0 on github.com/future-agi, and voice simulation is part of the platform as of June 2026. The synthetic-data generation behind the personas is on their paid tier.
Vapi: the build-here pick. If you already build your agent on Vapi, its test and simulation tooling is right there with no second integration. Much less compelling if you do not.
The broader landscape has more (Bluejay, Cyara, Roark, others), but these five are the ones I actually ran. I am not crowning one: for raw scale and metrics it was Hamming, for scenario-style CI it was Coval, for zero-setup it was Cekura. They genuinely serve different shapes of team.
The question that decided it
Can I take a real failed call and turn it into a permanent regression test? Most of these generate NEW synthetic calls, which is great for coverage but does nothing about the specific bug that just bit you. The tools that let me import a real transcript or trace and replay it as a fixed case are the ones that actually stopped repeat incidents. That capability, not the metric count, is what I would evaluate on first.
What shipped, and what I would tell past me
We kept two of the five running: one for raw scale, one for scenario-style CI. If voice is your whole product, a specialist goes deeper on voice-specific failure modes. If voice is one surface among several, a platform that also does eval and observability keeps it in one place. Manual QA did not go away, because simulation catches regressions and not taste, and whether it sounds natural and whether the persona is right are still human calls.
What I would tell past me is to check barge-in and end-of-turn timing explicitly before picking anything. Not all of these model interruption or turn boundaries, and that is exactly where a voice agent feels broken to the person on the phone.
The thing I still have not solved: every one of these generates or replays calls, and none of them told me which new failure modes I had not thought to test for. Coverage is bounded by my own imagination of how the agent breaks. If you have a tool that surfaces the unknown-unknowns in a voice agent, rather than testing the ones you already named, that is the one I want to hear about.
Top comments (1)
for the unknown-unknowns, I'd mine production outliers instead of trying to invent more scenarios: cluster calls by latency, interruption and ASR/error patterns, then manually inspect the weird clusters. Those become the next regression cases.