## 任务目标
请为本次指定的 Python 接口补齐有意义的测试并完成验收。
在现有授权范围内完成实际改动和验证;缺少外部条件时先完成可独立实现的部分,不能只停留在计划。
## 输入信息(选填)
两项均可留空,也可直接用一句话说明目标并附上已有资料。无需自行整理版本、配置或完整需求表;能读取的内容由执行者补齐。
待补测试接口:
接口或测试资料:
## 信息不完整时
先使用本次对话中已经说明的信息;用户留空、写“暂无/不清楚”或未替换输入标记,都按缺失处理,不当作真实路径、参数或业务值。已能从资料确定的内容不重复询问,不编造文件、日志、接口、业务值或执行结果。在用户已授权的范围内读取相关工程和材料,不为补齐输入擅自扩大操作范围。
### 优先确认
- 对照函数签名、实现分支和调用方确认默认值、空值、返回结构及异常约定。
- 检查已有测试遗漏、缺陷复现和独立参考结果,确定数值精度或金额计数规则。
- 读取最低 Python 版本、测试命令及设备条件,仅对实际 Paddle 接口识别动态图、静态图或梯度要求。
### 可采用的默认处理
- 沿用现有测试框架和支持矩阵,以业务承诺为单位新增用例,不追求无意义的行数或组合数量。
- 没有性能或数值容差依据时不设置任意门槛;确定性计数、字段及异常先做精确断言。
- 随机和时间相关场景固定可控条件,测试用临时资源并隔离副作用,不污染生产数据。
### 必须有依据的事项
- 业务或数学定义缺失,导致数值期望、合法范围或误差阈值没有可信依据;不能用被测实现反算期望来证明自己正确。
只有缺口会改变业务结果、权限边界或关键实现,且无法从现有资料确认时,才集中提出最多 3 个关键问题;说明影响,并继续完成不依赖答案的部分。一般命名、排版和可逆实现细节按现有约定决定,不逐项等待确认。
### 资料仍不足时的交付
- 缺设备时仍补齐可检查测试代码和输入矩阵,将设备相关用例注明待运行。
- 缺接口实现时按已知契约给出用例及断言设计,单列无法确定的数值期望,不伪造执行结果。
## 执行要求
按接口实际支持范围确定测试要求。针对 Paddle API 时核对相应运行模式、硬件和精度;普通服务仅采用适用的参数、边界及断言原则,不强加飞桨特定的覆盖率、梯度或耗时门槛。
1. 先列出接口可观察行为、输入约束、输出结构和异常约定,指出当前测试实际覆盖的部分。每个新增测试必须验证一项业务承诺或曾经出现的缺陷,不为提高行数而复制同一条正常调用。
2. 为必选与可选参数建立测试矩阵,包含合法值、默认值、边界、无效类型、空值及有意义的组合。解释哪些组合受业务限制而不成立,不能用任意字符串堆出与真实接口无关的用例。
3. 对数值计算选取可信参考结果或独立实现,检查形状、数据类型和数值误差。误差阈值必须有算法、精度或项目规范依据,不能在测试失败后直接放宽到通过;普通业务计数和金额按其精度规则断言。
4. 根据支持范围选择解释器、依赖、运行模式及硬件。Paddle 特有的动态图、静态图或梯度检查只在相应接口适用时加入;未支持环境明确列为不适用,不能跳过后仍写全部平台通过。
5. 对异常输入断言错误类型和必要上下文,测试命名写出触发条件与预期结果。避免只断言“不为空”或“未抛错”,同时检查是否意外修改输入、遗留文件或污染全局状态,保证测试可独立复现。
6. 运行受影响测试并检查失败原因,修复后复跑对应范围。将偶发失败与稳定缺陷区分,记录随机源、环境和执行条件;只有出现新变更或未解决风险时才扩大回归,不用重复执行掩盖不稳定性。
## 交付与验收
输出:测试矩阵、关键测试代码、已发现缺陷、实际执行结果及尚未覆盖的风险。缺少数学定义或业务契约时标出无法确定的期望值,先完成其他可判定测试;没有环境时只交付测试方案与代码,不声称验收通过。
### 本条完成检查
- 测试矩阵覆盖真实合法值、默认值、非法类型、空值和关键组合,每条对应明确业务承诺。
- 断言输出、异常及输入不被意外修改;数值参考与容差依据独立且可追查。
- 交付测试代码、实际执行条件、通过失败与未覆盖项,不能将跳过设备计为该平台通过。
按本条要求组织结果,使用简洁中文和一致的编号、术语、缩进及空行;已有项目格式优先。只说明实际完成的内容,将采用的假设、未完成项和缺少的条件写在相关位置,不额外生成无关文档。未执行、无法复现或缺少证据的检查如实标注,不宣称已通过或已有性能收益。
## 参考资料与适用边界
官方来源(2026-09-08 核验):
- [百度飞桨《API 单测开发及验收规范》](https://www.paddlepaddle.org.cn/documentation/docs/zh/dev_guides/api_contributing_guides/api_accpetance_criteria_cn.html)