CN105912457A - 测试服务器、测试客户端、测试系统和测试方法 - Google Patents
测试服务器、测试客户端、测试系统和测试方法 Download PDFInfo
- Publication number
- CN105912457A CN105912457A CN201510896406.7A CN201510896406A CN105912457A CN 105912457 A CN105912457 A CN 105912457A CN 201510896406 A CN201510896406 A CN 201510896406A CN 105912457 A CN105912457 A CN 105912457A
- Authority
- CN
- China
- Prior art keywords
- test
- client
- testing
- test client
- case
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及测试领域,公开了一种测试服务器、测试客户端、测试系统和测试方法,该测试服务器包括:分发模块,用于将待运行测试用例分发给多个测试客户端;以及运行数据回收模块,用于从所述多个测试客户端接收所述多个测试客户端运行所分发测试用例的运行数据。本发明能够提高自动化测试的效率,并解决实体手机资源紧张的问题。
Description
技术领域
本发明涉及测试领域,具体地,涉及一种测试服务器、测试客户端、测试系统和测试方法。
背景技术
目前,针对移动终端(例如,手机、ipad等)开发的应用越来越多。在开发阶段,对这些应用进行测试的测试用例的数量也非常多,基本都在500条左右,这促进了自动化测试的发展速度。
目前,自动化测试的通常做法都是在单台手机上运行数量庞大的测试用例,这是因为手机资源在任何公司都是非常紧张宝贵的,致使同时使用多台手机运行测试用例的可能性不大。然而,使用单台手机运行数量庞大的测试用例所花费的时间基本都在6~8小时,这大大降低了自动化测试的效率。
发明内容
本发明的目的是提供一种测试服务器、测试客户端、测试系统和测试方法,其能够提高自动化测试的效率,并解决实体手机资源紧张的问题。
为了实现上述目的,本发明提供一种测试服务器,该测试服务器包括:分发模块,用于将待运行测试用例分发给多个测试客户端;以及运行数据回收模块,用于从所述多个测试客户端接收所述多个测试客户端运行所分发测试用例的运行数据。
本发明还提供一种测试客户端,该测试客户端包括:测试用例运行模块,用于获取测试服务器分发给该测试客户端的测试用例并运行所获取的测试用例;以及运行数据传送模块,用于获取所述测试用例运行模块的运行数据并将所获取的运行数据传送给所述测试服务器。
本发明还提供一种测试系统,该测试系统包括上述的测试服务器和测试客户端。
本发明还提供一种测试方法,该测试方法包括:步骤S1、将待运行测试用例分发给多个测试客户端;以及步骤S2、从所述多个测试客户端接收所述多个测试客户端运行所分发测试用例的运行数据。
通过上述技术方案,由于测试服务器将待运行测试用例分发给多个测试客户端,在测试客户端运行了测试用例之后从测试客户端接收测试用例的运行数据以便进行后续的分析和查阅,因此根据本发明的测试服务器、测试客户端、测试系统和测试方法能够实现多个测试客户端同时运行不同的测试用例,因此大大减小了数量庞大的测试用例的整体运行时间,提高了测试效率,并解决了实体手机资源紧张的问题。
本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是根据本发明一种实施方式的测试服务器的示意框图;
图2是根据本发明又一实施方式的测试服务器的示意框图;
图3是根据本发明一种实施方式的测试客户端的示意框图;
图4是根据本发明一种实施方式的测试系统的示意框图;以及
图5是根据本发明一种实施方式的测试方法的示意流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明提供一种测试服务器,如图1所示,该测试服务器10包括分发模块101,用于将待运行测试用例分发给多个测试客户端20;以及运行数据回收模块102,用于从所述多个测试客户端20接收所述多个测试客户端20运行所分发测试用例的运行数据。
优选地,所述分发模块101可以通过将待运行测试用例的接口暴露给相应测试客户端20的方式向所述多个测试客户端20分发待运行测试用例。这样,每个测试客户端20只能从测试服务器10暴露给该测试客户端20的接口中来获取分发给该测试客户端20的测试用例,从而实现了待运行测试用例的分布式运行,大大提高了测试用例的运行效率。除了通过暴露接口给相应测试客户端20的方式来分发待运行测试用例之外,分发模块101还可以通过将待运行测试用例发送给相应测试客户端20的方式来分发待运行测试用例。
另外,分发模块101可以通过获取测试用例列表的方式来获悉哪些测试用例尚未被运行,因为,在本领域中,通常会将需要运行的所有测试用例都存储在一个测试用例列表中,该列表中会包含所有测试用例的运行状态,如已经被运行、尚未被运行、正在被运行等。另外,测试用例列表可以被存储为文件的形式,例如word文件、文本文件等。
优选地,所述运行数据回收模块102可以通过接收字节流或文件(例如word文件、文本文件等)的方式从所述多个测试客户端20接收所分发测试用例的运行数据。这样就能够收集运行测试用例的多个测试客户端的运行数据,便于测试工程师后续查阅各个测试用例的运行情况和运行日志。
优选地,如图2所示,根据本发明的测试服务器10还可以包括测试客户端状态获取模块103,用于获取所述多个测试客户端20的当前状态;以及所述分发模块101还用于依据所述多个测试客户端20的当前状态来向所述多个测试客户端20分发待运行测试用例。这样就能够实现待运行测试用例的分布式分发效率,提高测试用例的分布式运行效率。例如,若测试客户端状态获取模块103获取到某个测试客户端20当前不可用(例如,其正在启动、正在重启、已经关闭等等),则分发模块101会选择不向该测试客户端20分发待运行测试用例。再例如,若测试客户端状态获取模块103获取到被分发给某个测试客户端20的待运行测试用例中有相当多数量的测试用例尚未被运行,则分发模块101可以选择暂时不向该测试客户端20分发待运行测试用例,而是选择向具有最小数量的尚未运行测试用例的测试客户端20分发待运行测试用例,这样就能够提高测试用例的分布式运行效率,大大减小测试用例的整体运行时间。
本发明还提供一种测试客户端,如图3所示,该测试客户端20包括:测试用例运行模块201,用于获取测试服务器10分发给该测试客户端20的测试用例并运行所获取的测试用例;以及运行数据传送模块202,用于获取所述测试用例运行模块201的运行数据并将所获取的运行数据传送给所述测试服务器10。
优选地,所述测试用例运行模块201可以通过调用所述测试服务器10暴露给该测试客户端20的接口来获取所述测试服务器10分发给该测试客户端20的测试用例。除了通过从测试服务器10暴露给该测试客户端20的接口来获取待运行测试用例之外,测试用例运行模块201还可以通过接收测试服务器10发送给该测试客户端20的待运行测试用例的方式来获取待运行测试用例。
另外,根据本发明的测试客户端20可以采用能够在电脑上运行的各种手机模拟器(例如genymotion、BlueStacks等手机模拟器)来实现。因此,根据本发明的测试客户端20中的测试用例运行模块201运行测试用例的方式也会与所使用的手机模拟器相对应,例如,若所采用的手机模拟器是通过Runtime执行am命令来运行测试用例,则根据本发明的测试客户端20中的测试用例运行模块201就相应地通过Runtime执行am命令来运行测试用例。
优选地,所述运行数据传送模块202可以通过字节流或文件(例如word文件、文本文件等)的方式向所述测试服务器10传送所述运行数据。这样就便于测试工程师后续查阅各个测试用例的运行情况和运行日志。
另外,运行数据传送模块202在获取测试用例运行模块201的运行数据时,可以通过截取关键字的方式来获取所需的运行数据和日志,也可以保存测试用例运行模块201的全部运行数据。
本发明还提供一种测试系统,如图4所示,该测试系统1包括测试服务器10和测试客户端20。测试服务器10可以是如上结合图1和图2描述的测试服务器,测试客户端20可以是如上结合图3描述的测试客户端,此处均不再赘述。
另外,如上描述的根据本发明的测试服务器10、测试客户端20和测试系统1可以通过远程方法调用(Remote Method Invocation,RMI)的方式来实现。这样,就能够在一台电脑上同时开启多个测试客户端20,通过测试服务器10向测试客户端20分发待运行测试用例,就能够实现待运行测试用例的分布式运行,并释放真实的手机资源,大大提高测试用例的运行效率。RMI是本领域技术人员公知的,此处不再赘述。另外,测试客户端20的启动、重启等操作可以通过批处理脚本调用win或linux命令或其他方式来实现。
本发明还提供一种测试方法,如图5所示,该测试方法可以包括以下步骤:
步骤S1、将待运行测试用例分发给多个测试客户端;以及
步骤S2、从所述多个测试客户端接收所述多个测试客户端运行所分发测试用例的运行数据。
优选地,在步骤S1中,可以通过将待运行测试用例的接口暴露给相应测试客户端的方式向所述多个测试客户端分发待运行测试用例。这样,每个测试客户端只能从测试服务器暴露给该测试客户端的接口中来获取分发给该测试客户端的测试用例,从而实现了待运行测试用例的分布式运行,大大提高了测试用例的运行效率。除了通过暴露接口给相应测试客户端的方式来分发待运行测试用例之外,在步骤S1中还可以通过将待运行测试用例发送给相应测试客户端的方式来分发待运行测试用例。
优选地,在步骤S1中,还可以通过获取测试用例列表的方式来获悉哪些测试用例尚未被运行,因为,在本领域中,通常会将需要运行的所有测试用例都存储在一个测试用例列表中,该列表中会包含所有测试用例的运行状态,如已经被运行、尚未被运行、正在被运行等。另外,测试用例列表可以被存储为文件的形式,例如word文件、文本文件等。
优选地,在步骤S2中,可以通过接收字节流或文件(例如word文件、文本文件等)的方式从所述多个测试客户端接收所分发测试用例的运行数据。这样就能够收集运行测试用例的多个测试客户端的运行数据,便于测试工程师后续查阅各个测试用例的运行情况和运行日志。
优选地,根据本发明的测试方法还可以包括:在步骤S1之前,获取所述多个测试客户端的当前状态;以及在步骤S1中,依据所述多个测试客户端的当前状态向所述多个测试客户端分发待运行测试用例。这样就能够实现待运行测试用例的分布式分发效率,提高测试用例的分布式运行效率。例如,若获取到某个测试客户端当前不可用(例如,其正在启动、正在重启、已经关闭等等),则在步骤S1中可以选择不向该测试客户端分发待运行测试用例。再例如,若获取到被分发给某个测试客户端的待运行测试用例中有相当多数量的测试用例尚未被运行,则在步骤S1中可以选择暂时不向该测试客户端分发待运行测试用例,而是选择向具有最小数量的尚未运行测试用例的测试客户端分发待运行测试用例,这样就能够提高测试用例的分布式运行效率,大大减小测试用例的整体运行时间。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (12)
1.一种测试服务器,该测试服务器包括:
分发模块,用于将待运行测试用例分发给多个测试客户端;以及
运行数据回收模块,用于从所述多个测试客户端接收所述多个测试客户端运行所分发测试用例的运行数据。
2.根据权利要求1所述的测试服务器,其中,所述分发模块通过将待运行测试用例的接口暴露给相应测试客户端的方式向所述多个测试客户端分发待运行测试用例。
3.根据权利要求1所述的测试服务器,其中,所述运行数据回收模块通过接收字节流或文件的方式从所述多个测试客户端接收所分发测试用例的运行数据。
4.根据权利要求1至3中任一权利要求所述的测试服务器,该测试服务器还包括测试客户端状态获取模块,用于获取所述多个测试客户端的当前状态;以及
所述分发模块还用于依据所述多个测试客户端的当前状态来向所述多个测试客户端分发待运行测试用例。
5.一种测试客户端,该测试客户端包括:
测试用例运行模块,用于获取测试服务器分发给该测试客户端的测试用例并运行所获取的测试用例;以及
运行数据传送模块,用于获取所述测试用例运行模块的运行数据并将所获取的运行数据传送给所述测试服务器。
6.根据权利要求5所述的测试客户端,其中,所述测试用例运行模块通过调用所述测试服务器暴露给该测试客户端的接口来获取所述测试服务器分发给该测试客户端的测试用例。
7.根据权利要求5所述的测试客户端,其中,所述运行数据传送模块通过字节流或文件的方式向所述测试服务器传送所述运行数据。
8.一种测试系统,该测试系统包括权利要求1至4中任一权利要求所述的测试服务器和权利要求5至7中任一权利要求所述的测试客户端。
9.一种测试方法,该测试方法包括:
步骤S1、将待运行测试用例分发给多个测试客户端;以及
步骤S2、从所述多个测试客户端接收所述多个测试客户端运行所分发测试用例的运行数据。
10.根据权利要求9所述的测试方法,其中,在步骤S1中,通过将待运行测试用例的接口暴露给相应测试客户端的方式向所述多个测试客户端分发待运行测试用例。
11.根据权利要求9所述的测试方法,其中,在步骤S2中,通过接收字节流或文件的方式从所述多个测试客户端接收所分发测试用例的运行数据。
12.根据权利要求9至11中任一权利要求所述的测试方法,该测试方法还包括:在步骤S1之前,获取所述多个测试客户端的当前状态;以及
在步骤S1中,依据所述多个测试客户端的当前状态向所述多个测试客户端分发待运行测试用例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510896406.7A CN105912457A (zh) | 2015-12-08 | 2015-12-08 | 测试服务器、测试客户端、测试系统和测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510896406.7A CN105912457A (zh) | 2015-12-08 | 2015-12-08 | 测试服务器、测试客户端、测试系统和测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105912457A true CN105912457A (zh) | 2016-08-31 |
Family
ID=56744032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510896406.7A Pending CN105912457A (zh) | 2015-12-08 | 2015-12-08 | 测试服务器、测试客户端、测试系统和测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912457A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970880A (zh) * | 2017-04-28 | 2017-07-21 | 中国科学院软件研究所 | 一种分布式自动化软件测试方法及系统 |
CN109274960A (zh) * | 2018-09-30 | 2019-01-25 | 四川长虹电器股份有限公司 | 数字电视条件接收自动化测试系统及测试方法 |
CN109995614A (zh) * | 2019-03-29 | 2019-07-09 | 新华三信息安全技术有限公司 | 一种α测试方法及装置 |
CN112540883A (zh) * | 2019-09-23 | 2021-03-23 | 深圳宏芯宇电子股份有限公司 | 测试系统及测试方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070220370A1 (en) * | 2006-01-12 | 2007-09-20 | International Business Machines Corporation | Mechanism to generate functional test cases for service oriented architecture (SOA) applications from errors encountered in development and runtime |
CN101727389A (zh) * | 2009-11-23 | 2010-06-09 | 中兴通讯股份有限公司 | 一种分布式综合业务自动化测试系统及方法 |
CN102495799A (zh) * | 2011-12-02 | 2012-06-13 | 刘伟 | 移动终端的自动化测试系统和方法 |
CN103298016A (zh) * | 2012-02-27 | 2013-09-11 | 展讯通信(上海)有限公司 | 移动终端的测试系统 |
CN103455425A (zh) * | 2013-09-25 | 2013-12-18 | 中国银行股份有限公司 | 一种分布式测试系统及方法 |
CN103678132A (zh) * | 2013-12-18 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 一种应用软件云测试系统 |
CN104077218A (zh) * | 2013-03-29 | 2014-10-01 | 百度在线网络技术(北京)有限公司 | MapReduce分布式系统的测试方法及设备 |
CN104516811A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种分布式执行测试用例的方法和系统 |
-
2015
- 2015-12-08 CN CN201510896406.7A patent/CN105912457A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070220370A1 (en) * | 2006-01-12 | 2007-09-20 | International Business Machines Corporation | Mechanism to generate functional test cases for service oriented architecture (SOA) applications from errors encountered in development and runtime |
CN101727389A (zh) * | 2009-11-23 | 2010-06-09 | 中兴通讯股份有限公司 | 一种分布式综合业务自动化测试系统及方法 |
CN102495799A (zh) * | 2011-12-02 | 2012-06-13 | 刘伟 | 移动终端的自动化测试系统和方法 |
CN103298016A (zh) * | 2012-02-27 | 2013-09-11 | 展讯通信(上海)有限公司 | 移动终端的测试系统 |
CN104077218A (zh) * | 2013-03-29 | 2014-10-01 | 百度在线网络技术(北京)有限公司 | MapReduce分布式系统的测试方法及设备 |
CN103455425A (zh) * | 2013-09-25 | 2013-12-18 | 中国银行股份有限公司 | 一种分布式测试系统及方法 |
CN104516811A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种分布式执行测试用例的方法和系统 |
CN103678132A (zh) * | 2013-12-18 | 2014-03-26 | 中国科学院深圳先进技术研究院 | 一种应用软件云测试系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970880A (zh) * | 2017-04-28 | 2017-07-21 | 中国科学院软件研究所 | 一种分布式自动化软件测试方法及系统 |
CN106970880B (zh) * | 2017-04-28 | 2021-01-01 | 中国科学院软件研究所 | 一种分布式自动化软件测试方法及系统 |
CN109274960A (zh) * | 2018-09-30 | 2019-01-25 | 四川长虹电器股份有限公司 | 数字电视条件接收自动化测试系统及测试方法 |
CN109995614A (zh) * | 2019-03-29 | 2019-07-09 | 新华三信息安全技术有限公司 | 一种α测试方法及装置 |
CN112540883A (zh) * | 2019-09-23 | 2021-03-23 | 深圳宏芯宇电子股份有限公司 | 测试系统及测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378749B (zh) | 客户端相似性的评估方法、装置、终端设备及存储介质 | |
CN107665233B (zh) | 数据库数据处理方法、装置、计算机设备和存储介质 | |
CN105912457A (zh) | 测试服务器、测试客户端、测试系统和测试方法 | |
US20120221893A1 (en) | Managing test automation | |
US9639444B2 (en) | Architecture for end-to-end testing of long-running, multi-stage asynchronous data processing services | |
CN108256118B (zh) | 数据处理方法、装置、系统、计算设备以及存储介质 | |
CN105897807A (zh) | 一种基于行为特征的移动智能终端异常代码云检测方法 | |
EP2985730A1 (en) | Method and device for partially-upgrading | |
CN107045475B (zh) | 测试方法和装置 | |
EP2492814A1 (en) | Managing test automation | |
CN111221793A (zh) | 数据挖掘方法、平台、计算机设备及存储介质 | |
CN106231367A (zh) | 美颜处理方法及装置 | |
CN112767133A (zh) | 业务决策方法及装置、存储介质、计算机设备 | |
CN107368407B (zh) | 信息处理方法和装置 | |
CN104813610A (zh) | 提供多个内容项目显示在多个设备上 | |
CN107220169B (zh) | 一种模拟服务器返回定制化数据的方法和设备 | |
CN112084102A (zh) | 接口压力测试的方法和装置 | |
CN116627849B (zh) | 系统测试方法、装置、设备及存储介质 | |
CN112486833A (zh) | 一种面向软件定义卫星的可按需动态重构的软件测试系统和方法 | |
CN105138451A (zh) | 一种用于测试插件的功能的方法、装置和系统 | |
CN116662302A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
JP6199844B2 (ja) | 被疑箇所推定装置及び被疑箇所推定方法 | |
CN110035126A (zh) | 一种文件处理方法、装置、计算设备及存储介质 | |
CN111131354B (zh) | 用于生成信息的方法和装置 | |
CN112035736B (zh) | 信息推送方法、装置及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160831 |