介绍一款智能家电APP自动化测试工具-宏控天工UTP为家电测试提供更多可能

0 阅读10分钟

一、宏控天工-UTP系统简介

宏控天工UTP协同自动化测试系统(简称宏控天工-UTP)是一款通用的自动化测试系统,支持对嵌入式系统及移动端应用的各种接口进行测试,其中包括移动APP的UI交互、网络通信(HTTP、MQTT、TCP/UDP)、蓝牙/WiFi通信,以及家电设备的UART、CAN、SPI、I2C、AD、DA、DIO、PWM、屏幕显示等,能够进行各种复杂时序的协同自动化测试。

宏控天工-UTP系统具备对智能家电APP进行全面自动化测试的能力,并支持APP与家电设备之间的协同验证。接下来将详细介绍宏控天工-UTP系统如何实现对智能家电APP的自动化测试,并以一个典型的协同测试用例为例,展示其工作流程。


二、宏控天工-UTP系统支持对智能家电APP进行全面测试

2.1 智能家电APP与设备系统介绍

在智能家居领域,智能家电APP(如智能空调、智能冰箱、智能洗衣机、智能烤箱等配套APP)是用户与家电设备交互的核心入口。用户通过APP可以远程控制设备开关、调节参数(温度、模式、定时)、查看设备状态、接收报警信息等。

image.png 以智能空调为例,其系统架构如下:

  • 移动端APP:运行在手机/平板上,通过HTTP/HTTPS与云端平台通信,通过MQTT或私有TCP协议与设备直接通信(局域网或远程),实现指令下发和状态上报。
  • 云端平台:转发APP指令至设备,存储设备状态,推送消息。
  • 家电设备主控(MCU):接收网络指令,控制压缩机、风机、导风板等执行器,采集温度、湿度传感器数据,驱动屏幕或数码管显示状态,通过数字IO控制指示灯,通过PWM调节电机转速。

2.2 智能家电APP测试分析

对智能家电APP进行全面自动化测试,需要覆盖以下关键测试点:

2.2.1 APP自身功能测试

  1. UI界面交互测试:验证APP各界面元素(按钮、滑块、输入框)的响应,页面跳转逻辑,状态同步显示。
  2. 网络通信测试:仿真云端API接口,测试APP的登录、设备绑定、指令下发、状态拉取等功能;仿真设备端响应,测试APP的超时重试、异常提示等。
  3. 多设备管理测试:模拟多个虚拟设备,测试APP的设备列表展示、设备切换、批量控制等。
  4. 兼容性测试:在不同分辨率、操作系统版本的手机上自动运行用例。

2.2.2 APP与家电设备的协同测试(关键)

APP控制设备的最终效果需要通过家电设备的实际输出进行验证。协同测试包括:

  • APP下发指令 → 检查家电屏幕显示:例如APP设置空调温度为26℃、制冷模式,需检查空调屏幕是否显示“26℃”和“制冷”图标。
  • APP下发指令 → 检查控制板输出信号:例如APP启动洗衣机加热功能,需检查控制板输出的PWM信号(加热管驱动)或数字IO(继电器吸合)。
  • APP下发指令 → 检查执行器动作:例如APP开启烤箱上下火,需检查控制板输出的IO信号是否使能了相应的继电器。
  • 设备状态变化 → APP界面同步:例如手动操作设备按键改变温度,APP界面应实时更新显示。

这种“APP指令 → 设备物理输出”的闭环验证,是智能家电APP测试的核心难点,也是UTP系统的优势所在。

2.2.3 异常场景测试

  • 网络断连时APP的本地缓存与重连后同步。
  • 设备离线时APP的提示与恢复后自动重连。
  • 云端异常响应(超时、错误码)时APP的处理。

UTP系统通过选配多种测试接口,并设计协同自动化测试用例,可以完整覆盖上述所有测试点。


三、以“APP控制空调温度并检查屏幕显示与控制板输出”协同测试用例为例

下面以一个典型的协同测试用例——“APP设置空调温度为26℃、制冷模式,验证空调屏幕显示正确且控制板压缩机继电器输出符合预期”——为例,详细介绍UTP系统从测试环境搭建、机器人配置、AI辅助用例生成到执行的全过程。

image.png

3.1 测试目标

验证用户通过APP将空调设置为26℃制冷模式后:

  1. 空调屏幕正确显示“26℃”和制冷图标;
  2. 控制板输出的压缩机继电器控制信号(数字IO)为高电平(表示启动);
  3. APP界面状态同步更新为“26℃ 制冷”。

3.2 测试环境配置

宏控天工-UTP部署在测试主机上,通过USB/网络/无线等接口连接,实现对空调温度的全面测试:

  • APP控制:运行在手机模拟器或真机上,自动执行APP的点击、滑动、输入等操作,并获取APP界面元素状态。
  • UI显示:连接空调屏幕(通过摄像头或屏幕抓取模块),自动识别屏幕上的温度数值和图标。
  • **数字IO检测:连接空调控制板的压缩机继电器控制引脚,实时检测电平状态。
  • 串口通信:连接空调主控调试串口,获取内部日志用于深度分析。

image.png

3.3 AI辅助生成测试用例

UTP系统内置了AI辅助测试用例生成功能。对于上述协同测试场景,测试人员只需用自然语言描述:

“测试APP设置空调温度为26℃、制冷模式。验证空调屏幕显示26℃和制冷图标,压缩机继电器输出高电平,APP界面状态更新为26℃制冷。”

AI会自动分析并生成完整的测试用例,包括:

  • 步骤1:启动APP,登录,进入空调控制界面。
  • 步骤2:APP滑动温度滑块至26℃,点击“制冷模式”按钮,点击“确认”或“发送”按钮。
  • 步骤3:UI显示接口拍摄空调屏幕,使用OCR识别温度数字“26”,使用图标匹配识别“制冷”图标。
  • 步骤4:数字IO检测读取压缩机继电器控制引脚电平,预期为高电平(>3V)。
  • 步骤5:APP返回主界面,检查状态显示区是否显示“26℃ 制冷”。
  • 步骤6:通过串口检查MCU日志。

AI还会自动添加异常分支,例如:若屏幕识别失败,自动重试3次;若继电器电平异常,记录详细波形等。

测试人员可以在图形化界面上对AI生成的用例进行微调(如调整OCR识别区域、延时等待时间),然后保存为可执行的测试用例。

3.4 图形化自动化测试用例详情

下图是该用例在UTP图形化编辑器中的完整步骤序列:

image.png

用例中还包含了超时控制、失败截图、日志记录等增强配置。

3.5 用例执行与报告

测试人员点击“执行”按钮,UTP系统自动按照时序调度各测试机器人协同工作:

  • APP控制接口在手机上执行点击滑动;
  • UI测试接口在适当时刻触发拍照和识别;
  • 数字IO检测接口实时采集电平并记录时间戳。

执行过程中,系统实时显示每个步骤的状态。执行完成后,自动生成详细测试报告,包含:

  • 每个步骤的通过/失败及实际值(如OCR识别的文字、IO电平波形截图)。
  • 失败时自动保存的屏幕截图(APP界面、空调屏幕)。
  • 总体结论及建议。

3.6 其他协同测试用例扩展

同样的方法,UTP系统可以设计并执行更多APP与家电设备的协同测试用例:

  • APP启动洗衣机加热:验证控制板PWM加热输出信号 + 屏幕显示“加热中”。
  • APP设置烤箱上下火200℃:验证控制板两个继电器输出 + 屏幕显示目标温度。
  • 手动操作设备按键:验证APP界面状态自动同步更新。
  • APP定时开关机:验证设备在指定时间执行动作且屏幕显示定时图标。
  • 异常场景:设备离线:APP下发指令,验证APP提示“设备离线”且设备无任何输出。

所有用例均可在UTP系统中统一管理、批量执行、定期回归,并支持与CI/CD系统集成。


四、UTP测试系统功能与特点

4.1 主要功能

  • 移动APP自动化测试:支持Android/iOS应用的UI自动化,包括点击、输入、滑动、断言等操作,兼容主流测试框架(Appium、UIAutomator等)。
  • 网络通信仿真与监控:支持HTTP/HTTPS、MQTT、TCP/UDP协议的仿真与报文捕获,可模拟云端或设备端响应。
  • 家电屏幕显示识别:支持OCR识别数码管、液晶屏数字及文字,支持图标模板匹配,可适应不同光照和角度。
  • 控制板信号检测:支持数字IO、PWM、模拟电压/电流、串口等信号的实时检测,与APP操作时序严格同步。
  • AI辅助用例生成:支持自然语言转测试用例、智能推荐机器人组合、测试数据自动补全、用例优化建议,大幅提升协同测试用例的设计效率。

4.2 系统特点

  • 支持图形化编辑自动化测试用例,自定义各种时序逻辑,能够进行“APP指令 + 设备输出”多输入多输出的复杂协同测试。
  • 支持异常注入(如断网、设备离线、云端错误返回),覆盖各种异常场景。
  • 支持全流程的自动化测试管理,便于测试项目的长期维护与回归。
  • 支持多人同时使用系统共同进行测试,提高团队协作效率。

五、总结

本文以智能家电APP为例,介绍了UTP协同自动化测试系统如何实现对移动应用与嵌入式设备的全面协同测试。首先阐述了UTP系统支持APP自身功能测试,更关键的是支持APP与家电设备之间的协同验证(APP指令 → 设备屏幕显示/控制板信号/执行器动作)。然后以“APP控制空调温度并检查屏幕显示与控制板输出”为典型协同测试用例,详细展示了UTP系统通过移动APP测试机器人、UI显示测试机器人、数字IO检测机器人等模块的协同调度,以及AI辅助生成用例的能力,高效完成闭环验证。

UTP系统将移动端自动化测试与嵌入式硬件接口测试融为一体,解决了智能家电行业中“APP指令是否真的让设备正确动作”这一核心验证难题,大幅提升了测试覆盖度和效率。该方法同样适用于其他智能家居、车联网、工业控制等需要APP与设备协同的场景。