Softsurance/Platform

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 path

What you actually do.

This is the complete path in the first release, for browser tests. Other modules plug into the same loop.

  1. Connect your application

    Name, base URL, environment and the domains in scope — plus your confirmation that you’re authorised to test it.

  2. Discover pages and journeys

    A browser reads the application within limits and records pages, forms, controls, errors and failed requests.

  3. Review the proposed plan

    Proposed tests arrive in a validated format. Edit, approve, reject or exclude each one.

  4. Run against your application

    Approved tests execute in an isolated worker and store assertions, screenshots and logs.

  5. Schedule continuous testing

    Every 15 minutes to weekly, timezone-aware, with overlap protection and recorded skips.

  6. Investigate failures with evidence

    Open a failure to see what happened, and — with a provider configured — a structured investigation.

  7. Track regressions over time

    Execution history shows when a test started failing and whether it has recovered.

02 / Architecture

Separate by design5 services

Untrusted work runs somewhere else.

The web app never runs a test. Customer-targeted work happens in isolated workers with their own limits.

Web

Application

Accounts, organisations, approvals, results. Enforces authorisation on every request.

Queue

Task broker

Durable jobs with bounded retries and backoff. Failed tasks stay visible.

Scheduler

Clock

Reads schedules from the database. Idempotent, with duplicate-run protection.

Worker

Executor

Playwright in an isolated environment with CPU, memory, time and egress limits.

Storage

Evidence

Screenshots and logs with size limits, retention and per-organisation access.

03 / Statuses

Nine states, used consistentlyNever ambiguous

A pass means it ran.

Every execution ends in exactly one state. A test that didn’t execute is never reported as passed.

StatusMeaning
PENDINGCreated, not yet queued.
QUEUEDWaiting for a worker.
RUNNINGExecuting now. A crashed worker can’t leave it here permanently.
PASSEDExecuted, and every assertion held.
FAILEDThe application loaded, but an assertion didn’t hold.
ERROROur infrastructure failed — a crashed browser or unavailable service.
CANCELLEDStopped by a person or a policy.
BLOCKEDA credential or prerequisite is missing.
INCONCLUSIVEThe evidence doesn’t support a reliable conclusion.

Start

Your first runStaging URL required

Add a staging URL. Read your first real result today.