Skip to content

04 roadmap 04 test strategy

徐苏洋 edited this page Aug 29, 2026 · 1 revision

← 返回 Wiki 首页 | 四、项目排期 · 04 测试与验收策略 | 上一篇:迭代计划 P0–P4 | 下一篇:文档维护规范 →


八、交付计划与验收(四):测试与验收策略

每个里程碑的验收条件已在迭代计划中给出,本节定义支撑这些条件的测试分层与长期回归资产。


45. 测试与验收策略

测试分为五层,各层职责不重叠:

层次 覆盖对象 要求
单元 状态机、权限纯函数、schema、错误码映射 每个状态转换与每条拒绝路径都有聚焦用例;封闭联合类型用 assertNever 保证穷尽
契约 @dsh-chat/contract 的命令、事件与版本协商 跨包共享的编解码与兼容窗口行为,含旧版本 host 连新 relay
集成 单 relay + 多 host 的真实流程 P0 两实例、P1 起三实例;使用真实数据库而非内存替身
恢复 崩溃、重启、回滚、分叉 ACK 前崩溃、relay 重启、备份回滚后的水位对账、sync_diverged 处置
安全 越权、注入、隔离、供应链 见下,且必须随版本长期保留为回归资产

安全回归用例库是交付物而不是一次性验证,至少覆盖:跨组织读写尝试、角色越权与 ACL 绕过、成员移除后的访问拒绝、缓存过期授权、历史授权范围外读取、消息撤回后的索引残留、搜索结果计数推断、附件授权绕过、跨源与 CSRF 缺失、凭证与签名重放、时间偏移滥用、私网与 DNS rebinding 的 SSRF、确认挑战重放与刷新绕过、命令注入与富文本二次解析、Bot 与 AI 输出中的指令注入、插件撤销后的迟到结果、沙箱逃逸尝试(文件系统、环境变量、网络、Docker socket)、秘密泄漏到日志与产物、E2EE 模式下服务端正文访问尝试。

每个安全用例断言的是拒绝行为与错误码,而不仅是“未崩溃”;新增功能若触及授权、内容授权、出站或执行路径,必须同时补充对应的拒绝用例才能合入。

性能与容量测试对照 SLO 表执行,至少覆盖:大群日志写入不随成员数线性扇出、队列深度与游标滞后在目标内、限流在各维度按最严格者生效、大文件分块上传与断点续传、长连接背压下不丢已接收消息与授权变更。

迁移测试使用真实历史数据库快照,验证五步迁移的每一步可暂停、可重试、可回滚读路径,并在双读/双写期间校验计数、摘要与外键一致。

用户可见的 DSH 集成通过可运行 profile 提供无密钥 replay/snapshot 覆盖,使界面与事件流变更可在无外部依赖时回归。测试数据不得包含真实凭证、真实组织数据或可用密钥。

安全回归用例库对应的强制条目,见安全与合规 §39 安全规范清单。 性能测试对照的 SLO 表,见可观测性与运维 §40.1。 迁移五步定义,见消息投递与持久化 §29.1。


← 上一篇:迭代计划 P0–P4 | 返回 Wiki 首页 | 下一篇:文档维护规范 →

Clone this wiki locally