---
name: identify-requirement-type
description: "当输入为原始需求文本且需判定测试需求主类型（含未知回退）、候选类型与推荐方法ID（Mxx|方法名）时使用。"
---

# identify-requirement-type

## 目标
将用户需求文本识别为明确的测试需求类型，为后续测试项分解与测试用例生成提供分类依据与推荐测试方法。

## 输入
- user_requirement_text：用户原始需求文本。
- debug（可选）：是否返回分类分数和证据切片。

## 输出
- requirement_type：以下之一
  - 功能测试
  - 性能测试
  - 外部接口测试
  - 人机交互界面测试
  - 强度测试
  - 余量测试
  - 可靠性测试
  - 安全性测试
  - 恢复性测试
  - 边界测试
  - 安装性测试
  - 互操作性测试
  - 敏感性测试
  - 测试充分性要求
  - 未知类型
- reason：简要判断依据。
- candidates：当 requirement_type 为未知类型时，给出 1-3 个最接近候选类型。
- recommended_test_methods：基于类型推荐的测试方法列表（按优先级排序），格式为 `Mxx|方法名`。
- type_signals：触发该类型判断的关键语义信号。

## 类型识别信号
- 功能测试：关注功能需求逐项验证、业务流程正确性、输入输出行为、状态转换与边界值处理。
- 性能测试：关注处理精度、响应时间、处理数据量、系统协调性、负载潜力与运行占用空间。
- 外部接口测试：关注外部输入输出接口的格式、内容、协议与正常/异常交互表现。
- 人机交互界面测试：关注界面一致性、界面风格、操作流程、误操作健壮性与错误提示能力。
- 强度测试：关注系统在极限、超负荷、饱和和降级条件下的稳定性与承受能力。
- 余量测试：关注存储余量、输入输出通道余量、功能处理时间余量等资源裕度。
- 可靠性测试：关注真实或仿真环境下的失效等级、运行剖面、输入覆盖和长期稳定运行能力。
- 安全性测试：关注危险状态响应、安全关键部件、异常输入防护、非法访问阻断和数据完整性保护。
- 恢复性测试：关注故障探测、备用切换、系统状态保护与从无错误状态继续执行能力。
- 边界测试：关注输入输出域边界、状态转换端点、功能界限、性能界限与容量界限。
- 安装性测试：关注不同配置下安装卸载流程和安装规程执行正确性。
- 互操作性测试：关注多个软件并行运行时的互操作能力与协同正确性。
- 敏感性测试：关注有效输入类中可能引发不稳定或不正常处理的数据组合。
- 测试充分性要求：关注需求覆盖率、配置项覆盖、语句覆盖、分支覆盖及未覆盖分析确认。

## 附录 A：类型到方法映射
| 需求类型 | 推荐测试方法（优先顺序，方法ID+中文名） |
| --- | --- |
| 功能测试 | M01|功能分解, M02|等价类划分, M03|边界值分析, M06|场景法, M04|判定表, M05|因果图, M11|组合测试法, M09|猜错法 |
| 性能测试 | M03|边界值分析, M11|组合测试法, M10|正交试验法, M08|随机测试, M06|场景法, M07|功能图法, M16|程序插桩 |
| 外部接口测试 | M02|等价类划分, M03|边界值分析, M04|判定表, M05|因果图, M11|组合测试法, M06|场景法, M09|猜错法 |
| 人机交互界面测试 | M06|场景法, M09|猜错法, M02|等价类划分, M03|边界值分析, M11|组合测试法, M04|判定表 |
| 强度测试 | M08|随机测试, M11|组合测试法, M03|边界值分析, M10|正交试验法, M06|场景法, M16|程序插桩 |
| 余量测试 | M03|边界值分析, M11|组合测试法, M06|场景法, M10|正交试验法, M08|随机测试 |
| 可靠性测试 | M08|随机测试, M06|场景法, M11|组合测试法, M12|蜕变测试法, M09|猜错法, M16|程序插桩, M07|功能图法 |
| 安全性测试 | M03|边界值分析, M06|场景法, M09|猜错法, M05|因果图, M04|判定表, M11|组合测试法, M07|功能图法 |
| 恢复性测试 | M06|场景法, M07|功能图法, M09|猜错法, M11|组合测试法, M04|判定表, M16|程序插桩 |
| 边界测试 | M03|边界值分析, M02|等价类划分, M17|域测试, M11|组合测试法, M04|判定表, M06|场景法 |
| 安装性测试 | M06|场景法, M09|猜错法, M11|组合测试法, M02|等价类划分, M03|边界值分析 |
| 互操作性测试 | M06|场景法, M11|组合测试法, M05|因果图, M04|判定表, M07|功能图法, M09|猜错法 |
| 敏感性测试 | M11|组合测试法, M10|正交试验法, M08|随机测试, M09|猜错法, M03|边界值分析, M12|蜕变测试法 |
| 测试充分性要求 | M13|控制流测试, M14|数据流测试, M15|程序变异, M16|程序插桩, M17|域测试, M18|符号求值, M11|组合测试法 |
| 未知类型 | M01|功能分解, M02|等价类划分, M03|边界值分析, M06|场景法, M11|组合测试法, M09|猜错法 |

## 规则
1. 优先依据需求文本中的显式表述进行分类。
2. 分类应以语义意图为主，不能只做关键词机械匹配。
3. 置信度不足时输出未知类型，并提供候选类型。
4. 判断依据需简洁、可追溯到文本证据。
5. 若需求同时覆盖多个类型，输出主类型 requirement_type，并将次类型放入 candidates。
6. recommended_test_methods 至少返回 2 个方法，优先返回文档中可直接执行的方法。
7. 方法标识以 Method ID（Mxx）为路由主键，中文方法名仅用于可读性展示。

## 容错
- 当需求描述过于笼统或跨多类型混合时，输出未知类型，并在 candidates 给出最接近类型。
- 当识别不稳定时，优先保守分类，不强行归入单一类型。
- 未知类型不阻断后续流程，应继续执行通用测试项分解。
- 当文本信息不足以支持白盒方法推荐时，保留黑盒优先推荐并标记 reason。
- 当仅能识别到中文方法名时，先映射为 Method ID 后再输出。

## 调试
- debug 模式下返回每个类型的分类分数 classification_scores。
- debug 模式下追加 evidence_spans（触发分类的文本片段）与 method_selection_reason。
