Complete risk-based toolbox regression coverage
All checks were successful
Deploy Sokko G / deploy (push) Successful in 20s
All checks were successful
Deploy Sokko G / deploy (push) Successful in 20s
This commit is contained in:
parent
a01f605d55
commit
f0797ccf14
5 changed files with 166 additions and 10 deletions
50
docs/TEST_STRATEGY.md
Normal file
50
docs/TEST_STRATEGY.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# Test Strategy
|
||||
|
||||
## Scope
|
||||
|
||||
The risk-based completion boundary for audit C06 (2026-09-09), agreed on
|
||||
2026-09-17, is regression coverage of important workflows, not elimination of
|
||||
every source-text assertion. Beads task `sokko-g-zsd` tracks acceptance and status.
|
||||
This document is a coverage reference, not a separate task backlog.
|
||||
|
||||
An inventory found 350 `match` / `doesNotMatch` calls across the static app,
|
||||
toolbox and style tests before the final batch. This counts assertion calls,
|
||||
not bugs, missing scenarios or a percentage of work remaining.
|
||||
|
||||
## Coverage Boundary
|
||||
|
||||
| Risk | Behavioral coverage |
|
||||
| --- | --- |
|
||||
| Data loss, startup failure, deferred media | `e2e/persistence.spec.js`, `storage-startup.spec.js`, `deferred-media.spec.js`; Node persistence queue and image action tests |
|
||||
| React lifecycle, shared editing and navigation | `e2e/editor-lifecycle.spec.js`, `inline-edit.spec.js`, `form-reorder.spec.js`, `shell-behavior.spec.js`, `session-state.spec.js` |
|
||||
| Shared reorder policy and module order | `e2e/grouped-reorder.spec.js`, `module-order.spec.js` |
|
||||
| Toolbox creation, import/export, text exchange | `e2e/toolbox.spec.js`, `text-exchange.spec.js`; Node toolbox module tests |
|
||||
| Links: creation, copy, category removal preserving links, deletion and reload | `e2e/basic-tools.spec.js` |
|
||||
| Counters: creation, signed values, reset, deletion and reload | `e2e/basic-tools.spec.js` |
|
||||
| Checklist: quantities, clamping, completed category visibility and persistence | `e2e/basic-tools.spec.js` |
|
||||
| Planner: editing, recurrence, prerequisites, subtree reorder and persistence | `e2e/task-planner.spec.js` |
|
||||
| Representative visual states and responsive layouts | `e2e/style-layouts.spec.js`, `tool-style-states.spec.js`, `card-surfaces.spec.js`, `nds-controls.spec.js`, `nds-patterns.spec.js` |
|
||||
| Production onboarding | `e2e/production/onboarding.spec.js` |
|
||||
|
||||
These suites cover selected risks, not every permutation of every tool.
|
||||
Public formats, product vocabulary, editorial validation, security restrictions
|
||||
and deliberate architecture constraints retain static or pure-function tests.
|
||||
Implementation-name assertions can be replaced when their owning code changes;
|
||||
their mere presence is not a functional defect.
|
||||
|
||||
## Optional Extensions
|
||||
|
||||
Exhaustive advanced tool variants (calendar recurrence operations, goal graph
|
||||
combinations, equipment and combo permutations), every text-exchange UI adapter,
|
||||
fine calculator geometry and wholesale conversion of remaining implementation
|
||||
assertions are outside this closure boundary. They are candidates when related
|
||||
features change or a concrete regression demonstrates missing coverage, not
|
||||
automatic follow-on batches required to finish this audit.
|
||||
|
||||
## Validation
|
||||
|
||||
Run targeted tests while implementing a grouped change, then `npm run check:full`
|
||||
as the final gate: lint, Node tests, build, development E2E and production E2E.
|
||||
Review the diff and report actual failures or limits before closing the task.
|
||||
Do not introduce visual snapshots solely to prove that a page loads.
|
||||
Keep detailed command logs outside tracked source and report concise results.
|
||||
Loading…
Add table
Add a link
Reference in a new issue