Skip to content

QA test suite — the case library ​

THE SPREADSHEET IS A BUILD OUTPUT. THIS LIBRARY IS THE SOURCE OF TRUTH.

Case DEFINITIONS live in tools/qa/cases-*.mjs and are owned by whoever changes the product. The workbook (documentation/portal/qa/qr-setu-qa-workbook.xlsx) is regenerated with npm run qa:workbook and every definition column is overwritten. Never edit a definition in the spreadsheet — edit the library and regenerate.

Execution columns (Assigned Tester onwards) are QA-owned and are never written by the generator.

WHY THIS IS NOT A CHAT MESSAGE

The previous suite was delivered in conversation. Fifty-two of its sixty-six cases were never transcribed anywhere, so a context reset destroyed them, and the owner-s own device findings had to be recovered from a screenshot in order to be analysed. A suite in a transcript cannot be re-run, diffed, assigned, or handed to a second tester.

Suite version: 26.0.1-QA-01 · Build under test: cb06ea1, built 2026-09-06 22:47, arm64-v8a · Backend: qr-setu-dev (dyhjofjjuazhyqcvlrkx)

125 cases. By priority: P0 52 · P1 46 · P2 23 · P3 4

By build state:

statecaseswhat a tester does
ready114Built and reachable. A failure is a real defect — file it.
blocked-not-built3Not in this build. Do not test, do not file.
blocked-not-deployed3Built but unreachable from a phone (apps/web undeployed). Do not file.
known-defect3Wrong on purpose this cycle. Record, do not re-file.
watch2Reported once, not reproduced. Capture evidence if it recurs.

⚠ The state column is what stops a tester filing a dozen defects against features that were never built. It is measured against the build, not assumed.

Coverage by feature ​

sheetcases
01 Startup and Splash4
02 Sign Up4
03 Sign In3
04 OTP6
05 Address and Slug6
06 App Lock10
07 Session5
08 Consumer Home8
09 Navigation5
10 Account and Empty States7
11 QR Makers5
12 BioData26
13 Public Page and Links5
14 Business5
15 Security and Authz5
16 Backend and API5
17 UI-UX Conformance6
18 Regression4
19 Device Layout6

Run these two first, every cycle ​

  • AND-004 proves the device is running the intended binary. If it is not, every other result this cycle is void.
  • API-005 (npm run check:ef-drift) proves the backend matches the repo. If it does not, a failure may be backend drift rather than an app defect.

What this suite deliberately does not cover ​

  • iOS. This cycle is Android only. Cross-platform parity is a release requirement, so iOS needs its own cycle before sign-off.
  • Features absent from this build: push, Meetings beyond its empty frame, photographs, people and access, the opening composer, themes, custom fields, the in-app preview, WhatsApp share, per-person share links, and https app links.
  • Visual fidelity beyond UX-001-006. No script can diff an artboard against React Native. npm run design:spec extracts the design side mechanically; the comparison stays human.