---
name: build-expected-results
description: "当测试用例包含 expected_result_placeholder 时使用，将其展开为可验证、可量化、可判定通过/失败的预期成果集合。"
---

# build-expected-results

## 目标
将测试用例中的预期占位符展开为可验证、可测量、可判定通过/失败的预期成果。

## 输入
- normal_test_cases
- abnormal_test_cases
- requirement_type
- recommended_test_methods（可选）
- quality_criteria（可选，精度、时间、误差、资源阈值）

## 输出
- normal_expected_results
- abnormal_expected_results

每条预期成果至少包含：
- result_id
- case_id
- expected_results_detail
- evaluation_criteria
- pass_criteria
- termination_condition

## 强制规则
1. 预期成果必须来源于对应测试用例，不得脱离 case_id 独立生成。
2. 每条预期成果必须可验证，禁止使用模糊描述。
3. 预期成果必须覆盖：结果值、状态变化、时间要求、异常处理、通过准则。
4. 若包含定量结果，必须给出精度或允许偏差范围。
5. 若实际结果存在不确定性，必须定义重测条件。

## placeholder 展开映射
- {{return_value}} -> 返回码、返回体字段、字段值/类型约束
- {{state_change}} -> 状态机迁移、数据库字段变化、持久化副作用
- {{error_message}} -> 错误码、提示文案、触发条件
- {{data_persistence}} -> 数据落库、版本号、审计轨迹
- {{ui_display}} -> 页面元素、提示位置、可见性与文案
- {{precision_tolerance}} -> 精度阈值、允许误差上限与下限
- {{time_constraint}} -> 响应时间上限/下限、事件间隔
- {{retry_condition}} -> 触发重测的条件与次数限制
- {{error_handling}} -> 异常处理动作、回滚策略、保护措施
- {{sequence_event}} -> 事件顺序、状态切换顺序、时序关系
- {{resource_usage}} -> CPU/内存/磁盘/连接占用阈值
- {{pass_criteria}} -> 最终通过判定表达式

## 结果构造模板
每条 expected_results_detail 推荐按以下结构输出：
- observable_result：可直接观测的结果
- measurable_constraints：可量化约束（精度、时间、阈值等）
- side_effects：副作用与状态变更
- error_handling_expectation：异常处理期望
- retry_policy：重测策略
- final_pass_rule：通过准则

## 默认口径
当 quality_criteria 缺失时，使用以下默认规则：
- 时间约束：若无明确要求，标记为待确认，不擅自给固定毫秒值。
- 精度约束：若需求涉及计算，至少给出精度位数或误差范围占位。
- 资源阈值：若需求未给出，标记为待确认并保留观测项。

## 调试
- debug=true 时输出 placeholder_expansion_trace，包含 case_id、placeholder、expansion_source、fallback_used。
