移动测试“二次开发”赋能开发者

简介: MQC专有云测试平台内,提供了“二次开发”的能力,能有效改善在功能测试中的问题。

最近几年,移动互联网高速发展,现在我们已经可以"随时、随地、随心"地享受到互联网给我们生活带来的改变。比如:手机淘宝上随时可以购物,滴滴一下司机就到楼下来接你等等。

据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

构建完成后,呈现出的提测效果图如下所示:

23

二、为什么需要“二次开发”?

提供给客户的测试能力,主要情况如下:

(1)Android平台包括兼容、功能、深度性能测试;
(2)iOS包括兼容、深度性能测试.

但是这些能力,是比较通用的能力。对于特殊的业务需求,也有办法可以进行满足,但是体验还不够好。

2.1、自定义测试流程

用户可以根据自己的业务情况,对手机进行完全的控制。比如,借助系统自定义完成:安装-启动-运行-静默-运行-静默-卸载的流程。
这样可以大大提升专有云测试系统,对实际更为复杂的用户场景的覆盖。
而如果是使用已经定义好的自动化测试,很难做到对该场景的覆盖。

2.2、自定义测试步骤

用户基于自身业务需求,可以实现对常见测试步骤的封装,通过脚本语言来自定义测试步骤。

  • 案例1:网络环境覆盖测试
  • 如果用户想要测试一个场景:安卓平台,各种网络环境下(2G、3G、4G、WIFI),提交服务实名认证的流程。

方案:用户可以自定义测试流程,对4种网络环境,直接创建四种任务即可。不需要在脚本里面,进行各种判断操作,可以基于交互操作页面,完成对功能的测试。

而如果是采用功能测试,就需要指定参数,改几次脚本,测试任务管理上,也比较麻烦。当把这些测试流程中的变量,变成交互元素后,能很好的改善使用的体验。

  • 案例2:登录流程定制化

借助自定义测试步骤,可以对常见账号登录进行定制化。比如,整体步骤可以抽象后,定制化为:划过应用首屏引导-点击立即登录-输入账号-查询验证码-输入验证码-点击登录。

2.3、方便企业集成融合到中台

稍微大一些的企业,都有自己的业务中台,整体管控所有的业务情况。而移动测试专有云,作为第三方服务,通常提供给客户都是独立管理,独立控制。这初看起来,没有什么奇怪,但是却破坏了公司业务的整体性,不方便用户管理。

基于客户的需要,我们阿里云MQC测试平台,提供了各种API接口,方便企业打通跟移动测试专有云的服务,具体如下:

(1)任务调度,包括提交测试、任务结果筛选等;
(2)设备管理,基本的设备信息、设备筛选、设备释放等;
(3)报告管理,主要是测试的结果报告数据;
(4)脚本管理,创建脚本、更新脚本等。

通过以上三个方面的赋能,可以更好的发挥MQC移动测试平台的能力,更好的为企业和开发者服务,降低成本提升自动化测试的效率。

移动测试专有云服务介绍:地址

目录
相关文章
|
7月前
|
人工智能 自然语言处理 安全
【AI 现况分析】AI 如何帮助开发者完成自动化测试
【1月更文挑战第27天】【AI 现况分析】AI 如何帮助开发者完成自动化测试
|
3月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
49 2
|
4月前
|
JavaScript 前端开发 测试技术
Vue.js开发者必看!Vue Test Utils携手端到端测试,打造无懈可击的应用体验,引领前端测试新风尚!
【8月更文挑战第30天】随着Vue.js的普及,构建可靠的Vue应用至关重要。测试不仅能确保应用质量,还能提升开发效率。Vue Test Utils作为官方测试库,方便进行单元测试,而结合端到端(E2E)测试,则能构建全面的测试体系,保障应用稳定性。本文将带你深入了解如何使用Vue Test Utils进行单元测试,通过具体示例展示如何测试组件行为;并通过Cypress进行E2E测试,确保整个应用流程的正确性。无论是单元测试还是E2E测试,都能显著提高Vue应用的质量,让你更加自信地交付高质量的应用。
80 0
|
6月前
|
IDE 测试技术 持续交付
Python作为一种简洁、易读且功能强大的编程语言,其自动化测试和单元测试框架的丰富性和易用性为开发者提供了极大的便利
【6月更文挑战第10天】本文探讨了Python自动化测试与单元测试框架在提升代码质量和效率中的作用。Selenium、Appium和pytest是常用的自动化测试框架,分别支持Web和移动应用的测试。unittest是Python的标准单元测试框架,提供断言方法和测试组织结构。通过制定测试计划、编写高质量测试用例、持续集成与测试、以及有效利用测试报告,开发者能提高代码质量和开发效率。
54 1
|
机器学习/深度学习 人工智能 测试技术
软件测试/人工智能|GitHub Copilot:开发者新利器
软件测试/人工智能|GitHub Copilot:开发者新利器
|
JavaScript 数据库 开发者
(简易)测试数据构造平台:30 - 开发者入驻
(简易)测试数据构造平台:30 - 开发者入驻
|
SQL 分布式计算 druid
2021 年数据库报告:PostgreSQL 成开发者首选 | Benchmark 测试陷“混战”
2021 年数据库报告:PostgreSQL 成开发者首选 | Benchmark 测试陷“混战”
276 0
2021 年数据库报告:PostgreSQL 成开发者首选 | Benchmark 测试陷“混战”
|
Web App开发 资源调度 测试技术
Sentry 开发者贡献指南 - 浏览器 SDK 集成测试
Sentry 开发者贡献指南 - 浏览器 SDK 集成测试
134 0
Sentry 开发者贡献指南 - 浏览器 SDK 集成测试
|
XML SQL 测试技术
防御式编程和开发者测试
  《代码大全》第8章介绍了防御式编程,这是一种提高软件质量技术的有益辅助手段,其核心思想是:程序不应该传入错误数据而被破坏。第22章介绍了开发者测试,测试是最常见的改善质量的活动,有些测试需要开发人员进行,例如单元测试、组件测试和集成测试。
防御式编程和开发者测试
|
消息中间件 SQL 前端开发
Sentry 开发者贡献指南 - 测试技巧
Sentry 开发者贡献指南 - 测试技巧
199 0