一种无线端测试平台化最佳实践
共 2917字,需浏览 6分钟
·
2021-01-26 22:58
阿里QA导读:就像持续集成,互联网公司对测试平台化的探索从未停止过,大厂也不例外。测试平台化并不是单纯地“可视化”,将脚本搬到平台上。它是一种“可能性”,一种多元化技术融合提升测试效果的可能,一种变革测试组织与行为的可能。那么来看看零售通的平台化实践有没有解开你心中的疑云。 |
背景
随着移动互联网技术兴起,业务在无线端获得高速发展,从而带动产品研发周期快速迭代,业务逻辑模型复杂度越来越高,对业务质量保障提效诉求也越来越高
产品迭代周期短和无线技术架构升级,自动化维护成本高。
人员流动变化,测试经验未能沉淀和抽象到工具平台里,如用例数据模型等。
脚本里沉淀的能力不能快速复用。
业务测新,自动化覆盖投入成本比较高,特别是适配和回归成本。
成本收益分析
我们先以电商域商品详情场景为例,介绍下不同的测试策略对测试成本的影响。商品详情场景涉及到区域化、不同营销类型、不同的offer类型,场景组合后有100+个case。
人工测试
全程在平台上可视化操作,用精准用例建模自动化平台的数据支持多场景的的测新和回归。
功能亮点
1. 原子能力的标准化
我们对自动化里的所用的公共部分做了以下抽象成公共能力和组件化,可供重复使用。将工程脚本里的对象控件操作类、数据类、断言类做标准化并封装成原子能力,可以在平台页面上直接选择,添加对应行动点,支持语义化设置,支持行动点流程编排。
2. 语义化驱动—用例配置
3. 行为驱动—流程编排
4. 数据驱动—精准用例建模
对接精准用例建模平台的数据源
对接非平台数据源,如http、odps、hsf,支持动态解析数据源用例
5. 场景驱动—测试场景多样化
5.1 端上对比
接入对比算法做端上页面对比,支持线上&预发布对比、单页面对比、流程对比。
5.2 不同环境运行
日常预发环境运行,平台逻辑处理scheme环境参数命令切换环境。APP有需要接入的话,提供scheme切换环境的命令,剩下交给平台处理。
线上和外网环境运行,设置2个机器组,其中1个机器组的设备连接只连内网,另外1个机器组设备只连外网(sim卡)。
5.3 APP版本测试集回归
用于回归测试用例的分类管理与批量用例执行。具备 测试报告、错误反馈、失败重跑、批量装包,一键运行等功能,并且支持多种运行模式(随机执行一台设备,最小执行设备模式,全覆盖回归模式)。目前普遍用于提升集成回归的整体效率。
平台架构
底层黑科技
1. 无线实验室—云真机
借助UC的岩鼠平台,支持异地部署机房、同时支持ios和安卓远程云真机访问操作。
异步部署机房,搭建适配实验室托管手机设备,支持安卓和ios远程云真机。技术上用真机平台 docker镜像部署到Linux物理主机,启动docker服务注册到真机平台服务中心。一台物理主机可连接40台手机设备,可通过主板usb扩展卡升级,支持更多设备连接数。
设备通信,注册到真机平台服务中心后,通过usb hub进行通信,给设备发送通道指令走物理主机ip+随机端口。
APP操作,用原生adb能力操作安卓手机,和APP、设备之间进行连接通信,用真机平台开放的xcuiTest api操作苹果手机,和APP、设备之间进行连接通信。
2. scheme协议—唤起APP&URL
3. 视觉图像处理—识别页面控件&采集素材
适用场景
适用于无线端多机适配测试、功能流程测试、页面对比测试、多场景用例建模测试。
适用于本地自建机房。
多场景用例建模测试(测新和回归)。
未来探索方向
测试资产库建设
风险挖掘
结束语
阿里巴巴零售通技术部,基于集团“新零售”战略,将与全球优质货源合作,依托专属进货平台,帮助线下零售店实现线上一站式进货及线下全方位服务。技术团队在实现线下小店零售业务升级的同时,致力于通过数字化技术赋能商家。
欢迎有志之士加入零售通技术团队,共创新的商业模式,诚招JAVA开发、客户端、前端、数据算法及测试开发工程师,联系邮箱:panlian.qingpl@alibaba-inc.com 或 pengcheng.yupc@alibaba-inc.com。