QA & Delivery Standards
What done actually means — self-testing checklist, definition of done per role, required test cases, RLS testing matrix, QA handoff checklist.
Core rule:
A task is not done because it is built — it is done because it is tested, working, and documented.
Contents
| # | Section |
|---|---|
| 1 | Self-Testing Before Handoff |
| 2 | Backend API — Definition of Done |
| 3 | Backend Test Cases Required |
| 4 | RLS Testing Matrix |
| 5 | Frontend Task — Definition of Done |
| 6 | Website — Definition of Done |
| 7 | Website Visual QA |
| 8 | Task Completion Comment |
| 9 | QA Handoff Checklist |
| 10 | Definition of Done Summary |
1. Self-Testing — Before Handing Off
Every developer must test their own work. QA should not catch issues that the developer could have found with a basic check.
Universal Self-Test Checklist
2. Backend API — Definition of Done
An API is complete only when all of these are checked:
3. Backend API — Test Cases Required
Every API must be tested for all these cases:
| Test Case | Required |
|---|---|
| Authenticated success | Yes |
| Anonymous request | Yes |
| Expired token | Yes |
| Wrong role | Yes |
| Wrong workspace | Yes |
| Missing required field | Yes |
| Invalid field type | Yes |
| Duplicate record | Yes |
| Related record missing | Yes |
| Database constraint failure | Yes |
| RLS denial | Yes |
| External service failure | If applicable |
| Retry/idempotency | If applicable |
4. RLS Testing Matrix
For every table, test all combinations:
| User Type | SELECT | INSERT | UPDATE | DELETE |
|---|---|---|---|---|
| Anonymous | No | No | No | No |
| Owner | Yes | Yes | Yes | Yes |
| Admin | Yes | Yes | Yes | Depends |
| Manager | Yes | Yes | Yes | No |
| Member | Yes | Depends | Depends | No |
| Viewer | Yes | No | No | No |
| Non-member | No | No | No | No |
5. Frontend Task — Definition of Done
A frontend task is complete only when:
6. Website — Definition of Done
A website build or replica is complete only when:
7. Website Visual QA
Visual Comparison
Functional QA
SEO QA
Performance QA
8. Task Completion Comment Standard
Before marking any task done, add a final comment to the ticket.
Template
Status: Completed
Work Done:
- [What was built or fixed]
- [What was updated]
Testing Done:
- [What success flows were tested]
- [What error/edge cases were tested]
- [Mobile checked: Yes/No]
Notes:
- [Any known issues or follow-up items, or "None"]
Example
Status: Completed
Work Done:
- Built shared Add/Edit Project form.
- Added required field validation.
- Added loading, success, and error states.
- Matched design system spacing and button styles.
Testing Done:
- Tested create success flow.
- Tested edit success flow.
- Tested required field validation.
- Tested API failure handling.
- Checked mobile layout.
Notes:
- No known blockers.
9. QA Handoff Checklist (From Developer to QA)
Before handing off to QA, confirm:
10. Definition of Done — Summary
| Role | Done When |
|---|---|
| Backend Developer | Schema + RLS + Validation + Error handling + Logs + Tests + Documentation all complete |
| Frontend Developer | Main flow + Validation + Loading + Error UI + Mobile + Self-tested + Ticket updated |
| Website Builder | All pages + Forms + SEO + Redirects + Analytics + Mobile + Client approved staging |
| Any Team Member | Requirement met + Self-tested + Ticket updated with evidence + No silent failures |