Self-healing tests
When a test breaks, Validate.QA tells drift from a real bug, repairs the drift automatically, and flags genuine regressions instead of hiding them.
The reason most generated test suites get abandoned is maintenance: a redesign renames a button and half the suite goes red. Self-healing is how Validate.QA keeps a suite alive without a human babysitting every selector.
Drift vs. a real bug
When a test fails, the first question is never "how do I make this green again" — it's "is this the test's fault or the app's?" Validate.QA reads the failure, the screenshot, and the captured network traffic to classify it: test drift (a selector moved), an environment issue (rate limit, quota, lost auth), or a genuine app regression. Each gets handled differently.
How a repair works
Script-level fix first — Validate.QA attempts to repair the test code directly — re-locating the moved element and rewriting the broken step — then re-runs it to confirm the fix actually passes.
Browser-level repair when needed — If a code-only fix isn't enough, it explores the failing page live in a real browser to rediscover the correct path, then writes the fix back into the test.
Flag, don't hide — If the failure turns out to be a real app bug, the test is quarantined and flagged as a found bug — so a regression is surfaced, never papered over with a 'fix' that hides it.
Getting back to green
A quarantined test isn't dead. A test quarantined for an app bug stays quarantined until you re-enable it after the bug is fixed, so a lucky green run never closes a real bug. Tests quarantined for other reasons go back to active automatically after two passes in a row. Environment issues like rate limits are tagged and skipped rather than quarantined, and the tag clears itself on the next clean pass.
Open Self-healing tests · Get Started Free