AgentSkillsCN

test-requirement-analysis

专业的测试需求分析和测试用例提取技能,适用于软件测试工作。当用户需要分析需求文档、API规格说明、设计文档或任何测试相关文档以提取测试点、设计测试用例或执行全面测试规划时使用。适用于RESTful API测试、Web应用测试、移动App测试及所有软件测试场景。当用户要求分析测试需求、提取测试用例、创建测试计划、识别测试场景或从任何规格说明或需求文档中执行测试点分析时触发。

中文原作
SKILL.md
--- frontmatter
name: test-requirement-analysis
description: 专业的测试需求分析和测试用例提取技能,适用于软件测试工作。当用户需要分析需求文档、API规格说明、设计文档或任何测试相关文档以提取测试点、设计测试用例或执行全面测试规划时使用。适用于RESTful API测试、Web应用测试、移动App测试及所有软件测试场景。当用户要求分析测试需求、提取测试用例、创建测试计划、识别测试场景或从任何规格说明或需求文档中执行测试点分析时触发。

测试需求分析

全面的测试需求分析技能,使用经过验证的分析框架将需求、API规格说明和设计文档转化为结构化的测试点和测试用例。

核心分析工作流

第一步:文档理解和分类

识别文档类型并提取可测试元素:

API文档:

  • 端点、HTTP方法、请求/响应格式
  • 认证和授权机制
  • 数据模型和字段验证
  • 错误码和异常处理
  • 限流和性能约束

需求文档:

  • 业务需求和验收标准
  • 用户故事和用例
  • 功能性和非功能性需求
  • 系统约束和依赖关系
  • 数据流和流程图

设计文档:

  • UI/UX规格和交互流程
  • 系统架构和组件交互
  • 数据库模式和关系
  • 集成点和外部依赖

第二步:应用MECE分析框架

使用互斥且完全穷尽(MECE)原则确保完整覆盖且无重叠:

维度1:功能覆盖

  • 正常/快乐路径场景
  • 边界条件
  • 异常/错误场景
  • 边缘情况

维度2:测试级别

  • 单元测试范围
  • 集成测试范围
  • 系统测试范围
  • 验收测试范围

维度3:测试类型

  • 功能测试
  • 非功能测试(性能、安全、可用性)
  • 兼容性测试
  • 回归测试

第三步:提取显性和隐性条件

显性条件(明示条件):

  • 文档中直接说明的需求
  • 指定的验证和约束
  • 记录的业务规则
  • 定义的输入/输出格式

隐性条件(隐含条件):

  • 行业标准和最佳实践(如HTTP状态码、REST约定)
  • 通用安全要求(认证、授权、数据验证)
  • 可用性期望(错误消息、加载状态、响应式设计)
  • 数据完整性约束(引用完整性、数据类型一致性)
  • 性能基准(响应时间、并发用户)
  • 可访问性要求(WCAG合规性)

第四步:生成结构化测试点

对每个识别的场景,提取:

  1. 测试点ID: 唯一标识符
  2. 测试类别: 功能性/非功能性分类
  3. 测试优先级: 根据风险和影响分为严重/高/中/低
  4. 测试场景: 清晰描述要测试的内容
  5. 前置条件: 测试前所需的系统状态
  6. 测试步骤: 详细执行步骤
  7. 预期结果: 清晰可验证的结果
  8. 测试数据: 所需的输入值和范围

领域特定分析模式

RESTful API测试

认证与授权:

  • 有效/无效的token或凭证
  • 过期的token
  • 权限不足
  • 缺失认证头

请求验证:

  • 必填字段的存在/缺失
  • 数据类型验证(字符串、数字、布尔值、数组、对象)
  • 格式验证(邮箱、URL、日期、电话)
  • 长度约束(最小/最大)
  • 模式匹配(正则表达式)
  • 枚举值验证

响应验证:

  • HTTP状态码(2xx、4xx、5xx)
  • 响应结构和模式
  • 数据准确性和完整性
  • 响应时间约束
  • 响应头(Content-Type、CORS、缓存)

边缘情况:

  • 空数组/对象
  • Null值 vs 缺失字段
  • Unicode和特殊字符
  • 大型负载
  • 并发请求
  • 幂等性验证

Web应用测试

UI功能:

  • 元素可见性和交互性
  • 表单验证(客户端和服务端)
  • 导航流程和面包屑
  • 模态对话框和弹窗
  • 拖放交互

浏览器兼容性:

  • 跨浏览器渲染(Chrome、Firefox、Safari、Edge)
  • 响应式设计断点
  • 触摸 vs 鼠标交互

状态管理:

  • 会话持久化
  • 本地/会话存储
  • Cookie处理
  • 缓存行为

移动App测试

设备特定:

  • 屏幕尺寸和方向
  • 操作系统版本(iOS/Android)
  • 触摸手势
  • 硬件集成(相机、GPS、传感器)

网络条件:

  • 离线模式
  • 弱网连接
  • 网络切换(WiFi ↔ 蜂窝网络)

性能:

  • 应用启动时间
  • 内存使用
  • 电池消耗
  • 后台行为

质量分析检查清单

在最终确定测试点之前,验证:

  • 所有功能需求都有对应的测试用例
  • 所有输入的边界值都已测试
  • 错误处理得到全面覆盖
  • 考虑了安全方面(注入、XSS、CSRF)
  • 定义了性能标准
  • 验证了向后兼容性
  • 验证了数据完整性
  • 处理了可用性和可访问性

输出格式

格式1:测试点矩阵(Excel/Markdown表格)

code
| ID | 模块 | 优先级 | 场景 | 前置条件 | 步骤 | 预期结果 | 状态 |
|----|------|--------|------|----------|------|----------|------|

格式2:详细测试用例(文档)

code
测试用例ID: TC_001
测试标题: 验证有效凭证的用户登录
优先级: 严重
模块: 认证

前置条件:
1. 用户账号存在于数据库中
2. 应用程序可访问

测试步骤:
1. 导航到登录页面
2. 输入有效的用户名
3. 输入有效的密码
4. 点击登录按钮

预期结果:
- 用户被重定向到仪表板
- 欢迎消息显示用户姓名
- 生成会话token

测试数据:
- 用户名: test@example.com
- 密码: ValidPass123!

格式3:BDD风格(Gherkin)

code
功能: 用户认证
  场景: 使用有效凭证成功登录
    假设 用户在登录页面
    当 用户输入有效用户名 "test@example.com"
    并且 用户输入有效密码 "ValidPass123!"
    并且 用户点击登录按钮
    那么 用户应被重定向到仪表板
    并且 欢迎消息应显示 "欢迎,测试用户"

高级思维模型参考

对于需要更深入结构化思考的复杂分析场景,请参阅:

  • references/thinking_models.md - 麦肯锡问题解决框架、假设驱动测试、根因分析
  • references/test_design_techniques.md - 等价类划分、边界值分析、决策表测试、状态转换测试、成对测试

资产文件

  • assets/test_case_template.xlsx - 标准化测试用例文档模板
  • assets/api_test_checklist.md - 全面的API测试检查清单
  • assets/test_plan_template.docx - 专业测试计划文档模板