Quick answer: Watch for bugs and crashes regularly reaching players, regressions shipping in updates, the same kinds of issues recurring, and field crashes you should have caught. QA fails when it misses what players actually hit.
A failing QA process lets bugs reach players that it should have caught, costing you reviews, retention, and trust. Here are the signs your QA process is failing.
Bugs and Crashes Regularly Reaching Players
The direct sign is bugs and crashes regularly reaching players, especially ones you could have caught with better testing. Some bugs always slip through (you can't test everything), but if significant, catchable bugs are routinely reaching the field, your QA isn't catching enough before release, a failing process.
Bugnet captures the crashes and bugs reaching players, so you can see what QA missed. Bugs and crashes regularly reaching players are the direct sign QA is failing, and capturing what reaches the field shows you exactly what QA missed, which both reveals the failure and tells you where to improve (the conditions and areas QA isn't covering).
Regressions Shipping in Updates
A sign is regressions shipping, updates breaking things that worked before. If your updates regularly introduce regressions (the new build worse than the last, features breaking), your QA isn't catching regressions before release, a failure of the regression-testing part of QA specifically.
Bugnet tracks crashes per version, so regressions shipping in updates are identifiable. Regressions shipping in updates are a sign QA is failing to catch regressions specifically, and per-version tracking exposes them (the new build performing worse), pointing at the need for a regression pass before shipping that covers core flows, not just the changed area.
Field Crashes You Should Have Caught
A telling sign is field crashes that you should have caught in testing, crashes on common conditions, in core flows, or in obvious cases that a good QA process would have found. If the crashes reaching players are ones testing should have caught (not just obscure edge cases), your QA process has gaps.
Bugnet captures crashes with context, so you can judge whether QA should have caught them. Field crashes you should have caught are a sign of QA gaps, and the captured context (what conditions, what device, what flow) shows you what QA isn't covering, the common conditions, core flows, or real devices, so you can close the specific gaps.
Watch for bugs and crashes regularly reaching players, regressions shipping in updates, the same kinds of issues recurring, and field crashes you should have caught. QA fails when it misses what players actually hit.