第八十四章
WSaiOS Testing and Verification Specification
测试与验证规范
84.1 工程目标
WSaiOS 的所有模块必须满足以下要求:
- 可测试(Testable):每个模块都能独立验证。
- 可验证(Verifiable):每项设计都有明确的验证方法。
- 可复现(Reproducible):不同环境下能够得到一致结果。
- 可回归(Regression-Testable):后续修改不会破坏已有功能。
测试规范覆盖:
- 单元测试(Unit Test)
- 集成测试(Integration Test)
- 系统测试(System Test)
- 性能测试(Performance Test)
- 回归测试(Regression Test)
84.2 测试层次
采用分层测试模型:
System Test
│
Integration Test
│
Unit Test
各层职责:
| 层次 | 验证对象 |
|---|---|
| Unit Test | 单个类、函数、对象 |
| Integration Test | Service、Workflow、Plugin |
| System Test | 整个 WSaiOS-Core |
| Performance Test | 性能与资源消耗 |
| Regression Test | 历史功能一致性 |
84.3 单元测试规范
每个核心类至少包含以下测试:
class TestDecisionEngine:
def test_create(self):
...
def test_execute(self):
...
def test_validate(self):
...
要求:
- 一个测试验证一个行为;
- 不依赖网络;
- 不依赖外部数据库(可使用内存数据库)。
覆盖对象包括:
- CognitiveObject
- Service
- Workflow
- Scheduler
- EventBus
- ExecutionEngine
84.4 集成测试规范
验证多个模块协同工作。
例如:
Workflow
│
Knowledge Service
│
Reasoning Service
│
Decision Service
│
Execution Service
验证内容:
- 数据是否正确传递;
- Event 是否按顺序发送;
- Workflow 是否完成;
- Result 是否正确。
84.5 系统测试规范
系统启动:
Kernel
↓
Runtime
↓
Service Manager
↓
Plugin Loader
↓
Workflow
↓
Ready
验证:
- 是否能够正常启动;
- 是否能够正常关闭;
- 是否存在资源泄漏;
- 是否存在死锁。
84.6 性能测试
建议建立统一 Benchmark。
例如:
| 测试项 | 指标 |
|---|---|
| Kernel 启动 | <1 秒 |
| Workflow 调度 | <50 ms |
| Event 分发 | <10 ms |
| Plugin 加载 | <100 ms |
| SQLite 查询 | <20 ms |
测试报告记录:
- 平均值;
- 最大值;
- 最小值;
- 标准差(如果需要)。
84.7 稳定性测试
执行:
10000 次 Workflow
验证:
- 内存是否持续增长;
- CPU 是否异常;
- Event Queue 是否阻塞;
- Scheduler 是否正常恢复。
建议持续运行数小时以上,观察资源变化。
84.8 异常测试
模拟:
- Service 初始化失败;
- Workflow 节点异常;
- Plugin 加载失败;
- Event 丢失;
- SQLite 无法连接。
验证:
- 是否返回统一错误;
- 是否记录日志;
- 是否进入安全状态;
- 是否允许恢复。
84.9 回归测试
建立固定测试集。
例如:
tests/
├── regression/
│ ├── workflow_v1.py
│ ├── scheduler_v1.py
│ └── plugin_v1.py
每次发布:
全部执行。
任何失败:
不得发布正式版本。
84.10 覆盖率要求
建议:
| 模块 | 最低覆盖率 |
|---|---|
| Core | ≥95% |
| Service | ≥90% |
| Workflow | ≥90% |
| Plugin Loader | ≥90% |
| SDK | ≥95% |
说明:
覆盖率不是质量本身,但它能帮助发现未测试的代码路径。对于难以自动化测试的异常路径,可通过集成测试或人工验证补充。
84.11 自动化测试流程
建议使用持续集成(CI)执行以下流程:
Commit
│
Build
│
Unit Test
│
Integration Test
│
Performance Test
│
Package
若任何步骤失败:
停止发布。
84.12 最小验证案例
以 SEO Plugin 为例:
输入:
electric toothbrush supplier California
验证:
- Workflow 创建成功;
- Knowledge 返回对象;
- Reasoning 输出策略;
- Decision 生成 Action;
- Execution 完成任务;
- Experience 成功记录;
- Result 返回成功。
整个过程:
Input
↓
Workflow
↓
Knowledge
↓
Reasoning
↓
Decision
↓
Execution
↓
Experience
↓
Result
这是 WSaiOS-Core v1.0 的最小端到端验证案例。
84.13 测试目录建议
tests/
├── unit/
├── integration/
├── system/
├── performance/
├── regression/
├── fixtures/
└── reports/
测试报告建议采用统一格式(例如 JUnit XML 或 HTML),方便持续集成系统读取。
84.14 本章总结
完成:
WSaiOS Testing and Verification Specification
建立:
- 测试层次
- 单元测试规范
- 集成测试规范
- 系统测试规范
- 性能测试规范
- 稳定性测试规范
- 回归测试规范
- 覆盖率建议
- 自动化测试流程
- 最小验证案例