UNPKG

dsh-qa-skills

Version:

DeepSeek Harness (dsh) plugin: 10 testing skills (requirement analysis, test strategy, case writing/review, E2E/API automation, exploratory, regression, bug analysis) + shared core knowledge base — a full QA pipeline as agent skills.

333 lines (230 loc) 13.5 kB
# Markmap 测试用例模板 根据项目类型从以下模块中选取需要的,拼装为测试用例文件。不需要的模块直接删除。 > **编写说明**:默认使用**详细格式**。有 UI 功能用四段式(前置条件 / 操作步骤 / 预期结果,优先级标注在名称行);无 UI 后端功能用协作五段式(前置条件 / 操作步骤(请开发执行)/ 预期结果(请开发反馈)/ 验证方式,优先级同样标注在名称行,不单列字段)。每条用例唯一编号 `TC-{模块号}-{序号}` 写在名称前,P0 冒烟用例名称后追加 `(SMOKE-{序号})` 标注。模板内其余条目以紧凑占位 `- {操作},{结果}` 书写,**编写时请展开为对应详细格式并补 TC 编号**;同一子模块共享的前置在标题下用 `> 前置:...` 统一声明,单条只写特有前置。 > > **正文零代码内部(硬约束)**:正文只用业务语言,禁出现 `文件:行`、SDK 符号、错误码常量、函数名;嵌入具体测试数据(真实编号/字段/值),不要占位符。 > > **零上下文可执行(硬约束)**:文件头部导读四件套(功能简介+角色表 / 环境与账号表 / 术语表 / 图例);被测页面首次出现写明到达路径;异步预期写判定时限(等多久不发生算失败);用例名称断言不超出步骤实际验证强度。 > > **代码模式**:文件顶部加测准声明(见下方范例);`代码依据: {文件:行}` **不写进正文用例**,统一放文件末尾附录;Cx 缺陷记录、Dn 风险点、文档偏离、改动文件映射全部放附录区(见文末),与正文用 `---` 分隔,标注"开发核查,非测试执行"。 ### 详细格式范例 > **测准声明**(代码模式必加,文件顶部):本文件以 {仓库} {分支} 实际实现为唯一功能基线;需求/设计文档降为背景对照(偏离见附录)。代码级证据(`文件:行` 等)放文件末尾附录,不写进用例正文。 **A. 有 UI 功能 — 四段式** > 前置:管理员已登录、项目已创建 - **TC-01-01 正常创建项目** [P0](SMOKE-1) - 前置条件: 无额外前置 - 操作步骤: 1. 进入「项目创建」页 2. 填写名称+描述 3. 点击提交 - 预期结果: 创建成功,列表出现新项目卡片并回显名称/项目id **B. 无 UI 后端功能 — 协作五段式** > 前置:测试数据见附录 A(图片编号 fb1f2933...) - **TC-05-01 写入单个文字字段,读回值一致** [P0] - 前置条件: 已准备图片编号 fb1f2933f0e837b719d510a200dff31f - 操作步骤(请开发执行): 1. 用 hbase.set 写入:编号=fb1f2933...,字段 lr_label_top="任务动作",数据类型=图片 2. 用读取功能读回该字段 - 预期结果(请开发反馈): 读回的 lr_label_top 值 = "任务动作",与写入一致 - 验证方式: 开发查 HBase 该编号的 lr_label_top 字段,反馈实际值 --- # {项目名} 测试用例 <!-- 导读区四件套(硬性产出,正文模块之前):以零上下文新人能直接开工为标准 --> > **功能简介**:{一两句话:这是什么功能,解决什么问题} > > **角色**:{角色A} → {用它做什么};{角色B} → {用它做什么} **环境与账号**(未知信息不省略,列 TODO 标注找谁拿): | 项 | 值 | |----|----| | 管理后台入口 | {URL 或「TODO:向 {谁} 索取」} | | App/客户端 | {测试包获取方式 或 TODO} | | {角色A} 测试账号 | {账号 或 TODO} | | {被测页面入口} | {导航路径,如 后台 → 营销中台 → 券工场} | **术语表**(正文出现的每个内部系统名/英文字段名/状态代号,此处可查): | 术语 | 中文名 | 说明 | |------|--------|------| | {内部系统名} | {中文名} | {一句话解释,如:风控系统,领取前校验用户风险} | | {英文字段名} | {中文名} | {含义与界面对应} | **图例**:P0=冒烟(失败则核心不可用)/ P1=常规(默认级别,未标注即 P1)/ P2=边界低频;`TC-{模块号}-{序号}`=用例唯一编号;`(SMOKE-{序号})`=冒烟用例序号标注(追加在 P0 用例名称后);`[需Mock]` 等标签见附录可测试性说明。 > 标准测试数据:{集中声明各用例默认复用的数据} ## 1. 基础配置/创建 <!-- 所有项目 --> ### 1.1 创建 <!-- 详细格式 inline 示范:占位条目编写时按此展开 --> - **TC-01-01 正常创建(必填字段齐全)** [P0](SMOKE-1) - 前置条件: 无额外前置 - 操作步骤: 1. 填写全部必填项 2. 点击提交 - 预期结果: 创建成功并生成记录id - {创建后默认值},{默认配置正确} ### 1.2 配置 - {配置选项A},{配置生效} - {配置锁定/不可变},{拒绝变更} - {配置变更后已有数据的行为},{符合预期} ### 1.3 编辑/重提路径校验 <!-- 有编辑或重新提交入口的项目,二阶交叉高发区 --> - {创建时的每条校验规则,在编辑路径重复验证},{同样拦截} - {驳回/退回后修改为非法值重新提交},{同样拦截} - {标识字段(名称/编号)重复提交},{唯一性行为明确} ## 2. 数据输入/导入 <!-- 有数据导入的项目 --> ### 2.1 正常格式 - {标准格式导入},{导入成功} [P0] ### 2.2 异常格式 - {字段缺失},{报错并提示} - {字段格式非法},{行级错误} - {字段映射/别名},{映射正确} ### 2.3 有效性校验 - {全部有效},{全部保留} - {部分无效},{过滤后保留有效值} - {全部无效},{拒绝/告警} ### 2.4 异步与缓存 <!-- 有异步导入的项目 --> - {异步任务状态},{可追踪} - {缓存一致性},{导入期间变更不影响已加载缓存} ## 3. 核心业务逻辑 <!-- 所有项目 --> ### 3.1 逻辑分支A - {条件A},{走分支A} [P0] ### 3.2 逻辑分支B - {条件B},{走分支B} [P0] ### 3.3 逻辑分支C - {条件C},{走分支C} [P0] ## 4. 操作/交互 <!-- 有用户操作的项目 --> ### 4.1 正常操作 - {正确条件},{操作成功} [P0] - {操作后数据变更},{符合预期} ### 4.2 异常操作 - {错误条件},{操作被拒绝} ### 4.3 逆向操作 - {释放/退回/取消},{状态恢复} - {完整状态流转},{每步验证} ### 4.4 并发 - {多用户并发},{无重复无遗漏} ## 5. 数据处理/转换 <!-- 有数据处理的项目 --> ### 5.1 格式转换 - {输入格式A → 输出格式B},{转换正确} [P0] ### 5.2 聚合/分发 - {多源数据聚合},{结果正确} - {单源数据分发},{各目标数据正确} ## 6. 搜索/筛选/分页 <!-- 有列表查询的项目 --> ### 6.1 搜索 - {精确搜索},{结果正确} [P0] - {模糊搜索},{结果正确} ### 6.2 筛选与排序 - {多条件筛选},{结果正确} - {排序},{顺序正确} ### 6.3 分页 - {首页/末页/中间页},{数据正确} - {每页条数变更},{分页正确} - {空结果},{友好提示} ## 7. 权限与角色 <!-- 多角色系统 --> ### 7.1 角色权限 - {普通用户},{正常操作} [P0] - {管理员},{额外权限验证} - {无权限用户},{拦截} ### 7.2 权限变更 - {角色变更后},{权限即时生效} ## 8. 工作流/审批 <!-- 有流程的项目 --> ### 8.1 正常流程 - {完整审批链},{流程通过} [P0] ### 8.2 异常流程 - {驳回},{回到上游} - {超时},{超时处理正确} ## 9. 通知/消息 <!-- 有通知功能的项目 --> - {触发通知},{通知发送成功} [P0] - {通知内容},{模板变量替换正确} - {发送失败},{重试机制生效} - {重复触发},{消息去重} ## 10. 文件上传/下载 <!-- 有文件操作的项目 --> - {正常文件上传},{上传成功} [P0] - {文件类型限制},{非法类型拒绝} - {文件大小限制},{超大文件拒绝} - {文件下载},{内容完整} ## 11. 第三方集成 <!-- 调用外部服务;type_scope 轴 10 include standard+ 时选用,type: functional + [集成] 标签 --> - {外部 API 正常},{处理正确} [P0] - {外部 API 超时},{降级/重试} - {外部 API 返回异常数据},{容错处理} ## 12. 多轮/链式流程 <!-- 有多阶段操作的项目 --> ### 12.1 第一轮 - {第一轮操作},{结果正确} [P0] ### 12.2 第二轮 - {第二轮操作,携带第一轮数据},{数据完整} [P0] ### 12.3 多轮(>2) - {第三轮},{历史累积正确} ## 13. 标签/分类管理 <!-- 有分类体系的项目 --> ### 13.1 标签 CRUD - {创建标签},{创建成功} [P0] - {修改标签},{修改成功} - {删除标签},{删除成功,关联数据处理正确} ### 13.2 分类层级 - {多级分类},{层级正确} - {标签关联},{关联正确} ## 14. 配置管理 <!-- 有配置项的项目 --> - {新增配置项},{配置生效} [P0] - {修改配置项},{修改后即时生效} - {删除配置项},{关联功能降级或使用默认值} - {配置生效范围},{仅影响目标范围} ## 15. 边界与异常 <!-- 所有项目 --> ### 15.1 输入边界 - {空值},{按规则处理} - {超大值},{处理正确} - {特殊字符},{报错或转义} ### 15.2 数据一致性 - {级联操作},{关联数据一致} - {幂等处理},{重复操作结果不变} ### 15.3 错误信息 - {错误信息},{含定位信息,格式符合规范} ## 16. 安全性 <!-- Web/API 项目;type_scope 轴 2 include 时 type: security + [安全] 标签用例(硬默认轴),越权功能正确性归模块 7(功能域 permission),域间裁决见 ../../core/test-type-matrix.md 第 2 节 --> - {未认证访问},{拒绝} [P0] - {越权访问},{拒绝} [P0] - {SQL 注入/XSS},{拦截或转义} - {数据隔离},{租户间数据不可见} - {接口限流},{超限拒绝} ## 17. 前端展示 <!-- 有前端界面的项目 --> - {页面展示},{内容正确} - {交互限制}(防连点/防重复),{限制生效} - {动态 UI}(条件展示/隐藏),{符合规则} ## 18. 兼容性 <!-- 跨平台项目;type_scope 轴 5 include standard+ 时选用,type: compatibility + [兼容] 标签 --> - {目标浏览器A},{功能正常} - {目标浏览器B},{功能正常} - {移动端适配},{布局正确} ## 19. 国际化 <!-- 多语言项目;type_scope 轴 8 include standard+ 时选用,type: functional + [国际化] 标签 --> - {语言切换},{文案正确} - {时区处理},{时间显示正确} - {多语言文案},{无溢出/截断} ## 20. 并发一致性 <!-- 测试策略 type_scope 轴 4(concurrency)include 且 standard 及以上时选用;type: concurrency,名称行加 [并发] 标签 --> ### 20.1 竞争写入 - {同一资源多端并发提交},{无重复无遗漏无死锁} ### 20.2 先查后写窗口 - {并发触发先查后写路径},{结果与串行执行一致} > 性能(轴 1)为**脚本型**轴:不产手动用例——压测模型与执行物走专项脚本或移交(executor 如 k6,见 ../../core/test-type-matrix.md 第 12 节消费方式映射),本模板不设性能手动用例模块;可靠(轴 3,type: reliability + [可靠] 标签)的超时/重试/降级用例按需在本模块外另立子模块。 ## 21. 数据迁移/升级 <!-- 存量系统迭代;type_scope 轴 9 include standard+ 时选用,type: functional + [迁移] 标签 --> - {Schema 变更后老数据兼容},{数据可正常访问} - {迁移完整性},{无数据丢失} - {新旧版本共存},{行为一致} - {回滚后数据可用},{数据完整} --- ## 附录:开发技术核查清单(非测试执行项)<!-- 代码模式按需追加 --> > 以下供开发/评审核查与溯源,测试工程师不执行。代码级证据(`文件:行`)集中于此,**不写进正文用例**。 ### 附录 A:缺陷记录 Cx > 潜在 bug 记录,每条附证据与处置 - **C1 {现象描述}** - 证据: {文件:行} - 处置: 主线验证 / 专项验证 / 待实测确认 / 已证伪 / 后端范围 - **C2 {现象描述}** - 证据/处置: ... ### 附录 B:高风险点 D1-Dn > 代码审查识别的高风险回归点,每条映射一条正文回归用例 - **D1 {风险描述}** [等级:Critical/High/Medium/Low(Impact × Likelihood 评分,评级规则见 `../../core/risk-model.md`)] - 证据: {文件:行} - 覆盖用例: {正文用例 TC 编号} - 通过判据: {明确判据} - **D2 {风险描述}** [等级:...] - 证据/覆盖用例/通过判据: ... ### 附录 C:代码证据清单(可选) | 用例编号 | 代码位置 | |---------|---------| | {TC 编号} | {文件:行} | ### 附录 D:文档偏离对照 | 设计点 | 文档描述 | 实际实现(文件:行) | 偏离类型 | |--------|---------|-------------------|---------| | {设计点} | {文档原文} | {实现} | 字段/流程/默认值/... | ### 附录 E:改动文件映射 | 改动文件 | 影响模块 | 回归用例 | 分类 | |---------|---------|---------|------| | {文件} | {模块} | {TC 编号} | 🆕新建/✏️修改/🗑️删除/💀死代码 | ### 附录 F:可测试性说明 > 带 [需真机]/[需Mock]/[需专业环境] 标注的用例逐条列出,替代方案须可行动(平台/工具 + 操作入口) | 用例编号 | 标注 | 替代方案 | 状态 | |---------|------|---------|------| | {TC 编号} | [需Mock] | {平台名与操作入口;未知则「TODO:向 {谁} 确认 {什么}」} | 待确认/已落实 |