FlowProof logoFlowProofPre-production UI QA for fragile flows.
Back to runs

Sample account settings QA run

Change the account email to test@example.com and reach the confirmation screen.

Sample flow

https://persona-probe-6f7d.vercel.app/demo-app/account-settings

Test cases

6

Pass rate

33%

Persona fail rate

67%

Avg duration

9.5s

Persona results

Each result shows where the flow stopped and why that persona struggled.

Mobile-First User

FAILUI AMBIGUITY

Uses a 390x844 viewport and only obvious visible touch targets.

11.8s

Where

Mobile viewport: the primary save or submit action was not visible enough to complete.

Why

On a 390x844 viewport, the persona found the visible field but the save/update action was not an obvious touch target, so the account email change never reached confirmation.

Evidence

Final location: /demo-app/account-settings; expected "Email updated successfully".

Adversarial User

FAILPERSONA FAILURE

Enters weird inputs, tries invalid values, navigates back, changes choices mid-flow.

10.0s

Where

Email form: competing account and billing fields made the correct target ambiguous.

Why

After invalid input and back-navigation probing, the flow did not provide a clear recovery path back to a successful account email update.

Evidence

Final location: blank; expected "Email updated successfully".

Privacy-Sensitive User

PASSn/a

Refuses newsletter, tracking, permissions, and unnecessary personal data.

9.1s

Flow completed and the configured success criteria were observed.

Impatient User

FAILPERSONA FAILURE

Max 5 steps, no retries, clicks the first plausible control, gives up quickly.

8.8s

Where

First-plausible path on /demo-app/account-settings: the persona saved after choosing the first reasonable-looking email field.

Why

The persona clicked the first plausible email field and save control, then stopped without inspecting alternatives or retrying after the vague result.

Evidence

Final location: /demo-app/account-settings; expected "Email updated successfully".

ESL User

FAILPERSONA FAILURE

Prefers simple labels and may confuse billing email with account email.

8.1s

Where

Email form: competing account and billing fields made the correct target ambiguous.

Why

The Account email and Billing email labels were similar enough that this persona chose the wrong email field and never saw the required account-update confirmation.

Evidence

Final location: /demo-app/account-settings; expected "Email updated successfully".

Power User

PASSn/a

Uses search, shortcuts, and completes efficiently.

9.2s

Flow completed and the configured success criteria were observed.

Fix Attempts

No fix attempts yet.

Action traces

Raw logs

Mobile-First User
[
  "{\n  \"type\": \"demo_safe_policy\",\n  \"persona\": \"mobile-first\",\n  \"policy\": \"Policy: viewport=390x844. Use only obvious visible touch targets. Do not hunt below the fold unless there is a visible cue.\",\n  \"selfHealed\": false\n}"
]
Adversarial User
[
  "{\n  \"type\": \"demo_safe_policy\",\n  \"persona\": \"adversarial\",\n  \"policy\": \"Policy: try one invalid input first, use back navigation once, and change choices midway before attempting completion.\",\n  \"selfHealed\": false\n}"
]
Privacy-Sensitive User
[
  "{\n  \"type\": \"demo_safe_policy\",\n  \"persona\": \"privacy-sensitive\",\n  \"policy\": \"Policy: refuse newsletters, tracking, optional permissions, and unnecessary personal data. Only provide the required account email.\",\n  \"selfHealed\": false\n}"
]
Impatient User
[
  "{\n  \"type\": \"demo_safe_policy\",\n  \"persona\": \"impatient\",\n  \"policy\": \"Policy: maxSteps=5; maxRetries=0. Click the first plausible button or field. Do not inspect alternatives deeply. Give up quickly when a flow is unclear.\",\n  \"selfHealed\": false\n}"
]
ESL User
[
  "{\n  \"type\": \"demo_safe_policy\",\n  \"persona\": \"esl\",\n  \"policy\": \"Policy: prefer simple obvious labels. Dense helper text is easy to miss. You may confuse Billing email and Account email when both appear.\",\n  \"selfHealed\": false\n}"
]
Power User
[
  "{\n  \"type\": \"demo_safe_policy\",\n  \"persona\": \"power-user\",\n  \"policy\": \"Policy: use search, keyboard shortcuts, and direct field targeting. Complete efficiently with the fewest useful actions.\",\n  \"selfHealed\": false\n}"
]