issue-taxonomy.md
85 lines · qa/references/issue-taxonomy.md at 3f79d81
Most marks come from matching words in the file, so treat them as pointers.
QA Issue Taxonomy
Raw lines 1 to 23## Severity Levels
5| Severity | Definition | Examples |
6|----------|------------|----------|
7| **critical** | Blocks a core workflow, causes data loss, or crashes the app | Form submit causes error page, checkout flow broken, data deleted without confirmation |
8| **high** | Major feature broken or unusable, no workaround | Search returns wrong results, file upload silently fails, auth redirect loop |
9| **medium** | Feature works but with noticeable problems, workaround exists | Slow page load (>5s), form validation missing but submit still works, layout broken on mobile only |
10| **low** | Minor cosmetic or polish issue | Typo in footer, 1px alignment issue, hover state inconsistent |
Severity Levels
| Severity | Definition | Examples |
|---|---|---|
| critical | Blocks a core workflow, causes data loss, or crashes the app | Form submit causes error page, checkout flow broken, data deleted without confirmation |
| high | Major feature broken or unusable, no workaround | Search returns wrong results, file upload silently fails, auth redirect loop |
| medium | Feature works but with noticeable problems, workaround exists | Slow page load (>5s), form validation missing but submit still works, layout broken on mobile only |
| low | Minor cosmetic or polish issue | Typo in footer, 1px alignment issue, hover state inconsistent |
Categories
Raw lines 12 to 1314### 1. Visual/UI
15- Layout breaks (overlapping elements, clipped text, horizontal scrollbar)
16- Broken or missing images
17- Incorrect z-index (elements appearing behind others)
18- Font/color inconsistencies
19- Animation glitches (jank, incomplete transitions)
20- Alignment issues (off-grid, uneven spacing)
21- Dark mode / theme issues
1. Visual/UI
- Layout breaks (overlapping elements, clipped text, horizontal scrollbar)
- Broken or missing images
- Incorrect z-index (elements appearing behind others)
- Font/color inconsistencies
- Animation glitches (jank, incomplete transitions)
- Alignment issues (off-grid, uneven spacing)
- Dark mode / theme issues
23### 2. Functional
24- Broken links (404, wrong destination)
25- Dead buttons (click does nothing)
26- Form validation (missing, wrong, bypassed)
27- Incorrect redirects
28- State not persisting (data lost on refresh, back button)
29- Race conditions (double-submit, stale data)
30- Search returning wrong or no results
2. Functional
- Broken links (404, wrong destination)
- Dead buttons (click does nothing)
- Form validation (missing, wrong, bypassed)
- Incorrect redirects
- State not persisting (data lost on refresh, back button)
- Race conditions (double-submit, stale data)
- Search returning wrong or no results
32### 3. UX
33- Confusing navigation (no breadcrumbs, dead ends)
34- Missing loading indicators (user doesn't know something is happening)
35- Slow interactions (>500ms with no feedback)
36- Unclear error messages ("Something went wrong" with no detail)
37- No confirmation before destructive actions
38- Inconsistent interaction patterns across pages
39- Dead ends (no way back, no next action)
3. UX
- Confusing navigation (no breadcrumbs, dead ends)
- Missing loading indicators (user doesn't know something is happening)
- Slow interactions (>500ms with no feedback)
- Unclear error messages ("Something went wrong" with no detail)
- No confirmation before destructive actions
- Inconsistent interaction patterns across pages
- Dead ends (no way back, no next action)
41### 4. Content
42- Typos and grammar errors
43- Outdated or incorrect text
44- Placeholder / lorem ipsum text left in
45- Truncated text (cut off without ellipsis or "more")
46- Wrong labels on buttons or form fields
47- Missing or unhelpful empty states
4. Content
- Typos and grammar errors
- Outdated or incorrect text
- Placeholder / lorem ipsum text left in
- Truncated text (cut off without ellipsis or "more")
- Wrong labels on buttons or form fields
- Missing or unhelpful empty states
49### 5. Performance
50- Slow page loads (>3 seconds)
51- Janky scrolling (dropped frames)
52- Layout shifts (content jumping after load)
53- Excessive network requests (>50 on a single page)
54- Large unoptimized images
55- Blocking JavaScript (page unresponsive during load)
5. Performance
- Slow page loads (>3 seconds)
- Janky scrolling (dropped frames)
- Layout shifts (content jumping after load)
- Excessive network requests (>50 on a single page)
- Large unoptimized images
- Blocking JavaScript (page unresponsive during load)
57### 6. Console/Errors
58- JavaScript exceptions (uncaught errors)
59- Failed network requests (4xx, 5xx)
60- Deprecation warnings (upcoming breakage)
61- CORS errors
62- Mixed content warnings (HTTP resources on HTTPS)
63- CSP violations
6. Console/Errors
- JavaScript exceptions (uncaught errors)
- Failed network requests (4xx, 5xx)
- Deprecation warnings (upcoming breakage)
- CORS errors
- Mixed content warnings (HTTP resources on HTTPS)
- CSP violations
65### 7. Accessibility
66- Missing alt text on images
67- Unlabeled form inputs
68- Keyboard navigation broken (can't tab to elements)
69- Focus traps (can't escape a modal or dropdown)
70- Missing or incorrect ARIA attributes
71- Insufficient color contrast
72- Content not reachable by screen reader
7. Accessibility
- Missing alt text on images
- Unlabeled form inputs
- Keyboard navigation broken (can't tab to elements)
- Focus traps (can't escape a modal or dropdown)
- Missing or incorrect ARIA attributes
- Insufficient color contrast
- Content not reachable by screen reader
74## Per-Page Exploration Checklist
76For each page visited during a QA session:
781. **Visual scan** — Take a screenshot (the Read-a-page script; `annotatedScreenshot(pg)` when you need ref labels). Look for layout issues, broken images, alignment.
792. **Interactive elements** — Click every button, link, and control. Does each do what it says?
803. **Forms** — Fill and submit (non-local target: consent first — browser rule 3). Test empty submission, invalid data, edge cases (long text, special characters).
814. **Navigation** — Check all paths in/out. Breadcrumbs, back button, deep links, mobile menu.
825. **States** — Check empty state, loading state, error state, full/overflow state.
836. **Console** — Print `CONSOLE_ERRORS=` after interactions. Any new JS errors or failed requests?
847. **Responsiveness** — If relevant, check mobile and tablet viewports.
858. **Auth boundaries** — Never sign the user out or switch accounts yourself. If the signed-out or other-role view matters, ask the user to sign out / switch in Aside and re-run the page scripts.
Per-Page Exploration Checklist
For each page visited during a QA session:
- Visual scan — Take a screenshot (the Read-a-page script;
annotatedScreenshot(pg)when you need ref labels). Look for layout issues, broken images, alignment. - Interactive elements — Click every button, link, and control. Does each do what it says?
- Forms — Fill and submit (non-local target: consent first — browser rule 3). Test empty submission, invalid data, edge cases (long text, special characters).
- Navigation — Check all paths in/out. Breadcrumbs, back button, deep links, mobile menu.
- States — Check empty state, loading state, error state, full/overflow state.
- Console — Print
CONSOLE_ERRORS=after interactions. Any new JS errors or failed requests? - Responsiveness — If relevant, check mobile and tablet viewports.
- Auth boundaries — Never sign the user out or switch accounts yourself. If the signed-out or other-role view matters, ask the user to sign out / switch in Aside and re-run the page scripts.
Involves a person ask the user :85