Synthetic user
A synthetic user is an AI agent standing in for a human user: exercising flows, testing changes, or generating load by operating the product's real interface. Their sessions record exactly like human ones, and the comparison between synthetic and human behavioral distributions is itself an evaluation instrument.
How it works
Synthetic users extend automation past scripted tests: where a test executes fixed steps, a synthetic user pursues a goal ("sign up and invite a teammate") and improvises the path, which surfaces the breakage scripts step around. Recording them at the DOM level serves three purposes. Debugging, since a failed synthetic run is diagnosed like any agent run, from what the interface actually showed. Coverage analysis, since recorded synthetic sessions show which states and paths the fleet actually reached. And realism measurement, since if synthetic users are meant to predict human behavior, the distributions of their recorded sessions (paths, timings, frustration signals) should resemble human ones, and the divergence is measurable because both populations share one recording format.
Where you encounter it
AI-driven QA products, pre-release testing of flows, and load or chaos testing with behavioral realism requirements.