Files
abox-mgr/docs/testing/release-lan-hardware-validation.md
T
KremeCN 0144ea992c docs: reorganize project documentation (#15)
## Summary
- add a root README with project overview, setup, usage, architecture, security, and contribution guidance
- replace stale planning and requirement notes with current 1.0 project overview
- update architecture and hardware validation docs to match the implemented app
- remove obsolete UI branch notes and the old Java/XML AsyncTask example
- remove the superpowers documentation and move vendor ABSDK references into docs/vendor
- preserve vendor Markdown and XLS content byte-for-byte

## Verification
- Markdown relative links checked
- vendor files verified as 100% Git renames
- git diff --check passed
- no application tests run; documentation-only change

Reviewed-on: #15
Co-authored-by: KremeCN <3265494849@qq.com>
2026-08-28 10:57:47 +08:00

4.7 KiB

正式版局域网硬件验收

目的与边界

本协议验证签名 Release APK 在已授权 ABox 局域网中的完整产品路径。本地体验和测试 Fake 不能替代真实硬件验收。

报告不得包含密码、Token、原始厂商响应、红外码值、完整网关地址或完整硬件标识。设备和 profile 使用脱敏别名。

执行前检查

  • 记录 App 版本、versionCode、Git 提交和 APK 签名摘要;
  • 确认测试网络、账号、网关和实体设备均已授权;
  • 确认 Android 通知权限和系统省电策略;
  • 准备实际名称分别为 智能插座、温湿度传感器 和 红外控制器 的设备,或在 App 中改成网关当前名称;
  • 清楚标记哪些步骤是界面验证、网关响应验证和实体设备响应验证。

验收流程

1. 安装、启动与登录

  1. 覆盖安装或全新安装 Release APK,确认启动不闪退。
  2. 使用无效凭据登录,确认停留在登录页并显示本地化错误。
  3. 使用授权凭据登录,确认进入设备中心。
  4. 重启 App,验证记住用户名和自动登录的已选行为。
  5. 使 Token 失效后执行操作,确认会话清理并返回登录流程。

2. 默认内容与数据隔离

  1. 首次登录 ABox 后确认三类默认设备存在,名称逐字为 智能插座、温湿度传感器、红外控制器。
  2. 确认红外控制器包含两个自定义遥控器,不自动添加预置码库遥控器。
  3. 重命名设备并重启,确认 App 保留用户名称,不执行自动迁移或覆盖。
  4. 切换到本地体验,确认 ABox 设备、遥控器、情景、活动和会话数据不出现。

3. 设备控制

  1. 在设备中心和插座详情各执行一次开关操作。
  2. 确认命令后回读真实状态;插座断电时不得仅因点击而显示已切换。
  3. 连续点击电源按钮,确认页面不抖动且不会并发重复发送。
  4. 读取温度和湿度,验证完整数据、单字段缺失、无数据和离线状态。
  5. 确认设备离线在设备中心和详情页均有明确视觉状态。

4. 红外控制器

  1. 按 infrared-hardware-validation.md 完成一个预置遥控器下载和发送流程。
  2. 完成一个自定义按钮的添加、学习、发送和重新学习流程。
  3. 验证学习失败与未学习状态不同。
  4. 验证遥控器排序、编辑、删除和硬件槽位管理。

5. 手动指令

  1. 创建包含插座、红外、延迟和通知动作的手动指令。
  2. 按配置顺序执行,确认失败策略和动作结果汇总符合设置。
  3. 验证同一指令执行期间不会被重复启动。

6. 自动指令

  1. 创建一个温度阈值触发的自动指令,并添加插座状态条件。
  2. 使用手动执行入口验证动作本身可用。
  3. 让传感器状态从不匹配进入匹配,确认执行一次。
  4. 在持续匹配期间等待后续轮询,确认不会重复执行。
  5. 先恢复到不匹配,再重新进入匹配,确认可以再次执行。
  6. 验证时间、湿度和插座状态触发器至少各一次。
  7. 验证温度、湿度、插座状态和跨午夜时间范围条件。
  8. 拒绝通知权限后执行通知动作,确认显示明确失败而不是成功。

7. 活动记录

  1. 确认设备命令、状态确认、传感器刷新、红外学习/发送、手动指令和自动指令均写入活动记录。
  2. 确认来源区分用户、自动化和系统,结果区分成功、失败、取消和等待确认。
  3. 在存在大量记录时验证分页加载和重新进入页面,不得闪退。
  4. 确认记录不包含凭据、原始响应或红外码值。

8. 外观、导航与本地化

  1. 验证浅色、深色、动态颜色、手动强调色、色彩风格、色彩规范和界面缩放。
  2. 在英文和简体中文下检查设备、红外、情景、自动化、活动、主题和关于页面。
  3. 验证二级页面不显示主页顶栏和底栏。
  4. 验证系统返回和左上角返回不会进入空白页面或重复回退。
  5. 验证 About 页面显示 1.0.0 (1)、包名和 Flagship 团队信息,点击入口不闪退。

结果记录

每个步骤记录:日期、版本与提交、脱敏 profile、脱敏设备名、操作类别、成功/失败/取消/不可用分类、粗粒度耗时、物理响应摘要和缺陷编号。真实硬件终态与 App 显示不一致必须判定为失败。

已知风险

  • ABSDK 使用厂商 JAR 中的明文 HTTP,只能在隔离且获授权的局域网中验收;
  • Android 后台限制和省电策略可能影响自动化轮询时效,应记录测试设备设置;
  • 网关依赖设备名称匹配,App 名称与网关名称不一致会导致设备操作失败。