一种无线端测试平台化最佳实践

本文涉及的产品
票证核验,票证核验 50次/账号
通用文字识别,通用文字识别 200次/月
小语种识别,小语种识别 200次/月
简介: 就像持续集成,互联网公司对测试平台化的探索从未停止过,大厂也不例外。测试平台化并不是单纯地“可视化”,将脚本搬到平台上。它是一种“可能性”,一种多元化技术融合提升测试效果的可能,一种变革测试组织与行为的可能。那么来看看零售通的平台化实践有没有解开你心中的疑云。


阿里QA导读:就像持续集成,互联网公司对测试平台化的探索从未停止过,大厂也不例外。测试平台化并不是单纯地“可视化”,将脚本搬到平台上。它是一种“可能性”,一种多元化技术融合提升测试效果的可能,一种变革测试组织与行为的可能。那么来看看零售通的平台化实践有没有解开你心中的疑云。

背景


随着移动互联网技术兴起,业务在无线端获得高速发展,从而带动产品研发周期快速迭代,业务逻辑模型复杂度越来越高,对业务质量保障提效诉求也越来越高

  • 产品迭代周期短和无线技术架构升级,自动化维护成本高。
  • 人员流动变化,测试经验未能沉淀和抽象到工具平台里,如用例数据模型等。
  • 脚本里沉淀的能力不能快速复用。
  • 业务测新,自动化覆盖投入成本比较高,特别是适配和回归成本。

基于以上痛点,我们有个初衷去做这样一个无线自动化平台,无需编写脚本,无需搭建本地工程环境,全程可视化界面操作,即使不懂自动化脚本编程也能完成任务配置,致力于用较小的成本投入和维护自动化。

 

成本收益分析


我们先以电商域商品详情场景为例,介绍下不同的测试策略对测试成本的影响。商品详情场景涉及到区域化、不同营销类型、不同的offer类型,场景组合后有100+个case。

人工测试

投入人力进行手工验证多端多机,最快完成一轮测试也要5人日。如果加上干扰因素(手机没电、找不到设备、网络环境等问题)、bugfix回归验证,整体测试周期还要加长,甚至成倍增加。自动化脚本测试主要耗时成本在工程化环境搭建、本地脚本编写和调试的。同时对于多场景的数据有一个弊端,往往是写死数据在脚本且数据场景不全。平台化测试

全程在平台上可视化操作,用精准用例建模自动化平台的数据支持多场景的的测新和回归。

image.gifimage.png

功能亮点


1. 原子能力的标准化

我们对自动化里的所用的公共部分做了以下抽象成公共能力和组件化,可供重复使用。将工程脚本里的对象控件操作类、数据类、断言类做标准化并封装成原子能力,可以在平台页面上直接选择,添加对应行动点,支持语义化设置,支持行动点流程编排。

image.gifimage.png


2. 语义化驱动—用例配置

image.gifimage.png


3. 行为驱动—流程编排

image.gifimage.png


4. 数据驱动—精准用例建模

相同场景的自动化不用设置一条一条自动化用例,也不用在脚本里指定某条数据运行。使用场景建模,扩展任务丰富数据源能力,支持任务添加单条数据/多条数据/场景模型数据。场景模型好处是脚本里的数据进行剥离,以业务场景角度封装成用例数据模型,不仅降低测试用例数据遗漏的风险,而且将原先脚本写死的数据变活,通过建立的模型实时获取线上活的数据,即使有业务调整,直接维护模型即可。场景模型支持2种:

  • 对接精准用例建模平台的数据源
  • 对接非平台数据源,如http、odps、hsf,支持动态解析数据源用例

image.gif

image.gifimage.pngimage.png



5. 场景驱动—测试场景多样化

5.1 端上对比

接入对比算法做端上页面对比,支持线上&预发布对比、单页面对比、流程对比。

image.gifimage.png

5.2 不同环境运行

  • 日常预发环境运行,平台逻辑处理scheme环境参数命令切换环境。APP有需要接入的话,提供scheme切换环境的命令,剩下交给平台处理。
  • 线上和外网环境运行,设置2个机器组,其中1个机器组的设备连接只连内网,另外1个机器组设备只连外网(sim卡)。


image.gifimage.png


5.3 APP版本测试集回归

用于回归测试用例的分类管理与批量用例执行。具备 测试报告、错误反馈、失败重跑、批量装包,一键运行等功能,并且支持多种运行模式(随机执行一台设备,最小执行设备模式,全覆盖回归模式)。目前普遍用于提升集成回归的整体效率。

image.gif

image.png


平台架构


平台提供版本测试集回归、适配测试、端上页面对比、流程编排、场景语义化配置,对接精准用例模型等主要功能,为测试、开发人员提供高效的自动化测试解决方案,做到5分钟任务设置,10分钟出结果。image.gifimage.png

底层黑科技

1. 无线实验室—云真机

  • 借助UC的岩鼠平台,支持异地部署机房、同时支持ios和安卓远程云真机访问操作。
  • 异步部署机房,搭建适配实验室托管手机设备,支持安卓和ios远程云真机。技术上用真机平台 docker镜像部署到Linux物理主机,启动docker服务注册到真机平台服务中心。一台物理主机可连接40台手机设备,可通过主板usb扩展卡升级,支持更多设备连接数。

  • 设备通信,注册到真机平台服务中心后,通过usb hub进行通信,给设备发送通道指令走物理主机ip+随机端口。
  • APP操作,用原生adb能力操作安卓手机,和APP、设备之间进行连接通信,用真机平台开放的xcuiTest api操作苹果手机,和APP、设备之间进行连接通信。


2. scheme协议—唤起APP&URL

基于scheme跳转机制,去跳转到任意指定页面,支持ios和安卓系统,无须关心页面是weex、h5、native、flutter、小程序等,做到不入侵被测app也能唤起页面。

3. 视觉图像处理—识别页面控件&采集素材

在UI自动化里对控件识别有以下几种方式:xpath、CssSelector、class、id、name、元素截图等。我们这里采用视觉图像识别技术,对被测页面截图后的图像处理做以下识别,文本类:和达摩院的读光平台合作,做图像ocr识别文本,用于文本点击和文本断言。文本点击是将识别出来文本所在的四个角坐标转成中心坐标去点击。OCR识别功能准确性体验,可以在读光平台官网体验。

图标图片类:和蚂蚁的测试平台合作,做图像以图搜图,建立图标控件管理库。

image.gif

image.png

适用场景


  • 适用于无线端多机适配测试、功能流程测试、页面对比测试、多场景用例建模测试。
  • 适用于本地自建机房。
  • 多场景用例建模测试(测新和回归)。

image.gifimage.png


未来探索方向


测试资产库建设

UI自动化里画像里包含的用户行为轨迹模型、页面控件、登录账号、用例数据模型、脚本操作API、动态断言等组成因素抽象到平台里,变成测试资产,即使有变化影响,测试资产仍然可以继续支撑UI自动化。有了测试资产库,可以以业务视角运行跟这个场景有关的自动化。以商详为例,执行商详场景自动化就可以验证不同的账号在不同商品模型的detail页面展示逻辑、页面操作行为轨迹等,一次运行,精准覆盖。

风险挖掘

除了验证页面看得见展示内容,比如页面适配和功能逻辑等。在自动化执行的背后,去对接平台挖掘相关隐含的数据做回流展示,如死链检查、埋点日志数据、性能数据、crash稳定性数据等,并和历史基线数据做对比check。

结束语


  • 阿里巴巴零售通技术部,基于集团“新零售”战略,将与全球优质货源合作,依托专属进货平台,帮助线下零售店实现线上一站式进货及线下全方位服务。技术团队在实现线下小店零售业务升级的同时,致力于通过数字化技术赋能商家。
  • 欢迎有志之士加入零售通技术团队,共创新的商业模式,诚招JAVA开发、客户端、前端、数据算法及测试开发工程师,联系邮箱:panlian.qingpl@alibaba-inc.com 或 pengcheng.yupc@alibaba-inc.com。


相关文章
|
1月前
|
关系型数据库 MySQL 测试技术
【分享】AgileTC测试用例管理平台使用分享
AgileTC 是一个脑图样式测试用例管理平台,支持用例设计、执行与团队协作,帮助测试人员高效管理测试流程。
177 116
【分享】AgileTC测试用例管理平台使用分享
|
1月前
|
人工智能 数据可视化 测试技术
AI测试平台自动遍历:低代码也能玩转全链路测试
AI测试平台的自动遍历功能,通过低代码配置实现Web和App的自动化测试。用户只需提供入口链接或安装包及简单配置,即可自动完成页面结构识别、操作验证,并生成可视化报告,大幅提升测试效率,特别适用于高频迭代项目。
|
1月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
1月前
|
人工智能 测试技术 项目管理
测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
在实际项目中,需求文档分散、整理费时、测试遗漏等问题常困扰测试工作。霍格沃兹推出AI智能体测试平台全新功能——项目资料套件,可将多个关联文档打包管理,并一键生成测试用例,提升测试完整性与效率。支持套件创建、文档关联、编辑删除及用例生成,适用于复杂项目、版本迭代等场景,助力实现智能化测试协作,让测试更高效、更专业。
|
2月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
4月前
|
存储 测试技术 虚拟化
VMmark 4.0.3 - 虚拟化平台基准测试
VMmark 4.0.3 - 虚拟化平台基准测试
103 0
VMmark 4.0.3 - 虚拟化平台基准测试
|
1月前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!
|
2月前
|
存储 人工智能 文字识别
从零开始打造AI测试平台:文档解析与知识库构建详解
AI时代构建高效测试平台面临新挑战。本文聚焦AI问答系统知识库建设,重点解析文档解析关键环节,为测试工程师提供实用技术指导和测试方法论
|
2月前
|
人工智能 安全 数据可视化
安全测试平台的选型标准与搭建思路
随着企业安全需求升级,传统漏洞扫描和渗透测试已无法满足要求。构建安全测试平台(STP)成为趋势,实现漏洞扫描、权限评估、接口测试等工作的平台化运营。本文从选型标准、平台架构、模块功能等六个方面,系统讲解如何搭建企业级安全测试平台,提升安全能力。
|
5月前
|
安全 前端开发 Linux
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
179 3
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
下一篇
oss教程