CN111290937B - 一种基于混合云的可扩展的移动应用自动化测试平台 - Google Patents

一种基于混合云的可扩展的移动应用自动化测试平台 Download PDF

Info

Publication number
CN111290937B
CN111290937B CN201811499003.9A CN201811499003A CN111290937B CN 111290937 B CN111290937 B CN 111290937B CN 201811499003 A CN201811499003 A CN 201811499003A CN 111290937 B CN111290937 B CN 111290937B
Authority
CN
China
Prior art keywords
test
cloud
mobile application
server
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811499003.9A
Other languages
English (en)
Other versions
CN111290937A (zh
Inventor
陈振宇
张天
房春荣
田元汉
徐悠然
黄勇
臧晓杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Muzhi Technology Co ltd
Original Assignee
Shenzhen Muzhi Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Muzhi Technology Co ltd filed Critical Shenzhen Muzhi Technology Co ltd
Priority to CN201811499003.9A priority Critical patent/CN111290937B/zh
Publication of CN111290937A publication Critical patent/CN111290937A/zh
Application granted granted Critical
Publication of CN111290937B publication Critical patent/CN111290937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

一种基于混合云的可扩展的移动应用自动化测试框架的构架方法,其特征是对于自动测试中的移动应用自动测试,依据多级服务器分发任务获取报告统计报告的流程,进行了自顶向下的多级服务器架构。基于混合云的框架融合了公有云和私有云,它突破了私有云的硬件限制,利用公有云的可能性,可以随时获取更高的计算能力。整个框架通过调度和管理中心进行连接,使得私有云可以通过任务发布的方式共享公有云的资源外,还能在空闲时接受别的云发布的任务来共享自己的资源。

Description

一种基于混合云的可扩展的移动应用自动化测试平台
技术领域
本发明属于软件测试技术领域,尤其是软件测试中自动测试移动应用领域,用于一种基于混合云的可扩展的移动应用自动化测试技术。
背景技术
随着移动终端和移动应用(Apk)的普及,开发者视角从桌面端移向了移动端。开发一个低出错率、低故障率的优质移动应用非常困难,由于每个移动应用的独特性和平台的不一致性以及安卓平台的碎片化。因此,移动应用开发者往往需要对移动应用进行大规模复杂的手动测试。这些手动测试包括不同终端设备型号、不同系统版本的兼容性测试,以及移动应用的稳定性测试和一些其他的功能性能测试。
小微企业在测试Android应用,需要购买不同版本和不同机型的大量Android手机,产生额外的花费,并且十分不方便管理。对于个人开发者和小型团队而言,收集全部的Android版本是比较困难的一件事,而且也不便于管理。此外,即使可以收集到全部版本的Android机型,在所有机型上逐步手动测试也是费时费力的一项工作。
尽管如今自动化测试工具如雨后春笋般地出现,但是普遍存在以下几个问题,测试工具通常收费;免费版的功能少之又少,覆盖不全;移动端全平台通用的测试工具基本不存在;代码开源的自动化测试工具较少。传统的自动化测试脚本也仅仅只能通过开发人员单独在移动应用上运行才能工作,没有合适的平台来管理这些自动化测试脚本。随之带来的问题就是如何在自动化测试平台上处理和展示这些来自脚本运行的数据。工业界的普遍做法是将错误日志(一般包括时间,错误发生位置)等信息直接堆砌在屏幕上,往往缺乏较直观的表示。对于开发人员,重复的数据反而加大了修复移动应用中错误和缺陷的工作量,对于测试人员,许多数据的显示又非常难以理解,无法促进进一步的测试和探测移动应用中的问题。
发明内容
本发明要解决的问题是:当前移动应用在多机型测试的效率低以及开发人员的测试时间长的问题。
本发明的技术方案为:一种基于混合云的可扩展的移动应用自动化测试框架的构架方法,其特征是对于自动测试中的移动应用自动测试,依据多级服务器分发任务获取报告统计报告的流程,进行了自顶向下的多级服务器架构。基于混合云的框架融合了公有云和私有云,它突破了私有云的硬件限制,利用公有云的可能性,能够随时获取更高的计算能力。整个框架通过调度和管理中心进行连接,使得私有云能够通过任务发布的方式共享公有云的资源外,还能在空闲时接受别的云发布的任务来共享自己的资源。这样的框架使得待测移动应用可以同时在不同的机型环境下测试,以尽可能通过自动化测试提高多机型测试的效率与减少开发人员的测试时间。多级服务器的拓扑结构与功能划分为:主服务器只负责系统的业务交互,主服务器与子服务器一对多进行连接,并且能够通过云调度来进行服务注册和服务发现来实现可扩展性,子服务器负责具体的测试业务。根据该架构方法搭建的自动测试系统工作的步骤如下:
1)私有云主服务器接受任务请求,得到可安装的移动应用安装包,测试机型,测试手机数量和用户自定义测试脚本
2)主服务器和混合云调度管理中心进行通讯,将超出自己资源能力范围的任务发布道调度管理中心上。
3)任务调度管理中心根据当前注册到调度管理中心的混合云进行任务拆分和预处理,然后根据混合云选择策略和任务属性将任务分配给其他混合云。并将测试信息发送给混合云的主服务器
4)获得任务的混合云主服务器会根据配置参数,包括测试次数,测试时间,测试机型和测试类型,选择进行测试的子服务器,并把移动应用安装包分发到各个子服务器
5)子服务器根据主服务器传来的参数,包括测试次数,测试时间,测试机型和测试类型,把移动系统移动应用安装至连接在子服务器上的各移动系统手机设备上。
6)子服务器运行默认的移动应用自动测试脚本或用户自定义测试脚本。
7)子服务器为每个连接在子服务器上的移动系统手机自动生成一份测试报告(包括但不限于测试类型,测试时间,测试次数,系统崩溃次数和系统崩溃截图),将所有生成的测试报告传回主服务器,主服务器会实时将测试数据发送给任务调度管理中心。
8)任务调度管理中心运行测试报告分析程序,根据测试手机型号,Android手机型号等分类依据形成完整报告。
9)提交任务的私有云主服务器向任务调度管理中心获取完整的测试报告和数据。
2.根据上述内容所描述的一种基于混合云的可扩展的移动应用自动化测试框架,利用了步骤6)中的默认自动测试程序,能够对待测的移动移动应用测试进行模拟各种手机操作行为来进行以界面深度遍历为目标的界面测试。测试中的模拟操作行为包括:点击,拖拽,双击,输入文字。
3.根据上述内容所描述的一种基于混合云的可扩展的移动应用自动化测试框架方法,特征是主从服务器之间的拓扑结构,主服务器只负责系统的业务交互,子服务器负责具体的测试业务,提高了系统的性能、稳定性,可伸缩性和测试资源的使用率。
4.根据上述内容所描述的一种基于混合云的可扩展的移动应用自动化测试框架方法,通过公有云和私有云之间的资源共享,提升了整个平台的资源利用率,解决了部分私有云资源不足的问题。
5.根据上述内容所描述的一种基于混合云的可扩展的移动应用自动化测试框架方法,任务调度管理中心会根据实时的测试数据,依据用户选择的报告模板和规则进行数据整合,形成最终的测试报告。提高了测试数据和报告的精准性和丰富性,可以依据私有云的选择来生成不同的测试报告。
本发明的特点在于:1、使用多级服务器控制安装包的分发;2、使用自动测试程序代替人工手动测试;3、对多种机型可以同时进行测试并生成测试报告。将这3点结合,本发明可以自动进行移动移动应用的安装与卸载,待测移动应用可进行自动化随机测试,可以进行多个移动机型的压力测试,测试后生成的报告可以有效展示测试过程中触发移动应用中的缺陷的原因并记录了截图与操作日志以供参考;4、基于混合云的系统架构可以对子服务器的数量进行扩展,可以根据测试需求来进行云调度。5、基于混合云的系统框架可以通过公有云和私有云资源共享的方式,有效提高资源的利用率,解决私有云资源稀缺的问题。6、基于混合云的系统框架在任务调度管理中心可以对测试数据依据不同的模板和规则进行结果汇合,提高测试报告的精准性和多样性。
本发明的有益效果是:可以减少程序花费在手动测试上的精力,减少程序员花费在不同机型调配上的时间,使得程序员可以用更少的时间尽早得找到错误,节省了程序员寻找错误的时间成本。
附图说明
图1为本发明的混合云及任务调度管理中心示意图。
图2为本发明的公有云系统架构示意图。
图3任务调度管理中心任务分配算法流程图。
图4为本发明的实施流程图。
图5为本发明实施示例中,测试报告概览页面,包括了被测移动应用基本信息,测试手机的基本信息和测试过程中收集到的数据。
图6为本发明实施示例中,收集到的CPU,内存,FPS和网络数据图表。
图7为本发明实施示例中,测试报告屏幕截图页面示例。
图8为本发明实施示例中,根据测试过程生成的应用界面树图像。
图9为本发明实施示例中,任务调度管理中心生成的结果汇总报告截图A。
图10为本发明实施示例中,任务调度管理中心生成的结果汇总报告截图B。
具体实施方式
本发明中涉及的几项关键的技术分别是:Java技术,springMVC框架,移动端的Appium测试框架,ADB测试工具,Zookeeper和Thrift框架。接下来进行一些说明:
1、Java
在本发明中,Java主要用于主服务器上的业务逻辑的编写。步骤1)中的任务请求,步骤2)中的安装包分发与传输都是通过Java来实现的。
2、Spring MVC框架
在本发明中,主服务器和子服务器的架构就是采用了spring MVC框架,为服务器提供了一个灵活可拓展的框架。所有的路由与跳转功能都通过该框架来实行。
3、Appium。
在本发明中,Appium工具被用来在步骤4)中进行自动化的测试。
4、ADB
在本发明中,ADB工具被用来在步骤4)中协助自动化的测试,通过ADB可以获取测试过程中真机的基本信息和应用的运行数据。
5、Zookeeper
在本发明中,Zookeeper用于总服务器和子服务器的服务注册,服务发现相关的实现。Zookeeper是混合云架构可扩展性的关键。
6、Thrift
在发明中,Thrift框架提供了rpc接口给公有云访问,使得管理员能够在公有云节点上对私有云,资源,任务进行全局监控和管理。
使用示例
下面用一个具体的示例来说明本方法的步骤,并展示结果。
如图1,本发明提出了基于多级服务器的移动应用自动测试系统的架构方法,使得待测移动应用可以同时在不同的机型环境下测试,以尽可能通过自动化测试提高多机型测试的效率与减少开发人员的测试时间。
优播课是一款在线课程教学工具,其定位是O2O互动学习平台,学员在优播课应用注册并绑定自己的学号后,可以下载观看授课老师的学习资料。由于其拥有复杂的界面操作和丰富的功能,故选为测试应用。
多级服务器环境如下:
1.主服务器环境:操作系统ubuntu14.04。
2.子服务器环境:pc小电脑,操作系统ubuntu14.04。通过USB接口和移动手机数据线和移动手机相连。
实施步骤如下:
1)主服务器接受任务请求,得到可安装的移动应用安装包(fffoiof.apk)。
2)主服务器根据配置参数(测试手机数量,测试时间,测试机型,测试类型,用户自定义脚本等),将测试任务发布到混合云调度管理中心,根据调度算法选择执行该测试任务的混合云。
3)接收到测试任务的混合云主服务器,把移动应用安装包分发到各个子服务器。配置参数示例:(测试程序PacakgeName为com.xdf.ucan,测试手机的数量为1,测试类型为用户自定义脚本测试,最大测试时间为10分钟)
4)子服务器根据主服务器传来的参数(测试次数,测试时间,测试机型,测试类型,用户自定义脚本等),把移动系统移动应用安装至连接在子服务器上的各移动系统手持设备上。
5)子服务器运行移动应用自动测试程序,由于此次测试类型为用户自定义脚本类型,所以运行用户自定义脚本来执行自动测试程序。
6)子服务器为每个连接在子服务器上的移动系统真机自动生成一份测试报告(包括但不限于测试类型,测试过程中CPU,内存,FPS数据,系统日志,测试时间,测试次数,系统崩溃次数,系统崩溃截图等),将所有生成的测试报告传回主服务器。
7)主服务器将测试数据发送给任务调度管理中心,管理中心运行测试报告分析程序,形成单机报告(如说明附图图6,图7和图8)和整体报告(如说明附图的图9和图10)。
8)测试报告显示了移动应用的基本信息,测试主机的操作系统,CPU,内存和FPS,以及根据机型和系统版本号生成的统计信息。
通这个实施示例,我们在几分钟内得到了一个比较详尽的测试报告,并且可以通过调整参数进行更长时间的自动测试同时无需测试人员的参与,而如果完全依靠人工的话,这需要花费很大的时间成本和资源成本。由此可以看来,这种架构方法下的测试系统的确可以在一定程度上节省程序员寻找错误的时间成本。

Claims (4)

1.一种基于混合云的可扩展的移动应用自动化测试方法,其特征是对于Android移动应用自动测试,使用融合了公有云和私有云的混合云框架,并且使用自顶向下的多级服务器架构完成两轮调度分发任务,基于混合云的框架突破了私有云的硬件限制,利用公有云的可能性,能够随时获取所需的计算能力,该方法能够实时根据用户选择的报告模板和规则整合测试数据获取报告和统计报告,整个框架与任务调度管理中心连接,使得私有云能够通过任务发布的方式共享公有云的资源外,还能在空闲时接受别的云发布的任务来共享自己的资源,使得待测试移动应用程序能够同时在不同的复杂的Android机型环境下进行自动化测试,所述方法步骤如下:
1)私有云主服务器接受任务请求,得到可安装的Android移动应用安装包,测试机型,测试手机数量和用户自定义测试脚本;
2)主服务器和混合云调度管理中心进行通讯进行第一轮调度分发,将超出自己资源能力范围的任务发布到任务调度管理中心上;
3)任务调度管理中心根据当前注册到调度管理中心的混合云进行任务拆分和预处理,然后进行第二轮调度分发,根据混合云选择策略和任务属性将任务分配给其他混合云,并将测试信息发送给混合云的主服务器;
4)获得任务的混合云主服务器会根据配置参数,包括测试次数,测试时间,测试机型和测试类型,选择进行测试的子服务器,并把移动应用安装包分发到各个子服务器;
5)子服务器根据主服务器传来的参数,包括测试次数,测试时间,测试机型和测试类型,把移动应用安装至连接在子服务器上的各移动系统手机设备上;
6)子服务器运行默认的移动应用自动测试脚本或用户自定义测试脚本;
7)子服务器根据实时测试数据根据用户选择的报告模板和规则进行整合,为每个连接在子服务器上的移动系统手机自动生成一份测试报告,包括但不限于测试类型,测试时间,测试次数,系统崩溃次数和系统崩溃截图, 将所有生成的测试报告传回主服务器,主服务器会实时将测试数据发送给任务调度管理中心;
8)任务调度管理中心运行测试报告分析程序,根据测试的Android 手机型号分类依据形成完整报告,提交任务的私有云主服务器向任务调度管理中心获取完整的测试报告和数据。
2.根据权利要求1所描述的一种基于混合云的可扩展的移动应用自动化测试方法,其特征是利用了步骤6)中的默认移动应用自动测试脚本,在这一移动应用自动测试脚本下对待测的移动应用测试进行模拟各种手机操作行为来进行以界面深度遍历为目标的界面测试;测试中的模拟操作行为包括:点击,拖拽,双击和输入文字。
3.根据权利要求1所描述的一种基于混合云的可扩展的移动应用自动化测试方法,其特征是主从服务器之间依赖任务调度中心进行两轮调度的拓扑结构,主服务器只负责系统的业务交互,子服务器负责具体的测试业务。
4.根据权利要求1所描述的一种基于混合云的可扩展的移动应用自动化测试方法,任务调度管理中心会根据实时的测试数据,依据用户选择的报告模板和规则进行数据整合,形成最终的测试报告,能够依据私有云的选择来生成不同的测试报告。
CN201811499003.9A 2018-12-08 2018-12-08 一种基于混合云的可扩展的移动应用自动化测试平台 Active CN111290937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811499003.9A CN111290937B (zh) 2018-12-08 2018-12-08 一种基于混合云的可扩展的移动应用自动化测试平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811499003.9A CN111290937B (zh) 2018-12-08 2018-12-08 一种基于混合云的可扩展的移动应用自动化测试平台

Publications (2)

Publication Number Publication Date
CN111290937A CN111290937A (zh) 2020-06-16
CN111290937B true CN111290937B (zh) 2024-01-30

Family

ID=71023880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811499003.9A Active CN111290937B (zh) 2018-12-08 2018-12-08 一种基于混合云的可扩展的移动应用自动化测试平台

Country Status (1)

Country Link
CN (1) CN111290937B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111857685A (zh) * 2020-07-16 2020-10-30 武汉秒开网络科技有限公司 一种自助软件定制及远程自动化测试的方法及系统
CN112527685A (zh) * 2020-12-25 2021-03-19 上海云轴信息科技有限公司 基于混合云的自动化测试方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104378252A (zh) * 2014-08-26 2015-02-25 国家电网公司 一种云测试服务平台
CN106354629A (zh) * 2016-08-19 2017-01-25 南京慕测信息科技有限公司 一种基于多级服务器的iOS系统移动应用自动测试系统的架构方法
CN108255720A (zh) * 2018-01-12 2018-07-06 中国计量大学 基于云计算架构的软件自动测试系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9734280B2 (en) * 2012-04-27 2017-08-15 Labthink Instruments Co., Ltd. Plastic packaging materials testing system based on internet of things and cloud technology

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104378252A (zh) * 2014-08-26 2015-02-25 国家电网公司 一种云测试服务平台
CN106354629A (zh) * 2016-08-19 2017-01-25 南京慕测信息科技有限公司 一种基于多级服务器的iOS系统移动应用自动测试系统的架构方法
CN108255720A (zh) * 2018-01-12 2018-07-06 中国计量大学 基于云计算架构的软件自动测试系统

Also Published As

Publication number Publication date
CN111290937A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
US10372600B2 (en) Systems and methods for automated web performance testing for cloud apps in use-case scenarios
Werner-Allen et al. Motelab: A wireless sensor network testbed
CN105094783B (zh) 安卓应用稳定性测试的方法及装置
Sampaio et al. Supporting microservice evolution
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
CN105302716B (zh) 合流开发模式下的测试方法、装置
Amalfitano et al. Testing android mobile applications: Challenges, strategies, and approaches
US20130263090A1 (en) System and method for automated testing
Ahmad et al. A systematic mapping study of empirical studies on software cloud testing methods
CN104679659A (zh) 应用程序的测试方法及装置、电子设备
CN106933729A (zh) 一种基于云平台的测试方法和系统
CN106649107B (zh) 安卓系统稳定性的自动化测试方法及装置
CN103365770A (zh) 移动终端软件测试系统及软件测试方法
CN109542791A (zh) 一种基于容器技术的程序大规模并发评测方法
US20190278696A1 (en) Automated application testing system
CN103544100A (zh) 便携数据处理设备应用程序的测试方法、系统和客户端
CN105338110A (zh) 远程调试方法和平台、服务器
CN105426298A (zh) 一种基于adb的软件测试方法和系统
CN107659455B (zh) 一种iOS端Mock数据的方法、存储介质、设备及系统
CN107733735B (zh) 一种植入于压测宝中的脚本录制系统及方法
CN105677556A (zh) 一种调度自动化主站系统软件测试方法及其平台
CN111290937B (zh) 一种基于混合云的可扩展的移动应用自动化测试平台
CN112463631A (zh) 一种芯片驱动程序测试方法、装置、设备及可读存储介质
CN106354629A (zh) 一种基于多级服务器的iOS系统移动应用自动测试系统的架构方法
CN110750453B (zh) 基于html5的智能移动端测试方法、系统、服务器及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211008

Address after: 518000 903a, building 10, Shenzhen Bay science and technology ecological park, No. 10, Gaoxin ninth Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen, Guangdong

Applicant after: Shenzhen Muzhi Technology Co.,Ltd.

Address before: Room 1302, 301 Hanzhongmen street, Gulou District, Nanjing City, Jiangsu Province, 210000

Applicant before: NANJING MUCE INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant