智能化测试新趋势:手淘 AI+IoT 机器人泛终端测试实战

简介: “为模拟真实用户”,Robot-XT 极测机器人提供了为用户体验度量评测的能力,不仅可以最大程度地模拟用户真实操作,还实现了多设备跨终端的功能自动化和用户体验度量。同时,Robot-XT 极测机器人通过 IoT+AI 的智能化技术搭建一套支持多机操作并具备高稳定性的的 UEE 自动化解决方案,实现了覆盖从线上 App 到线下智能门店场景的端到端自动化测试,赋能行业,为软件绿色联盟的加盟 App 提供用户体验评测服务。

嘉宾 | 金晖(定源)

“为模拟真实用户”,Robot-XT 极测机器人提供了为用户体验度量评测的能力,不仅可以最大程度地模拟用户真实操作,还实现了多设备跨终端的功能自动化和用户体验度量。同时,Robot-XT 极测机器人通过 IoT+AI 的智能化技术搭建一套支持多机操作并具备高稳定性的的 UEE 自动化解决方案,实现了覆盖从线上 App 到线下智能门店场景的端到端自动化测试,赋能行业,为软件绿色联盟的加盟 App 提供用户体验评测服务。

在 2021 年 5 月北京 QCon 全球软件开发大会上,阿里巴巴高级测试专家金晖(花名定源)分享了阿里巴巴基于 AI+IoT 的机器人测试方案。我们整理了他的演讲,以期为您提供自动化测试的新方案。(下文以金晖老师第一人称叙述)

一、泛终端自动化测试及真实用户体验评测的背景介绍

互联网公司通常存在多个 App 交互频繁。比如消费者在 c 端手淘、天猫下单,商家会在千牛 App 收到订单提醒,多 App、跨终端的交互测试场景越来越多。从终端来说,随着智能移动终端普及从智能手机拓展到了 IoT(物联网),终端系统也拓展到了 Android、iOS、鸿蒙、Win Touch、RTOS 等等。随着新零售的发展,线上线下不断融合,硬件和云端、AI 形成了软硬件一体化的链路,此时测试和纯软件层的测试差异较大。

在新的时代趋势下,传统基于单操作系统内的 UI 自动化测试已经无法满足多 App 多终端间的交互测试,无法真正意义上地实现端到端覆盖业务的全链路测试。

image.png

同时,在产品精细化过程中,用户体验竞争白热化,严重影响到用户流失、拉新促活,因此深度用户体验提升的需求也日益增加,用户体验指标需要更高精度的测量,需要探索一种完全模拟用户真实操作的方式。

我们缺乏多端/多系统交互全流程的⾃动化测试⼿段,体验指标需分段获取且精度不够,在不同操作系统上测试需要维护多个脚本。因此,我们尝试了一种新的测试思路:UEE 测试(User E2E Experience Testing)——以“真实”模拟用户为核心目的,与被测软件解耦,实现了真正的端到端的测试。

UEE 的第一个 E 代表了 Experience,即具备深度⽤户体验评测的能⼒,即要求:

  • 更⾼精度:端侧的性能和体验优化精确到 ms 级别
  • 多设备间交互测量:除了 App 之间,实现和 PC 乃⾄IoT 之间交互的场景
  • ⽆侵⼊真实模拟:降低软件模拟点击和真实⽤户操作的差异

第二个 E 代表了端到端——“End1 to End2”,即实现对多设备端到端功能⾃动化测试的⽀持:

  • 多机交互⾃动化:快速⽀持多⼿机 App 间、⼿机与 PC/IoT 之间交互的操作
  • 外部视⻆的对象识别:摆脱软件层不同操作系统 API 操作的局限,以及软件层 API 对 部分场景下元素⽆法识别的问题
  • ⼀套跨终端设备的通⽤脚本:降低多套⾃动化脚本的维护成本

所以 UEE 测试要具备两个核心能力,用户交互体验评测能力和多设备端到端功能自动化能力。

用户交互体验评测能力即通过 IoT(如摄像头、机械⼿、传感器)等外部设备采集,并通过 AI 算法将真实⽤户感受数字化,来获取最接近真实⽤户体感的性能及⽤户体验指标。

多设备端到端功能自动化能力即通过机械⼿对多设备跨终端的被测系统做⾃动化测试、通过 AI 算法实现 IoT 设备的调度控制、对象识别、测试步骤执⾏、异常处理等。

二、基于 AI+IoT 的机器人测试方案:UEE 测试模式

image.png

实现机器人测试,首先要用高清、高速摄像头模拟人的眼睛,引入摄像头的对象识别机制代替原存在系统内截图、录屏和 XPath,同时拍摄多个设备,做到⽆侵⼊被测系统。

第二是用机械⼿模拟人的单手和双手,包括伸缩、滑动等动作,此时需要封装一套机械手的操控的 API,并且它要实现底层软硬件执⾏引擎透明,既可用机械手也可用传统软件层执行,⼀套脚本跨越所存在的操作系统,同时可操作多个设备。

最后通过算法代替人脑智能分析,实现视视频/图像分析、异常弹窗处理、⽩屏检测等

RXT 机器⼈技术⽅案

image.png

RXT(Robot-XT)机器⼈技术方案核心难点有三:

  • 实现多传感器的融合,通过摄像头、机械手、传感器等等组合实现与被测系统的解耦
  • 通过多种算法组合⽀撑体验评测和跨端⾃动化
  • 开发⼀套跨平台系统的脚本 IDE

IOT 控制方面的核心是控制摄像头和机械手。我们采取了云边结合的架构,在边缘端部署了控制摄像头和机械手的 RXT 客户端。

image.png

摄像头的操控

我们发现相同算法面对摄像头⻆度不同、环境光源不稳定等情况下收集到的视频、图像数据,计算结果差异很大。因此,我们采用了双摄像头模式,顶部摄像头负责图片拍摄,做图像实时分析;侧面底部摄像头负责拍摄视频传到云端做离线用户体验评测。

同时,摄像头拍摄的视频和录屏截屏的图像质量存在的品质差距,增加了算法处理的难度。我们通过图像增强,直方图处理等,使得图像更易被算法识别。

此外,我们需要从摄像头拍摄的画面分割出所需的手机屏幕。机械臂在执行时常常和手机屏幕相连,因此做边缘检测也会合为一体,难以拆分。手机屏幕、械臂及周边底色存在亮度差异,我们借此实现了 ROI 获取,过程如下图所示:

image.png

机械手精准操作

真正的端端自动化必须保证机械手的精准操作。核心问题是如何将手机屏幕、摄像头拍摄的图像以及机械手三个坐标映射到同一个世界坐标中?我们采取了多级空间坐标映射,通过透视变换,实现算法识别后机械臂可精准地点到指定位置。
image.png

基于图像 AI 的组合算法

图像 AI 的算法我们主要实现了三种:图⽂并茂的对象识别、⾮预期弹窗的识别处理和体验评测⾃动化。

image.png

图⽂并茂的对象识别

识别对象时,我们改进了 SURF 算法,叠加了 OCR 技术,增强了小图标识别能力。原生的 SURF 算法精度不够,对于特征相似的小图像经常匹配失败。我们在特征向量上增加了斜率判断,匹配的成功率大幅度上升(如图中情况 3)。如特殊情况屏幕中存在多个相同小图标,则需要手动调参。

image.png

非预期弹窗的识别处理

弹窗一般存在两类,系统级弹窗和业务级弹窗。系统级弹窗即首次安装 App 时的授权许可等,业务级弹窗即业务促销的红包、活动等的弹窗,如盖楼、抢红包等。

图一、图二中系统级的弹窗可通过传统方式监听,图三、图四业务级弹窗受业务影响,变化复杂,传统⽅法⽆法监听。因此,我们将传统的基于系统事件监听的⽅式整体变为了基于纯视觉算法的判断。

image.png

图一、图二中系统级的弹窗,可通过 OCR 识别先将文字提取出来,用波特进行语义理解,识别出“好”、“确定”等词后点击。对于图三、图四中业务级弹窗,我们首先通过 Yolov3 做的模型训练,将弹窗从背景中分割出来,分割后可识别每个弹窗的圆×进行。该组合算法可处手淘理 95%以上的弹窗。

体验评测⾃动化

体验评测自动化中,我们认为用户真实感受到的加载时长等于从机械手点击到页面变化的最后一帧的时间差,关键在于如何去判断页面加载的结束帧。我们采取视频降采样,根据灰度、⼆值化、去噪声计算图像的差值分数,即变化的程度,随后用实验测出合适的阀值,之后在整个视频区间倒序查找阀值之上最后一个差值,即为最后一帧,流程如下图所示:

image.png

一套跨平台脚本 IDE

我们跨平台脚本 IDE 的特点是一个脚本同时可以操作多个设备,可在 IDE 上调试和运行,即脚本需在 Web IDE 上运行后,方可提交机器人执行。

在调试和运行时,多个模拟⼿机可以随时切换,可切换手机去看执行步骤,通过 d1、d2 等来操作所有设备中的被测对象。此外,我们⽀持截图编写脚本。

机器人测试实战案例

我们在实际项目中使用 UEE 完成了众多的测试任务。

UEE 测试项目自动化实战

一年半前,淘系消息系统要对百亿级 BC 消息系统(买卖双方聊天系统)做整体架构和业务模型升级。当时,旺信业务已运行多年,重构时需让⽤户⽆感平滑迁移,而重构后⾸个客户端版本即为双⼗⼀版本,缺乏灰度时间。所以此时测试至关重要。

image.png

上图中巴拿马是我们内部指新的消息系统的代号。为了保证项目平滑稳定,我们在客户端同时准备了新老两个版本,一旦故障可快速切回老通道。

该方案极大地增加了测试工作量:BC 消息系统交互本就非常复杂,包括安卓、iOS、PC 等多端,再加上新、老通道,组合共计 36 种消息互通场景,工作量为原有的 36 倍。

当时,我们只凑成了 10 个测试同学,要在 30 天中测完 700 多人日的测试任务,难于上青天。

UEE 测试系统在此项⽬中起了关键作用,⽀撑了 Android、iOS、PC 共 6 轮⾃动化回归,每轮执⾏了⽤例 3000+,使测试人员可以将精力放在服务端全量入压测等复杂测试上。

UEE 测试项目体验实战

手淘和千⽜的体验优化中,UEE 测试支撑了⼿淘消息/千⽜商家 Android/iOS 核⼼场景加载时⻓测试,获得了跳闪⽩检测体验数据 2000+次,⽀撑了淘宝买菜 Android/iOS 核⼼场景 A/B⽅案和竞品分析,获得了体验数据 500+条、

这里需要特别强调的是,某些 lOT 设备厂家的定制系统有未对外开放的 API,此时在软件层就无法实现竞品分析了,需借用 UEE 测试系统。

此外 ,在双十一大促备战时,我们会设置专项,包括卖家到买家到卖家等端到端的核心流程自动化、手淘/千牛加载体验验收、线上舆情自动化复现等。

线下端到端测试

下图是 UEE 测试系统线下端到端测试的案例,图中分别为 UEE 和联通合作、天猫无人超市、阿里未来酒店的场景。

image.png

阿里未来酒店存在 300 多间房,测试人脸识别购买不能只在软件层做回归,但硬件测试找真实的人去测成本高。我们通过机器人测试对未来酒店人脸购买做了自动化验收。

室内定位拥有众多 AP 节点,需要对整个空间搭建指纹库,即基础的信息库。通过人工收集数据工作量大且精度只能到米,借助 RXT 机器⼈可实现自动化地采集和定位且精度可控制到厘米。上图(左)为用激光雷达扫描的酒店⼤堂 SLAM 地图。最终实现了根据地图自动化采集和巡检。

线下门店无人超市的重力货架的测试也需要测硬件,我们通过机器人对 300 多个重力货架,实现了压测和功能上巡检。

机器人智能化测试下一步思考和探索

UEE 测试改变了改变了端到端测试,从软件层到硬件层,从单端到多端覆盖了全端;扩展了自动化测试范围,⼀次性完成功能⾃动化和⽤户体验评测;降低了测试脚本维护成本,⼀套 DSL 脚本同时操作 1 个或多个设备(iOS/Android/PC Touch/RTOS/鸿蒙 等等)。

UEE 测试适合以下场景:

  • 单设备/多设备 App⽤户体验指标⾼精度评测
  • AB/新⽼版本/竞品体验对⽐评测
  • 多设备交互的端到端功能⾃动化测试
  • 一次性完成单端功能+⽤户体验评测⾃动化测试
  • 线下场景软硬件端到端测试

UEE 测试在阿里集团内,⽀持了阿⾥集团 10+ App 的测试,覆盖了阿⾥集团⼤促体验验收、商家业务、消息、社区团购、直播、逛逛、IoT、线下智能等业务形态。

阿里在 2018 年内部开始使用机械手和摄像头做用户体验评测,2019 年时软件绿色联盟也推出了移动智能终端的行业标准,认定需要用摄像头和机械手来做评测。我们 2020 年和绿盟合作,成为了软件绿色联盟的官方评测平台之一。现在还在内测阶段,未来将面向全行业开放,希望我们的开源能减轻大家的负担,用无脚本的方式实现自动化测试。

image.png

我们已经开始研发的 RXT2.0 引入了强化学习、好奇心机制、规则自学习等能力,将聚焦在智能探索和智能验证的两个能力上,去实现智能探索测试,只能判断测试过程中发现的预期内和预期外的问题。

此外我们也在研发做新一代的自动化的机柜,可规模化量产的机械臂+摄像头⼀体机柜。

嘉宾介绍

金晖(花名定源),阿里巴巴淘系高级测试开发专家。目前负责淘系的消息基础平台、千牛商家平台、服务市场等业务板块的质量保障。也曾负责无人超市、阿里未来酒店等线下智能场景的质量保障。存在丰富的线上和线下测试经验,主攻智能化测试方向,探索 UEE(User E2E Experience Testing)自动化测试。在加入阿里巴巴之前,就职于中国工商银行软件开发中心杭州测试部担任高级经理。并存在多项发明专利。

了解更多软件开发与相关领域知识,点击访问 InfoQ 官网:https://www.infoq.cn/,获取更多精彩内容!

目录
相关文章
|
人工智能 安全 机器人
无代码革命:10分钟打造企业专属数据库查询AI机器人
随着数字化转型加速,企业对高效智能交互解决方案的需求日益增长。阿里云AppFlow推出的AI助手产品,借助创新网页集成技术,助力企业打造专业数据库查询助手。本文详细介绍通过三步流程将AI助手转化为数据库交互工具的核心优势与操作指南,包括全场景适配、智能渲染引擎及零代码配置等三大技术突破。同时提供Web集成与企业微信集成方案,帮助企业实现便捷部署与安全管理,提升内外部用户体验。
1214 12
无代码革命:10分钟打造企业专属数据库查询AI机器人
|
人工智能 自然语言处理 安全
AI尝鲜:dify搭建AI对话机器人
本实验介绍如何在Dify中设置知识库并创建智能应用作为对话机器人,实现AI对话功能。例如查询电动汽车电池过充电保护试验的环境温度条件。实验步骤包括:一、安装Dify并通过计算巢部署;二、设置模型供应商,选择通义千问并配置API KEY;三、创建知识库,导入文件并设置文本分段与清洗规则;四、创建智能体,添加知识库和模型;五、与智能体对话,测试查询功能。通过这些步骤,您可以构建一个基于专有知识库的AI对话系统。
|
人工智能 运维 安全
基于合合信息开源智能终端工具—Chaterm的实战指南【当运维遇上AI,一场效率革命正在发生】
在云计算和多平台运维日益复杂的今天,传统命令行工具正面临前所未有的挑战。工程师不仅要记忆成百上千条操作命令,还需在不同平台之间切换终端、脚本、权限和语法,操作效率与安全性常常难以兼顾。尤其在多云环境、远程办公、跨部门协作频繁的背景下,这些“低效、碎片化、易出错”的传统运维方式,已经严重阻碍了 IT 团队的创新能力和响应速度。 而就在这时,一款由合合信息推出的新型智能终端工具——Chaterm,正在悄然颠覆这一现状。它不仅是一款跨平台终端工具,更是业内率先引入 AI Agent 能力 的“会思考”的云资源管理助手。
|
12月前
|
人工智能 Java 机器人
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
Spring AI Alibaba集成Ollama,基于Java构建本地大模型应用,支持流式对话、knife4j接口可视化,实现高隐私、免API密钥的离线AI服务。
7605 2
基于Spring AI Alibaba + Spring Boot + Ollama搭建本地AI对话机器人API
|
12月前
|
人工智能 机器人 Serverless
安诺机器人 X 阿里云函数计算 AI 咖啡印花解决方案
当云计算遇见具身智能,AI咖啡开启零售新体验。用户通过手机生成个性化图像,云端AI快速渲染,机器人精准复刻于咖啡奶泡之上,90秒内完成一杯可饮用的艺术品。该方案融合阿里云FunctionAI生图能力与安诺机器人高精度执行系统,实现AIGC创意到实体呈现的闭环,为线下零售提供低成本、高互动、易部署的智能化升级路径,已在商场、机场、展馆等场景落地应用。
安诺机器人 X 阿里云函数计算 AI 咖啡印花解决方案
|
12月前
|
机器学习/深度学习 人工智能 机器人
AI Compass前沿速览:Nano Bananary、MCP Registry、通义DeepResearch 、VoxCPM、InternVLA·M1具身机器人
AI Compass前沿速览:Nano Bananary、MCP Registry、通义DeepResearch 、VoxCPM、InternVLA·M1具身机器人
|
人工智能 数据可视化 安全
NekroAgent - 一体式跨平台多人AI智能聊天机器人框架
NekroAgent 是一个基于 AI 的智能聊天机器人框架,起源于 QQBot 插件,现发展为独立、功能强大的平台。它支持多平台适配、代码生成与安全沙盒执行、可视化管理界面,并具备高度扩展性与多模态交互能力,适用于 Linux、Windows、MacOS 系统部署。
535 0
NekroAgent - 一体式跨平台多人AI智能聊天机器人框架
|
机器学习/深度学习 人工智能 机器人
Meta AI Research:虚拟/可穿戴/机器人三位一体的AI进化路径
本文阐述了我们对具身AI代理的研究——这些代理以视觉、虚拟或物理形式存在,使其能够与用户及环境互动。这些代理包括虚拟化身、可穿戴设备和机器人,旨在感知、学习并在其周围环境中采取行动。与非具身代理相比,这种特性使它们更接近人类的学习与环境交互方式。我们认为,世界模型的构建是具身AI代理推理与规划的核心,这使代理能够理解并预测环境、解析用户意图及社会背景,从而增强其自主完成复杂任务的能力。世界建模涵盖多模态感知的整合、通过推理进行行动规划与控制,以及记忆机制,以形成对物理世界的全面认知。除物理世界外,我们还提出需学习用户的心理世界模型,以优化人机协作。
1009 3
|
人工智能 自然语言处理 运维
AI agent跨平台云资源智能管理终端是什么
随着多云架构和混合IT环境的普及,企业面临跨平台资源协同效率低、操作复杂等问题。为此,跨平台云资源智能管理终端应运而生。它通过模块化架构与自动化引擎,将异构云环境中的资源统一管理,并提供对话式交互、批量操作与智能策略编排能力。典型产品如Chaterm,支持自然语言指令输入,实现从任务规划到执行反馈的闭环体验。其应用场景涵盖大规模服务器集群管理、跨云资源调度、复杂环境自动化配置等,显著提升效率与可靠性。实施时需关注兼容性、扩展性及安全性,建议从试点入手逐步推广,优化企业运维流程。
700 5