Independent software quality engineeringEmail us

Capabilities

Testing, automation and QA agents

What we write it in, how we work out which of them your problem actually needs, and what each one cannot do.

Three disciplines. Most engagements use all three, in a proportion that depends on what is actually at risk in your software — which is the part worth paying for, and the part a vendor selling one of these exclusively cannot get right.

Each section below ends with what that discipline cannot do. A testing partner who has never told you the limits of their own method has not finished thinking about it.

Manual and exploratory testing

  • Exploratory charters
  • Risk-based session testing
  • Accessibility review

Automation checks that the things you thought of still work. It cannot notice the thing nobody thought of, and after AI-assisted development there is more of that than there used to be. Manual work here is structured and time-boxed, not a person clicking through a spreadsheet of steps.

Charter-based exploratory sessions

Time-boxed sessions against a written charter and a risk area, with notes and reproducible findings — not unscripted clicking. You get the session log, so you can see what was covered and what was not.

Workflow and state coverage

The paths a real user takes across features, including the partial, interrupted and resumed ones that unit and component tests never exercise.

Accessibility review by hand

Keyboard-only traversal, screen reader passes, and focus and reflow behaviour. Automated tooling reliably detects a minority of WCAG success criteria; the US Department of Justice has said on the record that automated remediation tools lack sufficient reliability for complex content.

Exit criteria you can act on

Findings ranked by risk and effort, with reproduction steps, so the output is a decision rather than a list.

On automated tooling being insufficient: US Department of Justice, ADA Title II web rule · 20 Apr 2026 · VERIFIED

What this cannot doManual testing does not scale as regression coverage and we will not sell it as though it does. If your problem is that the same 400 checks have to pass on every release, that is an automation problem and we will say so.

Test automation

  • Playwright
  • Selenium WebDriver
  • TypeScript
  • Java
  • Python
  • CI pipelines

Most teams do not need more automated tests. They need the ones they have to be fast, stable and trusted, because a suite nobody believes is worse than no suite — it trains a team to click merge on a red build. We build suites and, more often, we rescue them.

Playwright

Our default for new browser and API suites: parallel execution, auto-waiting that removes a whole category of flake, tracing that makes a failure diagnosable from CI alone, and cross-browser coverage without a grid to maintain.

Selenium WebDriver

Where the estate is already there, the grid is established, or the language and browser matrix requires it. A working Selenium suite is not a problem to be migrated — rewriting one that works is usually somebody billing you for their preference.

Flake control and runtime

Quarantine, retry policy that does not hide real failures, and the specific work of getting a suite from an hour to something that can gate a merge. Flake is a trust problem before it is a technical one.

Layering and CI integration

Tiered suites wired into the pipeline so the right set runs at the right gate: fast checks on every commit, the full run before release. Includes API and contract level, because pushing everything through the browser is why suites get slow.

What this cannot doWe will not quote a suite for a codebase we have not assessed, and we will not promise a coverage percentage. Coverage as a single number is a poor metric and committing to one produces tests written to move it.

GenAI for QA — agents built and deployed

  • Agent design
  • Tool and API integration
  • Evaluation harnesses
  • CI deployment

We build our own GenAI tooling for QA and we deploy it for clients. Agents are genuinely good at the wide, repetitive, judgement-light parts of testing: reading a diff and proposing where coverage is missing, generating and maintaining test data, triaging a failure queue, drafting reproduction steps. Used there, an agent widens the search enormously.

Agents scoped to a real task

A coverage-gap agent, a failure-triage agent, a test-data agent — each with a defined job, defined inputs, and a defined handoff to a person. Not a general-purpose assistant bolted onto your pipeline.

Deployed into your pipeline, not a demo

Wired into CI with your source control, defect tracker and test runner, with the access boundaries written down. Deployed to your infrastructure — we do not require that your code leave it.

An evaluation harness, always

Every agent ships with a measurement of how often it is right, on your data, and where it fails. An unevaluated agent is a confident guess at scale, and Gartner expects over 40% of agentic AI projects to be cancelled by the end of 2027 on exactly that basis.

Handover, not dependency

You get the prompts, the harness, the deployment and the documentation. If you want to run it without us afterwards, that is the intended outcome.

40%+

of agentic AI projects are expected to be cancelled by the end of 2027 — on escalating cost, unclear value and inadequate risk controls.

What this cannot doWe do not let an agent sign off on a release, and neither should you. Agent output is an input to a human decision — every finding that reaches your report is verified by one of our engineers first. That is the line the whole practice is built on, and building agents is what makes us confident about where to draw it.

How this gets bought

Most of this work arrives inside one of the three engagements on the home page — the diagnostic finds what is wrong, the quality gate build fixes it, the retainer keeps it fixed. That is the path we recommend, because it puts a measurement before the spend.

If you already know what you need — a suite rescued, an agent built and deployed, an exploratory pass before a release you are nervous about — say so in your first email and we will scope it directly. Fixed price, quoted before any work starts.

What we will not sell you is testers by the hour. That is staff augmentation, it competes on rate with suppliers we cannot and should not undercut, and it produces no outcome either of us can point at afterwards. If that is genuinely what you need, we will tell you so in the first reply and you will have lost five minutes.

Tell us what is breaking.

Tell us what you are testing, what keeps breaking, and what you have already tried. If we cannot help, we will say so.

Email us