01
Add the application build
Upload an iOS .ipa or Android .apk / .aab build and select the virtual device context for the run.
02
Connect test intent
Import existing test cases from TestRail or Qase, paste plain text or Markdown, upload CSV, or connect through the REST API.
Log in with a valid user. Open account settings. Update the notification preference. Confirm the saved state persists after relaunch.
03
Interpret and plan
The agent reads the test as an expected user outcome, identifies the relevant controls and checkpoints, and prepares the execution path.
Plan
A concise path for the expected outcome.
Selected actions
The controls the agent will drive.
Verification
The checkpoints that confirm success.
04
Execute in parallel with controlled device and network context
FlashTest distributes independent cases across 5, 20, or 100+ AI agents on virtual iOS and Android devices, while applying approved network conditions for each scenario.
- Virtual device
- App build
- Test step
- Network condition
- Verification
When the backend is not ready
FlashTest can return synthetic responses and inject failures or latency so a workflow can be validated before every backend dependency is complete.
- Synthetic responses
- Failure injection
- Latency injection
05
Review result and evidence
The run returns status, timing, video, screenshots, step logs, network logs, concise reasoning, and a failure explanation when the expected outcome is not reached.
One complete example
Follow one test from intent to evidence.
A single account-settings flow, shown the way FlashTest processes it. This mirrors the kind of run in the product demo.
Test case
Log in with a valid user. Open account settings. Update the notification preference.
Expected result
The updated preference persists after the app relaunches.
- 1Launch app on the selected virtual device
- 2Authenticate with the provided test user
- 3Navigate to account settings
- 4Toggle the notification preference
- 5Relaunch and verify the saved state
Result
FlashTest returns a pass/fail status for the flow, and a failure explanation when the expected outcome is not reached.
Evidence attached
- Status
- Timing
- Video
- Screenshots
- Step logs
- Network logs
Failure review
When a test fails, the context stays attached.
FlashTest keeps the failure and its surrounding context in the run so a reviewer can understand what happened without reproducing it manually.
Failed step
The step where the expected outcome was not reached.
Captured UI state
The screen state at the moment of failure.
Stack / network detail
Included when present for the run.
Device / build context
The virtual device and build under test.
Run timing
When the run executed and how long it took.

Integration boundaries
FlashTest adds execution without replacing your source of truth.
Your test management
- Test management stays in TestRail or Qase if your team chooses.
- FlashTest consumes or syncs the test intent from those sources.
FlashTest
- FlashTest owns execution and the evidence each run produces.
- Result write-back to your test-management tool is discussed per workflow during a pilot.
For the full capability breakdown, see the product overview.