# Test strategy ## Test layers - **Domain unit tests:** progress, dashboard summaries and chronological ordering. - **Storage unit tests:** valid round-trip, corrupt JSON recovery, unsupported schema and orphaned-task rejection. - **Component tests:** seeded dashboard, form validation/creation and task filtering. - **Browser tests:** persisted CRUD journey, task interaction and horizontal-overflow checks. - **Visual evidence:** seeded dashboard at all required viewports plus matching Chromium/Firefox captures. - **Manual sessions:** Microsoft Edge developer tools and two real computers using the same scenario/data. ## Responsive matrix | Viewport | Expected behaviour | Automated assertion | Visual evidence | |---|---|---|---| | 1920×1080 | Four summary cards, two-column dashboard, full navigation | Core journey and no horizontal overflow | `responsive-1920x1080-dashboard.png` | | 1680×1050 | Balanced 2×2 summary grid, compact gaps, usable modal | Core journey and no horizontal overflow | dashboard, dialog and before/after fix | | 1920×1200 | Four cards and two-column dashboard with more content visible vertically | Core journey and no horizontal overflow | `responsive-1920x1200-dashboard.png` | | 768×900 | Top navigation, single-column content and wrapped controls | Core journey and no horizontal overflow | Automated robustness check only | At every required resolution also verify 100%/125% zoom, focus visibility, long content, dialogs, validation, menus, persistence and a clean application console. ## Browser matrix | Browser | Automated | Manual developer tools | Status | |---|---|---|---| | Google Chrome installed stable channel | Yes | Automated functional comparison | Pass | | Chromium 151 test build | Yes | Console reviewed in local preview | Pass | | Firefox 153 Playwright build | Yes | Automated functional comparison | Pass | | Microsoft Edge current stable | Configured manual protocol | Required on Windows | Pending | Compatibility risks include date-control rendering, font metrics, Grid/Flexbox sizing, sticky positioning, focus outlines, downloads/uploads, `localStorage` and `crypto.randomUUID`. The implementation uses system fonts, standards-based CSS, feature detection with an ID fallback, reduced-motion handling and no experimental API dependency. ## Defect policy Record the environment, steps, expected/actual behaviour, severity and screenshot. Fix at the lowest safe layer, add a regression check where practical, rerun the affected matrix and retain before/after evidence. The first recorded responsive defect is RWD-01 in the decision log.