ReadViewSDK/.planning/phases/05-regression-stability/05-VALIDATION.md

47 lines
2.3 KiB
Markdown

# Phase 5: 回归验证与稳定性收敛 - Validation
## Required Checks
- 至少覆盖三类样本:纯文本/TXT 或小说型 reflowable、复杂块元素/图片 reflowable、fixed/interactive WebKit 路径
- `.epub``.txt` 的 reader 主流程都必须有明确验证路径
- 每个重要 reader 流程至少有一种可重复证据:日志、断言、摘要、或稳定的手动检查清单
## Executed Matrix
| Sample | Category | Evidence |
|--------|----------|----------|
| `宝山辽墓材料与释读.epub` | 复杂图文 / native reflowable | 启动摘要 + pagination/restore diagnostics |
| `张学良传.epub` | 复杂图文 / native reflowable | 启动摘要 + active native reader UI evidence |
| `《凡人修仙传》精校版全本.epub` | interactive / WebKit | 启动摘要 `webInteractive` + `missing 0` |
| `爱忘事的熊爷爷.epub` | fixed layout / WebKit | 启动摘要 `webFixedLayout` + `spread` validation |
| `回归验证样本.txt` | TXT | 启动摘要 `TXT 验证` + page/chapter counts |
## Verification Anchors
### Source-level
- `find ReadViewDemo/ReadViewDemo/book -maxdepth 1 -type f | sort`
- `rg -n "validation|diagnostic|restore|search|highlight|location|theme|font|fixed|resource" ReadViewDemo/ReadViewDemo Sources/RDReaderView -S`
- `rg -n "RDEPUBWebViewDebug|logSchemeTask|rendered|page break|restore" Sources/RDReaderView -S`
### Runtime / demo
- run `ReadViewDemo` on simulator
- capture startup validation summaries for every relevant sample category
- exercise at least one native reflowable flow with search/highlight/repagination
- exercise at least one fixed/interactive EPUB flow and confirm no loading/resource regression
- exercise a TXT reading flow if a sample exists or is added during execution
## Current Rerun Path
1. Launch `ReadViewDemo` on the configured simulator.
2. Read the startup summary from the on-screen status area or runtime log.
3. Confirm the matrix lines for `复杂图文`、`Fixed/互动`、`TXT`.
4. Open any listed sample and use the existing reader controls to recheck TOC, bookmark/highlight, and theme/font adjustments as needed.
## Completion Standard
Phase 5 planning is only good enough if each plan names:
1. which sample categories it covers
2. what evidence proves success
3. how discovered regressions are routed into concrete fixes