Files
rag_agent/.github/skills/generate-test-cases-whitebox/SKILL.md

3.6 KiB
Raw Blame History

name, description
name description
generate-test-cases-whitebox 当 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_idselected_methodsalignment_scoregapsfix_suggestions
  • 对无法构造证据链的方法,必须输出 gaps 与降级策略说明。