When to use it
- You ship often enough that re-verifying every flow by hand before each release is not realistic.
- A change in one area can break something far from the edit: a shared component, an API contract, a dependency bump.
- You already spend engineer time on manual regression passes, or you learn about regressions from users instead of CI.
What to cover first
Prioritize by blast radius, not by what is easiest to automate. You do not need full coverage on day one to get value.- Revenue and retention paths first: sign-up, checkout, the primary action your product exists to do.
- Flows that have regressed before.
- Flows that exercise shared code many features depend on.
How it works
- Author tests once as natural-language steps. See the web, iOS, and Android quickstarts.
- Auto-heal repairs a test mid-run when the UI changed, so routine UI edits do not turn into failing builds to triage.
- Reuse shared setup (login, seeding) with modules so one change updates every test that depends on it.
Run it in CI
Run the tests on every change
Add Momentic to your pipeline so the test suite runs on each commit or pull
request. See GitHub Actions, GitLab
CI, or custom
setups for other providers.
Triage failures
When a run fails, read the trace and screenshots in
results. Isolate unstable tests with
quarantine so one flaky test does not block the
rest.
Keeping the test suite healthy
A regression test suite earns its place only if the team trusts a failure. Budget for upkeep, not just authoring:- Quarantine flaky tests instead of disabling them. Quarantined tests still run but do not fail the build, so you keep the signal while you fix the test, then promote it back out of quarantine.
- Keep runs fast as the test suite grows by sharding across CI machines with
--shard-countand--shard-indexrather than dropping coverage. - Give flows clear ownership so a failure is triaged by someone with context, while the change that caused it is still fresh.
Notes
- A failed run exits non-zero so CI blocks the merge. Quarantined tests are the exception and do not affect the exit code by default.
Related
Explore agent
Find journeys a diff changed and author tests for the gaps.
Auto-healing
Repair tests automatically when the UI changes.
Run in CI/CD
Run the tests on every commit and pull request.
Quarantine
Isolate unstable tests without blocking the rest of the test suite.