# SPEC协议规范

工具功能

本工具用于检测设备的真实功能与在开发者平台配置的 SPEC 定义是否一致,帮助开发者快速发现配置与实际功能之间的差异

实现原理

工具通过设备所属环境和设备 DID 查询设备上报日志,清洗出属性值,并与 SPEC 定义的属性进行对比。系统会识别出 SPEC 中已定义但设备日志中缺失的属性,这类属性将被标记为 miss(缺失)。

# 工具使用

工具入口

工具入口

点击「打开工具」按钮,进入任务操作页面。

任务操作

图片

在任务操作页面,您可以:

  1. 选择环境:选择设备所属的测试环境

  2. 选择设备:从对应环境中选择待测试设备,最多支持 **5 **个设备

  3. 设置对比时间段:选择日志对比的时间范围,最长 7

  4. 开始测试:点击「开始测试」按钮启动对比任务

任务列表

图片

任务执行完成后,您可以上传报告并进入查看报告 了解详细的对比结果,如图所示:

图片

# 查看报告

除了在任务列表中查看报告外,您还可以在客户端左侧菜单的测试结果里面找到已上传的报告,进入报告页面后展示的内容如下:

图片

  • 设备信息:被测试设备的基本信息

  • 对比时间段:日志分析的时间范围

  • SPEC 定义版本:对应的设备类型(设备 urn 的值)

  • 对比统计结果:整体匹配情况的汇总数据

  • 对比统计明细:详细的属性匹配结果,匹配结果说明:

    • 成功:设备功能与 SPEC 定义匹配成功

    • miss:设备未上报该功能的 OT 日志,可能原因包括:

      (1)设备不具备此功能

      (2)功能未被触发,未产生日志

手动确认

对于标记为 miss 的属性,实验室同学可以与厂商确认后进行手动确认。在报告页面填写原因说明并提交后,工具会自动更新匹配结果和报告数据。

图片

# 实现原理与常见问题排查

# 一、工具实现原理

# 1.1 核心概述

Spec 完整性比较的核心逻辑:从开发者平台获取设备的 Spec 定义("应该有什么"),从后台日志查询设备在指定时间段内的实际上报数据("实际有什么"),两者做差集比较 -- Spec 中有但实际数据中没出现的属性/事件标记为 MISS。确认没用到的 spec 属性,需要在平台定义中删除。

# 1.2 核心逻辑详解

步骤1:过滤测试任务时间窗

查询到的上报数据中,落在 Spec 功能测试或耗时测试执行时间窗口内的数据会被过滤掉。这些测试任务会主动触发设备上报,产生的上报数据不代表真实用户行为,会干扰完整性判断。

图片

步骤2:比较差异

遍历 Spec 基准列表中的每个属性/事件,在 OT 消息列表中查找是否存在匹配的 IID:

图片

# 1.3 结果状态流转

1.3.1 属性结果

属性结果

三种结果判断标准:

结果说明
成功日志信息中找到了匹配的 IID
missSpec 定义了但实际日志数据中未找到
确认后通过人工审核后确认该 MISS 属于正常情况,附带确认原因

1.3.2 任务结果

任务结果

三种结果判定逻辑:

条件审批状态
所有属性均为 "成功"通过
存在 MISS,但全部已人工 "确认后通过"确认后通过
存在未确认的 MISS不通过

# 二、常见问题

# 2.1 属性 MISS 排查步骤

属性显示 MISS 可能有多种原因,按以下步骤逐步排查可以快速定位根因。

Step 1:检查时间范围是否合理

  • 用户是否在该时间段内实际操作过设备(触发属性上报)
  • 检查 miss 的属性操作时间是否在 spec 功能测试和耗时测试时间段内,这部分时间段日志会被过滤掉
  • 本工具用于查询日志的底表有一天数据延迟,最好是当天操作设备,第二天再用工具比较

Step 2:确认 MISS 属性在对比时间段内是否有上报日志记录

可以在开发者平台根据设备 did 查询日志记录,地址:https://iot.mi.com/fe-op/operationCenter/log/device#tab=COMMUNICATION

注意:如果 MISS 属性是 write 类型且环境为海外(or/sgp/ams/mos/pn),这是正常现象 -- 海外没有下行 RPC 表,write 属性无法自动匹配。直接走人工确认即可。

Step 3:寻求工具组支持

如果步骤1和步骤2都检查确认无误且在步骤2中找到了 miss 属性的 OT 日志,那么可以提单给 SA 处理,并且贴上前两步检查信息,无有效信息的工单不予处理

# 2.2 常见情况和对应的处理方式

根因处理方式
设备确实未上报(正常 MISS)排查设备固件是否实现了该属性
write 属性 + 海外环境海外无下行 RPC 表,属于已知限制,走人工确认
Spec 定义中的属性,设备无法触发或不方便触发的功能联系认证实验室测试人员,走人工确认

# 2.3 人工确认操作

对于确认属于预期的 MISS 属性,通过「人工确认」功能将其标记为 "确认后通过",需填写确认原因(如"该事件为故障告警,正常使用不会触发"等)。

上次更新: 4/24/2026, 11:08:24 AM