写点什么

移动端云机魔测平台

  • 2020-03-25
  • 本文字数:2066 字

    阅读完需:约 7 分钟

移动端云机魔测平台

移动端云机魔测平台简介

移动端测试大致可分为 功能测试(业务测试)和 自动化测试。移动端云机魔测平台在建设初期规划了两个阶段,现已完成第一阶段的研发。


第一阶段:主要为了满足自身业务级别的测试,支持 UI 自动化测试、专项类测试、多设备统一管理、远程真机操控等解决测试过程中的痛点,达到多维度提升测试质量和测试效率的目的。


第二阶段:不断优化集成移动端测试平台功能点,把平台上每一个功能做成微服务,提供测试技术服务对外输出,达到平台共享的目的,让更多的人使用平台。


为什么要建设移动端云机魔测平台?

1、多设备管理资源共享提高设备使用率:设备管理是头疼的问题,人工管理设备会出现设备空闲、利用不充分等现象,并且管理起来很耗时, 给测试带来了诸多不便。平台统一管理设备,解决了此问题,可达到资源利用最大化。设备统一管理在 web 端,只需要远程真机访问即可得到与实体机器相同的效果。



2、多系统及多设备版本验证提高测试效率: 多机型适配、多版本适配是每个迭代都需要走的测试流程,常规手工验证方法耗时耗力,并且在重复执行过程中,容易出现遗漏 case 情况。平台集成了 UI 自动化测试,解决了此问题。并且优化了 UI 自动化测试方式,由单线程单设备执行优化为多设备多版本并行执行,还可统计汇总自动化报告,成倍的提升自动化测试效率。



3、专项测试零门槛化:专项测试对测试的专业度要求比较高,我们针对测试的低门槛化进行了平台的封装,达到了零门槛。测试工程师可通过前端页面的选择即可展开专项型测试,从多维度提高了测试质量。


移动端云机魔测平台特性

特性一、平台采用了浏览器方式访问,Flask + bootstrap 前后台框架。选择这套组合的优点是开发速度快,代码简洁适合独立开发。由于资源、时间有限所以选择一套适合的框架尤为重要。


  • 【设备管理、资源共享】 支持多人浏览器访问服务,达到资源共享

  • 【安装包平台化管理】 可通过 web 服务管理安装包

  • 【自动化脚本、case 统一管理】 自动化脚本统一管理,执行结果自动生成报告

  • 【数据隔离】 本人权限只能查看自己的数据


常规的测试中,经常会追溯安装包出现的问题,所以管理安装包非常重要。一般管理方式是维护在 pc 机上,这种方式很容易出现误删除、丢失等现象,平台可通过 web 服务上传到服务器端,达到安装包 web 端统一管理,统一维护,并可更好的管理历史安装包。


平台还支持自动化脚本、case 统一管理,这样可把移动端整个测试流程的数据统一维护:安装包–自动化 case 数据–测试报告


在测试过程中使用不同的 erp 账号达到数据隔离的目的,保证了敏感数据的隐私性。



特性二、平台通过 Agent-Server 调度管理各种测试任务,并自动运行任务,最终生成详细测试报告。


  • 【自动运行】自动获取下达任务并执行

  • 【调度 STF】管理设备状态

  • 【调度框架】自动生成对应的测试报告


调度服务 work 工作流: 每隔一段时间轮询数据库,获取 mysql 数据库的 task 表信息获取即时任务,当获取到任务时先判断插入的设备(设备状态统一通过 STF 管理服务获取,链接 rethinkdb 数据库表查询),如果有可执行设备,判断属于什么类型的任务,下达到对应的测试框架内,开始执行任务,执行完成后测试框架负责生成测试报告,并通过数据库插入到表中。前端可看到对应的测试报告。



特性三、有针对性的优化自动化测试框架,成倍提高测试效率。通过封装 appium 工具,达到可并行处理安卓端 UI 自动化测试目的。可一次执行若干机型,提高测试效率。


  • 【自动生成报告】自动生成对应的测试报告

  • 【多机型适配】解决了移动端头疼的问题-多机型测试

  • 【批量执行定制化】可批量执行定制化测试


常规的 UI 自动化是串行执行,缺点是不支持多机型并行执行。所以通过改良开源的移动端测试工具 appium,集成到平台,达到了测试框架对外共享的效果。


UI 自动化工具封装修改后,设备信息封装可达到设备信息初始化、多进程封装达到可支持多 devices 运行、抽象类封装达到脚本与框架分离、数据分析生成测试报告达到设备与 case 等信息一一对应关系。如下图:截图信息与 case 一一对应



通过查看最终的测试报告,可以看到,此任务选择可并行运行两台设备,设备的相关信息自动展示出来,方便开发定位问题,case 的执行成功或失败可根据结果很直观的查看出来。



当执行失败时,可以点击【错误】按钮,查看对应的 UI 截图,如下:



特性四、集成真机远程控制设备服务,可通过浏览器直接操作设备,达到了服务终端设备统一管理、共享的目的。


  • 可实现通过浏览器直接访问机器操作,设备统一管理,共享资源

  • 可通过远程开放的 adb 服务端口远程调试

  • 可支撑业务功能测试



真机远程访问的好处在于可以把设备统一管理在终端, 当需要测试时,只需要打开浏览器访问服务,选择对应的设备,即可连接到手机上。


统一管理可让设备利用最大化,减少空闲度。服务给每一台设备分配了一个端口,可远程连接 adb 服务,远程调试。大大方便了开发同学在不同的设备上调试程序问题。


通过集成功能+自动化的一套平台解决方案,达到了第一阶段的成功,在接下来的第二阶段,有更多的挑战等着我们。我们将一直致力于提高测试效率、优化测试方式、提升测试质量…


2020-03-25 19:48493

评论

发布
暂无评论
发现更多内容
移动端云机魔测平台_文化 & 方法_京东数字科技产业AI中心_InfoQ精选文章