返回测试开发工程化路线
SDET Track / Platform Engineering
测试资产平台与规则引擎开发教程
把散落的需求、规则、用例和评审纳入同一套版本化平台,让机器校验和人工决策都能留下证据。
01
平台首先解决资产失控,不是展示更多按钮
单一事实来源平台要消除的四类问题
| 问题 | 平台能力 |
|---|---|
| 用例散落在多份 Excel | 统一版本、模块和编号索引 |
| 修改靠截图和口头确认 | 评审状态、修改记录和责任留痕 |
| AI 一次生成大量草稿 | 批量入库、规则校验和人工审批 |
| 下个版本无法判断哪些还能用 | 需求规则、来源标识和版本差异追溯 |
平台不是为了取代 Excel,而是让需求、规则、风险、用例和评审拥有稳定关系。需要对外交付时仍可以导出文件。
02
按接入、资产、规则、评审和交付分层
职责清楚测试资产平台主链路
文档接入SRS/表格/图片
资产服务规则/风险/用例
规则引擎覆盖/冲突/重复
评审工作流草稿到定稿
交付与度量导出/报告/看板
一套可起步的技术边界
- 后端提供文档、版本、资产、评审和校验 API。
- 关系型数据库保存版本、元数据与评审记录;大字段或源文件独立存储。
- 前端围绕版本与模块浏览、筛选、编辑和下钻。
- 异步任务处理大文档解析、AI 生成和批量校验。
- AI 模型通过网关接入,密钥只存服务端环境变量或密钥系统。
03
文档接入必须先证明没有漏内容
解析也是被测功能接入流水线
| 步骤 | 产物 | 校验 |
|---|---|---|
| 上传 | 原始文件与哈希 | 格式、大小、重复文件 |
| 解析 | 段落、表格、图片和位置 | 元素计数、失败清单 |
| 结构重建 | 章节树与阅读顺序 | 章节连续、表格归属 |
| 规则提取 | rule_id、原文和状态 | 来源可点击、冲突可见 |
| 人工确认 | 确定规则与待确认项 | 确认人、时间和版本留痕 |
不能静默跳过
图片 OCR 失败、表格无法解析或段落为空时,任务应进入“部分成功”并列出缺失元素。平台不能用一个绿色“解析完成”掩盖不完整输入。
04
用稳定主键连接版本与资产
不要把整行文本当身份核心实体
| 实体 | 关键字段 |
|---|---|
| Version | version_id、父版本、状态、创建时间 |
| RequirementRule | rule_id、版本、来源位置、规则正文、状态 |
| Risk | risk_id、触发条件、等级、来源模式 |
| TestCase | case_id、版本、模块、rule_ids、来源、优先级、评审状态 |
| Review | 对象、前后快照、结论、意见、评审人、时间 |
| ValidationRun | 规则集版本、结果、失败项、执行时间 |
同一业务用例跨版本演进时,要保留稳定关联与版本快照。仅用 Excel 行号或标题作为主键,改名后追溯会断裂。
05
规则引擎既检查错误,也检查缺失
注册表驱动规则类型
| 类型 | 示例 | 结果 |
|---|---|---|
| Schema | 必填字段、枚举和数据类型 | 直接通过或失败 |
| 完整性 | 有用例的模块必须存在规则注册表 | 缺失时阻断 |
| 追溯 | 确定规则至少关联一条候选或正式用例 | 输出未覆盖规则 |
| 冲突 | 数值、权限、状态与需求不一致 | 标记人工裁决 |
| 重复 | 编号重复、标题或步骤高度相似 | 建议合并 |
| 分布 | 优先级与来源分布明显异常 | 告警而非自动改写 |
规则集也要版本化
- 保存 rule_set_version 与适用项目。
- 每次执行保留输入快照和结果。
- 新增规则先用历史样本回放,观察误报。
- 规则为空或未适用任何模块时发出空转告警。
06
AI 草稿必须经过显式状态流转
候选不等于定稿测试资产平台主链路
AI 草稿来源可见
机器校验结构与规则
人工评审接受/修改/拒绝
已通过等待版本定稿
正式资产可交付与统计
评审记录
| 字段 | 作用 |
|---|---|
| before / after | 看见修改了什么 |
| decision | 接受、修改、拒绝或待确认 |
| reason_code | 错误类型可统计并回流 |
| reviewer | 责任落到具体身份 |
| evidence | 关联规则、需求或缺陷 |
| reviewed_at | 形成可审计时间线 |
07
API 围绕版本化资源设计
前端不直接碰文件最小 API 集
| 方法 | 路径 | 职责 |
|---|---|---|
| POST | /versions/{v}/documents | 上传并创建解析任务 |
| GET | /versions/{v}/rules | 查询规则与待确认项 |
| GET/PUT | /versions/{v}/cases | 查询或保存候选用例 |
| POST | /versions/{v}/validations | 运行指定版本规则集 |
| POST | /cases/{id}/reviews | 提交评审结论 |
| GET | /versions/{v}/exports | 生成交付文件与版本报告 |
批量接口要考虑
- 逐行错误和部分成功,不只返回整体失败。
- 幂等键防止重试产生重复用例。
- 冲突策略明确:覆盖、跳过还是生成新版本。
- 大任务返回 task_id,支持进度、取消、超时和重试。
08
平台自己也要满足权限、审计与恢复
质量平台不能成为风险源上线前重点
| 方面 | 要求 |
|---|---|
| 权限 | 项目、版本、模块和评审角色最小授权 |
| 密钥 | 模型 API Key 不入库明文、不返回前端、不进日志 |
| 审计 | 导入、编辑、评审、导出和规则变更全部留痕 |
| 备份 | 数据库、源文件和规则集有一致性备份与恢复演练 |
| 并发 | 多人编辑冲突可见,避免后保存覆盖先保存 |
| 降级 | AI 不可用时仍可浏览、编辑、校验和导出已有资产 |
09
按价值逐步演进,不一开始做大而全
先治理,再智能演进路线
| 阶段 | 能力 | 完成标准 |
|---|---|---|
| V1 资产可见 | 导入、查询、编辑、版本和导出 | 团队只有一份事实来源 |
| V2 质量可控 | 规则引擎、评审状态与审计 | 草稿无法绕过门禁定稿 |
| V3 协作可用 | 多用户、权限、冲突与通知 | 责任和进度可追踪 |
| V4 AI 增强 | 规则提取、候选生成和失败回流 | 人工接受率和错误类型可量化 |
| V5 生态连接 | 缺陷、CI、执行平台和质量看板 | 资产真正参与发布决策 |
10
实现一个最小可用资产平台
练习与检查清单练习
- 设计 Version、Rule、Case、Review 和 ValidationRun 数据模型。
- 实现 SRS 上传、元素计数和部分失败报告。
- 完成用例查询、保存和版本快照 API。
- 实现完整性、追溯、冲突和去重四类规则。
- 建立 AI 草稿→机器校验→人工评审→定稿状态流转。
- 验证权限、审计、备份恢复与 AI 不可用降级。
完成检查
文档解析结果可核对
资产拥有稳定 ID 和版本
规则能发现缺失
AI 草稿不能直接定稿
评审前后差异可追溯
密钥不暴露
备份与恢复已验证
平台失败不破坏原始资产