点击「京东金融技术说」可快速关注

「摘要」随着移动互联网的快速崛起、覆盖人数不断增加,用户使用APP的深度也在不断加大,中国移动互联网开始拥有愈发丰富的可能性。移动端设备以及版本的快速更新,让用户的使用环境多变,从而测试的场景越来越多样复杂,给测试人员带来了新的挑战。移动端云机魔测平台的出现,让测试的方式有所改变...

移动端云机魔测平台简介

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

第一阶段 主要为了满足自身业务级别的测试,支持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服务,远程调试。大大方便了开发同学在不同的设备上调试程序问题。

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

17年10月京东A座12层,个人业务综合研发部第一届“金专奖”技术大赛终评现场,10位技术高手齐聚一堂,一场巅峰对决精彩上演。台上选手高谈雄辩,台下专家评委妙语连珠,现场精彩纷呈,展示了技术人深厚的专业能力,碰撞出许多思维的火花。

此次大赛,旨在挖掘出更多【T序列】骨干精英,营造技术专业度文化,发现在自己专业领域有突出创造、贡献的专业大咖,增强专业人才的荣誉感和凝聚力,激励团队成员不断提升专业知识,以此引领技术、跟随团队一起为公司做出更大贡献。

京东金融技术说

▼▼▼

原创·实用·技术·专业

不只一技之长

我有N技在手

你看,我写,共成长!

#金专奖获奖方案展播# | 移动端云机魔测平台相关推荐

  1. 五年征程·砥砺前行,第五届金陀螺奖获奖名单揭晓!

    2020年12月11日,由中国通信工业协会虚拟现实专业委员会.广东省游戏产业协会.深圳市科学技术协会.深圳市信息服务业区块链协会.深圳市互联网文化市场协会指导,陀螺科技主办,深圳市科技开发交流中心.恒 ...

  2. 端云一体人工智能开发平台整体架构

    端云一体人工智能开发平台整体架构 引言 当前人工智能(Artificial Intelligence)技术发展迅猛,在机器视觉.语音识别以及自然语言处理等多个技术领域取得了卓越的进展,带来了更高的精确 ...

  3. 高端家电“金选奖”名单揭晓,激起新消费主义浪潮

    此次奖项的评选旨在成为消费者选购家电和数码产品可靠的参考依据. 随着中国综合国力整体的提升,国民的消费水平也水涨船高.海外代购.度假式旅行.轻奢品牌崛起.个人定制化服务--预示着新消费主义浪潮已经扑面 ...

  4. 第二届“金陀螺”奖揭晓,完整获奖名单公布!

    第二届"金陀螺"奖暨游戏产品对接会于今日在深圳南山区科兴科学园举行并圆满落下帷幕. 由游戏陀螺.VR陀螺.陀螺电竞主办,南方都市报协办的第二届"金陀螺"奖暨游戏 ...

  5. 2018中国智造金长城奖:创新能力与行业竞争力并重

    北京2018年10月26日电 /美通社/ -- 10月24日,商业报道领导者<21世纪经济报道>在北京万达文化酒店隆重举行"2018中国智造业年会".年会上同时揭晓了& ...

  6. 花儿绽放斩获金梧奖金奖,智能营销赋能品牌增长

    2021年6月24日,第七届金梧奖移动广告创意节在上海举行并公布了获奖名单,花儿绽放凭借「城市年味」案例获得互动体验类金奖. 金梧奖是业内首个专注移动营销的分享平台,肇始于2015年第一届WMMS全球 ...

  7. 迎风破局·守正创新,2021未来商业生态链接大会暨第六届金陀螺奖颁奖典礼成功举办!...

    2021 年 12 月 10 日,由广东省游戏产业协会.广东省虚拟现实产业技术创新联盟.深圳市科学技术协会.深圳市互联网文化市场协会指导,陀螺科技主办,深圳市科技开发交流中心.恒悦创客魔方协办,行业头 ...

  8. 远见者稳进,2020未来商业生态链接大会暨第五届金陀螺奖颁奖典礼成功举办!...

    2020年12月11日,由中国通信工业协会虚拟现实专业委员会.广东省游戏产业协会.深圳市科学技术协会.深圳市信息服务业区块链协会.深圳市互联网文化市场协会指导,陀螺科技主办,深圳市科技开发交流中心.恒 ...

  9. 第五届金梧奖移动广告创意节暨移动营销峰会2019(上海)

    第五届金梧奖移动广告创意节暨移动营销峰会2019(上海)即将来袭- 会议召开时间:2019-06-13 至 2019-06-14 会议召开地点:上海 主办单位:AICO奥璞国际 票务合作伙伴:活动家 ...

最新文章

  1. linux配置tomcat内存配置文件,Linux与Windows下tomcat内存设置
  2. 天平游码读数例题_电子天平偏载误差的检定与处理
  3. Python爬虫小实践:寻找失踪人口,爬取失踪儿童信息并写成csv文件,方便存入数据库...
  4. Java中proc是什么意思,在java里头读取/proc/net/dev
  5. .NET Core开发实战(第34课:MediatR:轻松实现命令查询职责分离模式(CQRS))--学习笔记(下)...
  6. oracle 强制 断开,ORA-01092: ORACLE 例程终止。强行断开连接
  7. 数据结构实验之栈二:一般算术表达式转换成后缀式
  8. java 日志 异步_log4j 详解异步日志的配置和测试
  9. matlab将列数据存成excel表格,matlab将列数据存成excel表格-matlab工作区数据怎么转为excel...
  10. 喜庆红色主题新年春节晚会年会背景素材(PSD分层格式)
  11. js 实现省市县三级联动
  12. Bus Hound 软件实现长时间数据自动保存
  13. 深度学习论文: Learning to Resize Images for Computer Vision Tasks及其PyTorch实现
  14. How to Fix Microsoft Teams Error caa70004
  15. 雍正杀“舅”:握着领导把柄,隆科多必须死?
  16. 夜拍王荣耀10 VS同档位旗舰机夜拍功能,实战结果一目了然!
  17. HTML+CSS网页设计期末课程大作——XXXXX (X页) HTML5网页设计成品_学生DW静态网页设计_web课程设计网页制作
  18. 计算机大赛应用文档制作,PPT制作应用大赛策划书
  19. 前端开发毕业设计如何选题?怎么做?
  20. eol自动化测试系统监控软件,EOL测试系统总体方案.doc

热门文章

  1. oppoa92s能否刷安卓9_oppoA92s刷机教程 oppo A92s卡刷官方系统升级教程与步骤
  2. 2 Reactjs 使用 PropTypes 进行类型检查
  3. python sanic部署_Sanic框架应用部署方法详解
  4. 2020.3.25普及C组 鸡国福利(kingdom)【纪中】【二分】【暴力】
  5. Eclipse常用热键介绍(zt)
  6. 模仿苹果手机屏保滚动条
  7. 文件服务器录音功能,录音地址
  8. 从零用JS来做人工智能
  9. 用wegame卡在正在连接服务器,饥荒wegame正在启动服务器 | 手游网游页游攻略大全...
  10. python段子_python爬虫爬取段子