Skip to content
RecipesDoc

Keep the Suite Healthy, Quarantine Flaky Tests, Review and Retire Old Ones

Certyn finds flaky, out-of-date and replaced test cases, and quarantines, fixes or retires each one with a note, so suite results tell the truth.

For QA leads whose suite has tests that fail for no product reason, or that no longer match the app.

Your setup

  • Certyn test cases that run in suites, on a schedule or after deploys.
  • Some tests pass and fail with no change. Some are marked Needs Review. Some test features that were removed or rebuilt.
  • You want only tests that tell the truth in your suite runs.

Say this to Certyn

Clean up our suite: quarantine the flaky tests, go through the Needs Review ones, and retire tests for features we removed.

What Certyn does

  1. Finds the problem tests (app.query on test cases and runs): tests that both passed and failed on the same version lately, tests marked Needs Review, tests whose last result failed, tests not run for a long time.
  2. Flaky: quarantines the test with the reason (app.testcase.update, state quarantined, with a note). Quarantined tests are skipped in suite and CI runs. You can still run one on its own.
  3. Needs Review: checks each test's steps against the app on the chat's Machine. Still right: sets it active. Out of date: rewrites the steps and notes what changed. Not sure: leaves it in review and tells you why.
  4. Removed feature: marks the test obsolete. Rebuilt feature: marks the old test obsolete and points to the new one with replaced_by.
  5. Lists every change with its reason, and the tests that need you.

What you get

  • Suite runs with only reviewed, valid, stable tests.
  • A note on each changed test, so the team sees why.
  • What to fix next, for example a flaky test whose cause is in its steps.

Limits

  • Certyn also quarantines a test by itself when it flips between pass and fail in at least 20% of its last 20 results (after 5 or more results), and sets it active again after 5 passes in a row.
  • A quarantined test stays out of suites until someone sets it active. Run it alone a few times first (app.run.create type test_case), then ask Certyn to set it active.
  • Needs Review tests also skip suite runs. Approve them on the Tests page (one or all), or tell Certyn.
  • Certyn marks a test Needs Review when it cannot tell if the steps still match the app. It does not guess.
  • Obsolete tests are hidden from lists unless you ask, and do not count in coverage. Deleting a test asks for your approval; prefer obsolete to keep its history.