3.5 KiB
3.5 KiB
测试生成智能体约定
适用范围
- 本工作区包含基于 Tool Calling 与 Skill Calling 的测试内容生成链路。
- 当用户提出测试项分解、测试用例生成或预期成果生成需求时,必须触发 testing-orchestrator。
- 本约定用于约束技能间数据传递、输出结构与容错策略。
已注册技能
- identify-requirement-type:将需求文本识别为测试需求类型,并给出推荐测试方法。
- decompose-test-items:按需求类型分解为可执行的正常/异常测试项,并输出覆盖分析。
- generate-test-cases:按测试项生成结构化测试用例,覆盖测试用例要素。
- build-expected-results:将测试用例中的预期占位符展开为可度量预期成果。
- format-output:将测试项、测试用例、预期成果整理为统一三段式输出。
- testing-orchestrator:按标准顺序编排技能并管理上下文传递。
强制调用链
- identify-requirement-type
- decompose-test-items
- generate-test-cases
- build-expected-results
- format-output
步骤输入输出契约
Step 1: identify-requirement-type
- 输入:user_requirement_text
- 输出:requirement_type, reason, candidates, recommended_test_methods, suggested_decompose_template
Step 2: decompose-test-items
- 输入:user_requirement_text, requirement_type, recommended_test_methods, suggested_decompose_template
- 输出:normal_test_items, abnormal_test_items, coverage_analysis
Step 3: generate-test-cases
- 输入:normal_test_items, abnormal_test_items, requirement_type, recommended_test_methods
- 输出:normal_test_cases, abnormal_test_cases, method_alignment_report
Step 4: build-expected-results
- 输入:normal_test_cases, abnormal_test_cases, requirement_type, recommended_test_methods
- 输出:normal_expected_results, abnormal_expected_results
Step 5: format-output
- 输入:normal_test_items, abnormal_test_items, normal_test_cases, abnormal_test_cases, normal_expected_results, abnormal_expected_results, coverage_analysis
- 输出:三段式结构化 Markdown
全局约束规则
- 除非用户明确要求只看中间步骤,否则禁止跳步。
- 每一步都必须显式接收上一步输出作为上下文输入。
- 若 requirement_type 为未知类型,必须继续执行通用分解,不得中断调用链。
- 每个测试项必须同时覆盖正常与异常视角;复杂功能必须细分到可直接对应测试用例的粒度。
- 每个测试项、测试用例、预期成果必须具备唯一标识,并保持可追踪映射关系。
- 最终输出必须严格包含测试项、测试用例、预期成果三段,并按正常测试/异常测试分组。
- 测试项和测试用例设计必须对齐以下规范:
- 测试项分解要求
- 测试项与测试用例技术要求
- 常用测试方法
失败降级策略
| 失败场景 | 处理策略 | 是否继续 |
|---|---|---|
| Step 1 无法稳定识别类型 | requirement_type=未知类型,输出 1-3 个候选类型 | 是 |
| Step 2 覆盖率不足 | 输出 coverage_analysis 与补充建议 | 是 |
| Step 3 方法不完全对齐 | 输出 method_alignment_report 并标记低对齐项 | 是 |
| Step 4 缺少可量化指标 | 使用通用默认口径并标记待确认字段 | 是 |
| Step 5 格式化失败 | 回退为结构化 JSON 输出,不得丢失三段内容 | 是 |
调试模式
- debug=true 时,每一步追加 step_name, input_summary, output_summary, success, fallback_used, duration_ms。
- debug=true 时,最终输出追加覆盖矩阵与方法追踪矩阵。