完善skills;测试用例生成页面功能初步实现

This commit is contained in:
2026-05-05 19:45:33 +08:00
parent 0c2ed67e2a
commit 69b49d28b2
35 changed files with 4396 additions and 658 deletions

View File

@@ -0,0 +1,47 @@
---
name: generate-test-cases-whitebox
description: "当 recommended_test_methods 命中 M13-M18 时使用,按路径/数据/变异/插桩证据链生成可追踪测试用例并输出 method_alignment_report。"
---
# generate-test-cases-whitebox
## 目标
对输入测试项应用白盒方法M13-M18生成带可追踪执行证据的测试用例。
## 输入
- normal_test_items
- abnormal_test_items
- requirement_type可选
- recommended_test_methods可选格式建议 `Mxx|方法名`
## 输出
- normal_test_cases
- abnormal_test_cases
- method_alignment_report
## 白盒方法范围
- M13 控制流测试
- M14 数据流测试
- M15 程序变异
- M16 程序插桩
- M17 域测试
- M18 符号求值
## 通用规则
1. 白盒用例必须包含证据锚点路径编号、DU对、变异体、插桩点、域编号、约束编号
2. `test_inputs` 应能触发目标证据链,禁止只描述功能输入。
3. `operation_steps` 必须包含证据采集或比对动作。
4. `case_summary` 必须标注 `Mxx|方法名`
5. 白盒用例可结合 `{{pass_criteria}}``{{resource_usage}}``{{state_change}}` 进行结果绑定。
## 方法详细说明M13-M18
- M13 控制流测试依据控制流图生成用例目标是覆盖不同控制结构。常用覆盖包括语句覆盖、分支覆盖、条件覆盖、条件组合覆盖、MC/DC 和路径覆盖。标准步骤为:流程图转控制流图、路径表达式求解、路径树生成、路径编码与译码、按目标路径枚举测试用例。`method_alignment_report` 应记录覆盖准则与未覆盖路径原因。
- M14 数据流测试:在控制流图上分析变量定义、使用和消除,重点发现“未定义就使用”与“定义后未使用”等数据流异常。建议步骤为:构建控制流图、标注链路数据操作符、选择数据流覆盖策略、导出测试路径、再生成输入与用例。除静态分析外,可结合动态数据流检查提高真实性,但要说明路径覆盖局限。
- M15 程序变异:以错误驱动方式定义变异算子并生成语法合法的变异体,通过测试数据逐个执行变异体判断检测能力。可区分强变异与弱变异,并在报告中统计“杀死率、存活率、等价变异占比”。该方法既用于找缺陷,也用于评价现有测试用例集的有效性。
- M16 程序插桩:通过在程序中插入观测操作实现证据采集,但不得改变被测程序原有功能与运行语义。建议步骤为:定位插桩点、插入采样逻辑、执行测试、回收与分析数据、移除或关闭插桩。由于数据记录量通常较大,宜借助工具完成并在报告中注明插桩开销与可信度。
- M17 域测试:目标是验证程序对输入空间划分是否正确,重点检查域内、边界和跨域样本的判定一致性。该方法约束较多、使用门槛较高,通常用于有特殊质量要求的场景。用例中应保留域划分依据与判定规则,避免仅给样本值不说明域归属。
- M18 符号求值:允许变量取符号值,通过符号执行检查公式与分支约束是否满足预期,并可导出程序路径用于生成测试数据。适用于公式密集或约束明确的逻辑。复杂分支推荐工具化处理,分支较少时可人工推导并在用例中记录约束来源与推导过程。
## 对齐输出要求
-`method_alignment_report` 中记录:`case_id``selected_methods``alignment_score``gaps``fix_suggestions`
- 对无法构造证据链的方法,必须输出 `gaps` 与降级策略说明。