QA Engineer interview question
How do you maintain a regression suite?
Keep tests that protect current high-risk behavior, remove duplicates and obsolete cases, assign ownership, classify failures, track runtime and flakiness, review after incidents and features, and balance each case at the cheapest reliable layer.
Direct answer
What a strong answer covers
How it works
A regression suite earns its runtime by catching real breakage in behaviour that matters now. Maintenance means pruning: tests for retired features, duplicates that assert the same thing through different paths, and tests that never fail are removed or merged. Each test has an owner, so a failure has someone to look at it. Failures are classified as product defect, test defect, or infrastructure, and the rates are tracked; flaky tests are quarantined with a deadline to fix or delete. Runtime is measured and split into a fast pull-request subset and a fuller nightly run. After every incident and feature, the suite is reviewed to add what would have caught the problem at the cheapest layer.
Example
A quarterly review of a 2,400-test suite found 300 tests for a deprecated export format, 180 near-duplicates of API validation cases, and 40 tests that had not failed in two years and asserted nothing meaningful; removing them cut runtime by 20 minutes. Twelve flaky UI tests were quarantined and rewritten as API tests. After an incident where a currency rounding bug escaped, a unit test for the rounding function was added rather than another browser test.
Common mistakes
- Treating test count as a quality metric and never deleting anything.
- Leaving flaky tests in the main run until everyone ignores red builds.
- Adding a slow end-to-end test for every escaped defect regardless of layer.
A useful answer structure
Answer from your own work.
Do not memorise a script: use only examples you can explain honestly in follow-up questions.
Open the desktop workspace and rehearse a clear answer in your own words.