最近几年, 移动互联网高速发展, 现在我们已经可以 "随时随地随心" 地享受到互联网给我们生活带来的改变比如: 手机淘宝上随时可以购物, 滴滴一下司机就到楼下来接你等等
据 QuestMobile 数据统计, 截止到 2017 年 12 月, 中国移动互联网用户数已经上升至 10.85 亿移动支付用户规模从 2016 年的 5.78 亿增加到 7.26 亿移动互联网, 已经覆盖中国绝大部分的人口
但是, 整个智能手机市场, 呈现高度的碎片化安卓有 600 多款机型, iOS 有 70 多款机型, 总计在 700 款机型左右如何保障应用在 700 款不同机型不同分辨率不同操作系统版本上的质量, 对任何一家, APP 在百万级别以上规模的公司, 都是巨大的挑战
如何快速的覆盖大部分机型, 保证机型的兼容稳定? 如何在上线前, 快速的实现冒烟测试, 回归全部的功能? 这些都是依靠几个人工, 无法解决的问题借用 MQC 测试平台, 能很好的解决这一问题
而在通常的第三方测试平台, 常见的兼容性测试比较容易但是, 当遭遇到功能测试后, 由于业务的复杂性, 测试业务更多的依赖人工写脚本来解决这一问题有没有更好的办法, 能改进功能测试, 提升效率, 降低成本呢? 当然是有的, 我们在 MQC 专有云测试平台内, 提供了二次开发的能力, 能有效改善在功能测试中的问题
一什么是二次开发?
二次开发是扩展平台的测试, 满足自身特有的测试业务需要的能力, 是对开发者的赋能
二次开发本质是在复杂的的业务场景中, 找到不变的内容, 让客户能基于这些不变的内容, 组合出自己的业务流程
在公司内, 使用第三方测试的人员, 主要是测试人员和测试开发人员, 都具备一定的写代码的能力, 所以提供这样的扩展能力, 能帮助相关人员进一步发挥自身的想象力, 为公司的质量保障添砖加瓦
那什么是变化中的不变化呢? 列举如下:
(1) 测试终端类型, 比如是 Android 和 iOS;
(2) 测试参数设定, 通常有文本输入有限选择项目文件等;
(3) 流程设定脚本, 包括启动的主脚本和其它具体执行的脚本, 该部分需要客户写脚本;
(4) 测试产生的数据结构, 是可以相对固定的
主要的难点, 集中在流程脚本的书写关于这一点, 我们提供了一些脚本样例和脚本书写说明, 帮助开发者快速上手同时, 我们也提供专家培训服务, 手把手帮助一些开发能力较弱的团队尽快具备使用二次开发的能力
我们设计的业务截图如下:
构建完成后, 呈现出的提测效果图如下所示:
二为什么需要二次开发?
提供给客户的测试能力, 主要情况如下:
(1)Android 平台包括兼容功能深度性能测试;
(2)iOS 包括兼容深度性能测试.
但是这些能力, 是比较通用的能力对于特殊的业务需求, 也有办法可以进行满足, 但是体验还不够好
2.1 自定义测试流程
用户可以根据自己的业务情况, 对手机进行完全的控制比如, 借助系统自定义完成: 安装 - 启动 - 运行 - 静默 - 运行 - 静默 - 卸载的流程
这样可以大大提升专有云测试系统, 对实际更为复杂的用户场景的覆盖
而如果是使用已经定义好的自动化测试, 很难做到对该场景的覆盖
2.2 自定义测试步骤
用户基于自身业务需求, 可以实现对常见测试步骤的封装, 通过脚本语言来自定义测试步骤
案例 1: 网络环境覆盖测试
如果用户想要测试一个场景: 安卓平台, 各种网络环境下 (2G3G4GWIFI), 提交服务实名认证的流程
方案: 用户可以自定义测试流程, 对 4 种网络环境, 直接创建四种任务即可不需要在脚本里面, 进行各种判断操作, 可以基于交互操作页面, 完成对功能的测试
而如果是采用功能测试, 就需要指定参数, 改几次脚本, 测试任务管理上, 也比较麻烦当把这些测试流程中的变量, 变成交互元素后, 能很好的改善使用的体验
案例 2: 登录流程定制化
借助自定义测试步骤, 可以对常见账号登录进行定制化比如, 整体步骤可以抽象后, 定制化为: 划过应用首屏引导 - 点击立即登录 - 输入账号 - 查询验证码 - 输入验证码 - 点击登录
2.3 方便企业集成融合到中台
稍微大一些的企业, 都有自己的业务中台, 整体管控所有的业务情况而移动测试专有云, 作为第三方服务, 通常提供给客户都是独立管理, 独立控制这初看起来, 没有什么奇怪, 但是却破坏了公司业务的整体性, 不方便用户管理
基于客户的需要, 我们阿里云 MQC 测试平台, 提供了各种 API 接口, 方便企业打通跟移动测试专有云的服务, 具体如下:
(1) 任务调度, 包括提交测试任务结果筛选等;
(2) 设备管理, 基本的设备信息设备筛选设备释放等;
(3) 报告管理, 主要是测试的结果报告数据;
(4) 脚本管理, 创建脚本更新脚本等
通过以上三个方面的赋能, 可以更好的发挥 MQC 移动测试平台的能力, 更好的为企业和开发者服务, 降低成本提升自动化测试的效率
移动测试专有云服务介绍: 地址
来源: https://yq.aliyun.com/articles/517868