CANN/cannbot-skills测试框架与开发方法
测试框架与测试开发方法
【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills
测试工程的搭建与测试代码开发方法。测试配置(dtype/shape/容差/oracle)以上游测试方案与 Spec 为真值源;test_matrix 管理见
ascendc-st-design。精度标准与性能采集见 precision-and-perf.md。
测试工程组成
| 文件 | 作用 |
|---|---|
gen_data.py | 测试数据生成(按 dtype/shape 生成输入与 CPU golden 期望输出) |
run.sh | 运行脚本(编译 + 执行 + 结果比对的入口) |
| golden 实现 | CPU 侧参考实现,产出期望输出,作为精度比对基准 |
| 用例表 | 按 L0/L1/L2 分级组织的 shape × dtype 组合 |
| 性能采集框架 | 跑出各 shape/dtype 的耗时、带宽、利用率 |
分级功能用例设计
| 级别 | 名称 | 覆盖 | 用途 |
|---|---|---|---|
| L0 | 门槛用例 | 常规 shape 与 dtype,用例小、执行快 | 开发时简单功能验证(8-16 元素基础功能) |
| L1 | 功能用例 | 典型 shape、竞品 shape | 验证常用功能覆盖完全(1K 元素典型场景) |
| L2 | 异常用例 | 超大 shape、空指针、极值/零值等异常输入 | 边界与异常输入验证 |
分级用例的 shape/dtype 组织通过ascendc-st-design的 test_matrix 管理,与 Spec 保持一致。
白盒测试补全
- 以算子代码与已有黑盒测试为输入,基于算子代码分析分支覆盖。
- 补充白盒用例,覆盖黑盒用例未涉及的分支(如尾核处理、特定 Tiling 分支、非对齐路径)。
- 分支覆盖达标阈值以配置为准。
golden 实现要点
- golden 为 CPU 侧独立实现,不复用被测 Kernel 逻辑,保证比对独立性。
- golden 输出作为精度比对基准,容差按 dtype 取
ops-precision-standard标准。 - 发现算子疑似缺陷时,以测试暴露问题并回退给算子开发角色,不自行改算子实现。
测试代码可执行、可复现是交付底线:用例须能实际运行并给出通过/失败结论,非对齐场景须纳入覆盖。
【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
