One loop, from URL to evidence.
Softsurance connects to an application you’re authorised to test, finds what matters, proposes tests, runs the ones you approve, and keeps running them — with every result backed by what was actually observed.
01 / Workflow
Seven stepsRelease 1 pathWhat you actually do.
This is the complete path in the first release, for browser tests. Other modules plug into the same loop.
Connect your application
Name, base URL, environment and the domains in scope — plus your confirmation that you’re authorised to test it.
Discover pages and journeys
A browser reads the application within limits and records pages, forms, controls, errors and failed requests.
Review the proposed plan
Proposed tests arrive in a validated format. Edit, approve, reject or exclude each one.
Run against your application
Approved tests execute in an isolated worker and store assertions, screenshots and logs.
Schedule continuous testing
Every 15 minutes to weekly, timezone-aware, with overlap protection and recorded skips.
Investigate failures with evidence
Open a failure to see what happened, and — with a provider configured — a structured investigation.
Track regressions over time
Execution history shows when a test started failing and whether it has recovered.
02 / Architecture
Separate by design5 servicesUntrusted work runs somewhere else.
The web app never runs a test. Customer-targeted work happens in isolated workers with their own limits.
Application
Accounts, organisations, approvals, results. Enforces authorisation on every request.
Task broker
Durable jobs with bounded retries and backoff. Failed tasks stay visible.
Clock
Reads schedules from the database. Idempotent, with duplicate-run protection.
Executor
Playwright in an isolated environment with CPU, memory, time and egress limits.
Evidence
Screenshots and logs with size limits, retention and per-organisation access.
03 / Statuses
Nine states, used consistentlyNever ambiguousA pass means it ran.
Every execution ends in exactly one state. A test that didn’t execute is never reported as passed.
| Status | Meaning |
|---|---|
| PENDING | Created, not yet queued. |
| QUEUED | Waiting for a worker. |
| RUNNING | Executing now. A crashed worker can’t leave it here permanently. |
| PASSED | Executed, and every assertion held. |
| FAILED | The application loaded, but an assertion didn’t hold. |
| ERROR | Our infrastructure failed — a crashed browser or unavailable service. |
| CANCELLED | Stopped by a person or a policy. |
| BLOCKED | A credential or prerequisite is missing. |
| INCONCLUSIVE | The evidence doesn’t support a reliable conclusion. |
04 / Products
Modules5Frontend testing
Real browsers, real pages, recorded evidence.
Release 102API testing
OpenAPI import, status and schema assertions.
Preview03Database testing
Read-only schema and integrity checks.
Roadmap04End-to-end workflows
Structured journeys with approval gates.
Roadmap05AI investigation
Evidence-grounded failure reports.
Preview