Skip to content
EN

CosmoEdge 测试范围与测试用例说明书

本文为 QA、开发和集成团队提供当前版本的测试基线。测试结论必须绑定软件版本、目标平台、 模型、输入、配置和执行时长;x86、构建容器或其他芯片上的通过结果不能替代目标设备验收。

一、测试范围与证据边界

测试覆盖以下层级:

  1. 静态与单元测试:格式、静态分析、DTO、路由、服务和组件级测试。
  2. 容器集成测试:x86 Docker 下的登录、上传、配置、推理和事件闭环。
  3. 目标平台测试:在 BM1688、CV186X 或 RK3576 等实际目标上验证目标专用模型、媒体链路和资源行为。
  4. 业务验收:使用固定正样本、负样本和困难样本验证误报、漏报、事件语义和持续运行。
  5. 发布证据:冻结候选提交、安装包哈希、目标标记、运行版本和完整测试结果。

以下边界必须保留:

  • 每次构建只选择一个推理后端;ONNX、Sophon .nn/.bmodel 和 RKNN .rknn 产物不能跨后端使用。
  • BM1688、CV186X、RK3576 和 RV1126B 的目标产物不能仅凭文件名互换。
  • Open 包使用明文模型,不需要设备绑定证书;Protected 包的模型保护和设备证书属于独立的分发能力。
  • COSMO_DEV_MODE 控制开发日志、看门狗等生产行为,不是 HTTP 登录或设备 SN 鉴权旁路。
  • 实时画面的框和标签由 Pipeline 元数据及渲染器生成;当前动作目录没有独立 OSD 节点。
  • 性能通过点必须来自当前候选的实测报告,不能复用其他版本、模型或平台的固定路数和延迟。

二、测试环境与物料

2.1 平台矩阵

平台后端 / 产物适用测试证据边界
x86 Linux / WindowsONNX Runtime / .onnxUI、API、流程和 CPU 集成测试不代表 NPU 行为或容量
Apple Silicon macOS Previewlinux/amd64 仿真 / .onnx单路本地视频体验不是原生 arm64、NPU 或生产性能证据
Sophon BM1688BMRT / 目标专用模型包安装、推理、媒体、容量和稳定性必须使用 BM1688 包和设备
Sophon CV186XBMRT / 目标专用模型包安装、推理、媒体、容量和稳定性必须使用 CV186X 包和设备
Rockchip RK3576RKNN Runtime / .rknnRKNN、MPP/RGA、容量和稳定性必须使用 RK3576 包和设备
Rockchip RV1126BRKNN Runtime / .rknn构建与条件性设备验证可部署验收还需要目标模型 overlay

实际操作系统、驱动、Runtime、模型和安装包身份必须记录在测试报告中,不能把本表当成版本锁。

2.2 测试物料

  • 固定的视频、图片及其 SHA-256;素材必须可合法使用且不含未脱敏客户数据。
  • 模型来源、版本、哈希、输入输出、预处理、后处理和标签顺序。
  • 正样本、负样本和困难样本,以及每个样本的预期结果。
  • 目标芯片、软件版本、安装包哈希、运行时和驱动身份。
  • 需要推送验证时使用隔离的 MQTT Broker 或 HTTP Webhook 接收端。
  • 性能测试使用版本化 ScenarioBench 场景包和明确的门禁配置。

三、功能与集成测试用例

3.1 用户认证、会话与 Onboarding(TC-AUTH)

用例目标步骤预期结果
TC-AUTH-001首次登录使用 admin / admin 登录新数据目录登录成功并返回 mtk;响应提示必须修改默认密码
TC-AUTH-002无效会话不携带或携带无效 mtk 调用 /gtw/cwai/System/QueryDeviceInfo返回 HTTP 401 或明确的鉴权失败;不能被误判为路由不存在
TC-AUTH-003修改密码和撤销会话登录后修改密码,再使用修改前的所有 token 请求受保护接口密码持久化;该用户旧 token 全部失效;新密码可重新登录
TC-AUTH-004Onboarding 边界匿名调用 StatusComplete,再匿名和登录后调用 ResetStatus/Complete 可匿名;Reset 必须携带有效 mtk;状态可持久化
TC-AUTH-005Open 模型分发边界在 Open 包查询模型授权状态并运行内置明文模型授权工具显示不支持或不可用不阻塞 Open 模型;应用功能不因设备 SN 被限制
TC-AUTH-006Protected 证书状态在含 provisioner 的 Protected 包分别测试无证书、错误证书和有效证书返回可解释状态;错误或异机证书不得显示为有效;有效证书与本机绑定

3.2 视频接入与媒体生命周期(TC-CAM)

用例目标步骤预期结果
TC-CAM-001本地视频上传查询上传能力,分片上传固定 MP4,创建通道上传进度、完成状态和通道信息正确;不泄露服务器临时路径
TC-CAM-002播放次数分别配置 01 和一个大于 1 的播放次数0 无限循环;1 播放一次;正数表示总播放次数;0–100 范围外的值不能持久化
TC-CAM-003RTSP 接入添加固定 RTSP 源,观察首帧、持续播放和资源释放能连接并解码;停止或删除后不残留任务、解码器或预览状态
TC-CAM-004RTSP 重连中断已运行的 RTSP 源,再恢复推流中断状态可见;恢复后自动重连;无崩溃、重复任务或永久卡住状态
TC-CAM-005无效输入提交不支持协议、无效地址、损坏视频和超预算文件请求被安全拒绝并返回可操作错误;服务继续处理其他通道

3.3 模型仓库与目标兼容性(TC-MOD)

用例目标步骤预期结果
TC-MOD-001x86 模型导入导入受支持的固定 ONNX 和完整元数据模型条目可用;图片正负样本结果与基线一致
TC-MOD-002Sophon 模型导入在目标设备导入与芯片匹配的 .bmodel/模型包模型加载、张量和后处理通过;不能仅以“上传成功”判定可用
TC-MOD-003RKNN 模型导入在 RK3576 或 RV1126B 上加载对应 .rknnRuntime、输入格式和输出解析匹配目标 profile
TC-MOD-004错误目标产物在不匹配芯片或后端上导入目标专用产物初始化或预检明确失败;不得静默回退后宣告成功
TC-MOD-005导出策略分别导出用户模型、预置/加密/设备绑定模型允许导出的模型返回附件;受保护模型返回明确的不可导出错误

3.4 Pipeline 编排(TC-FLOW)

用例目标步骤预期结果
TC-FLOW-001最小检测链创建“视频解码 → 目标检测 → 可选跟踪/过滤 → 事件上报”保存后节点、连接和参数保持;运行可产生可解释目标和事件
TC-FLOW-002无效连接缺少上游数据、使用不匹配类型或制造断链后保存前端或后端拒绝无效配置并指出可定位的节点/字段
TC-FLOW-003导入导出导出编排,在同版本隔离环境重新导入节点 ID、模型引用、参数和连接保持;缺失模型时明确报告依赖
TC-FLOW-004当前动作目录检查节点列表并配置实时叠加不出现独立 OSD 动作;实时展示使用 Pipeline 输出元数据渲染

3.5 场景任务、区域与策略(TC-TASK)

用例目标步骤预期结果
TC-TASK-001ROI 生效固定配置下让目标分别位于区域内外区域内正样本按规则产生事件;区域外负样本不产生对应区域事件
TC-TASK-002参数持久化修改阈值、告警间隔、去重和时间规则,保存并重启页面、运行配置和重启后的值一致;一次只修改一个变量时结果可解释
TC-TASK-003调度策略配置当前有效和无效时间段只在有效时间内运行;跨边界切换不重复创建任务或遗留资源
TC-TASK-004批量启停对多通道任务批量开启、关闭和重复提交操作幂等;失败项可定位;关闭后推理和媒体资源释放

3.6 实时展示与渲染(TC-LIVE)

用例目标步骤预期结果
TC-LIVE-001原始/算法预览在同一通道切换原始流和算法流首帧、加载、无信号和切换状态正确;旧播放器和连接被清理
TC-LIVE-002元数据叠加启用支持可视化的算法并选择对应叠加层框、标签、区域和轨迹与目标元数据一致;无独立 OSD 节点依赖
TC-LIVE-003持续播放按任务验收时长持续预览,并切换通道和叠加层无持续增长的播放器、连接或内存;无长期黑屏或过期叠加

延迟门禁必须由本次任务定义并记录网络、编解码和播放方式;本页不提供跨设备通用的固定毫秒值。

3.7 VLM 与 DINO(TC-LLM)

用例目标步骤预期结果
TC-LLM-001VLM 图片基线对固定正样本、负样本和困难样本运行同一提示词输出满足任务定义;记录误报、漏报、耗时和资源;结果可复测
TC-LLM-002VLM 视频任务图片基线通过后绑定固定视频并设置分析频率事件、截图和时间与分析结果对应;无重复初始化或持续超时
TC-LLM-003DINO 开放词表使用明确的英文目标词测试正负样本目标框与词义和位置匹配;模糊词或相近负样本结果被记录

VLM/DINO 性能门禁必须绑定具体模型、提示词、输入、目标 FPS 和设备,不使用通用推理耗时。

3.8 事件与外部推送(TC-ALARM)

用例目标步骤预期结果
TC-ALARM-001事件查询与导出按通道、算法和时间查询并导出固定事件列表与导出数量、时间和字段一致;编码正确;敏感路径不外泄
TC-ALARM-002MQTT配置隔离 Broker,触发一次固定事件并监听设备上报 topic注册、心跳和事件结构符合 MQTT 参考;断开后状态和重连可观测
TC-ALARM-003HTTP Webhook配置隔离接收端,分别返回成功、超时和失败成功负载字段正确;失败不阻塞主任务;重试/状态符合当前实现

3.9 系统、升级与恢复(TC-SYS)

用例目标步骤预期结果
TC-SYS-001资源感知上传在充足空间和触发安全储备两种情况下查询能力并上传可用空间、所需空间和拒绝原因一致;磁盘安全储备生效
TC-SYS-002软件升级记录 bootId 和版本,上传合法包并执行升级包名、MD5、归档和空间校验通过后才重启;新 bootId 与版本共同证明恢复
TC-SYS-003非法升级包使用错误名称、MD5、目标或危险归档结构升级在写入活动应用前失败;原版本仍可运行或按恢复方案处理
TC-SYS-004看门狗仅在获准测试设备上模拟进程异常非开发构建按服务策略恢复;COSMO_DEV_MODE 构建明确记录看门狗关闭

四、性能与稳定性测试

用例目标方法通过条件
TC-PERF-001容量阶梯使用版本化 ScenarioBench 场景包逐路增加负载报告给出最后通过点和首个失败原因;不把最高配置点自动称为推荐容量
TC-PERF-002预览开销分别测试无预览、单路预览、每路预览和同流多客户端每种模式单独记录媒体、推理、丢帧和资源;不能混用结论
TC-PERF-003持续运行在固定满负载点运行任务要求的 12/24/72 小时满负载覆盖时长达到门禁;采样连续;无崩溃、计数器回退或无界资源增长
TC-PERF-004业务精度对版本化离线数据集比较参考与候选输出使用任务批准的类别、IoU、置信度和匹配阈值;人工复核误报和漏报

公开 benchmark 只能说明其记录的平台、模型、输入和版本。新候选必须生成自己的结果或明确标记未验证。

五、变更类型与最低验证

变更最低验证
文档完整文档检查和站点构建
前端i18n、资源 i18n、生产构建和受影响页面验收
C++格式检查、CPU 测试构建、cosmo-tests 和相关单元测试
API / 网络鉴权、无效输入、错误响应和生命周期测试
模型 / 推理 /媒体目标平台包、目标设备、固定真实输入和初始化日志
构建 / 打包 / 资源目标标记、包内容、SHA-256 和部署兼容性

具体命令以CI 与质量检查构建指南为准,不在本页维护第二套命令清单。

六、测试报告要求

每份报告至少包含:

  • 候选提交和源码 tree;
  • 平台、操作系统、Runtime、驱动和媒体链路;
  • 安装包文件名、目标标记和 SHA-256;
  • 模型、输入、配置和场景包身份;
  • 实际执行命令、开始/结束时间和完整负载时长;
  • 用例通过、失败、阻塞和豁免结果;
  • 首个失败原因、日志和恢复状态;
  • 未验证边界,特别是未执行的目标设备、性能、稳定性和生产验收;
  • 对客户数据、凭据、设备标识和内部地址的脱敏说明。

构建成功、x86 成功、模型上传成功或页面重新可访问都只能证明对应层级,不能单独升级为目标设备或生产验收结论。

Released under the Apache 2.0 License.