CN109359031A - 多设备应用程序测试方法、装置、服务器及存储介质 - Google Patents
多设备应用程序测试方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN109359031A CN109359031A CN201811028282.0A CN201811028282A CN109359031A CN 109359031 A CN109359031 A CN 109359031A CN 201811028282 A CN201811028282 A CN 201811028282A CN 109359031 A CN109359031 A CN 109359031A
- Authority
- CN
- China
- Prior art keywords
- test
- server
- measured
- application program
- equipment
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种多设备应用程序测试方法、装置、终端及存储介质。第一服务器将待测应用程序及待测应用程序的自动测试脚本分发给多个第二服务器;当第一服务器接收到对待测应用程序的自动测试的测试指令时,获取所述待测应用程序的自动测试脚本中的所有测试用例;统计所述所有测试用例中的每一条测试用例的步骤;根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例;接收所述多个第二服务器上报的多个测试报告,并将所述多个测试报告汇总成一个最终的测试报告。本发明能够通过云技术,采用并行的方式提高测试用例的执行效率,通过测试用例的平均步骤数来确保每台测试设备执行的测试步骤相同。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种多设备应用程序测试方法、装置、服务器及存储介质。
背景技术
目前具有数据计算处理功能的测试设备被应用的越来与广泛,例如智能手机,掌上电脑,平板电脑等,终端可以加载运行各种应用程序,大部分应用程序都是独立于测试设备的操作系统的第三方应用程序。每发布一款新的应用程序,都需要进行应用程序测试。现有的应用程序测试方法主要分为三种:纯手工测试、简单的自动化测试、集中的自动化测试。纯手工测试和简单的自动化测试所耗费的人工成本较高,测试时间较长。而集中的自动化测试,虽能在一定程度上能够解决人工测试成本高的问题,但是不同的测试设备执行不同的测试用例所耗费的时间不同,尤其是当测试用例集非常大时,测试的执行时间将会变得非常长,且有些测试设备执行完测试用例后会等待其他所有设备执行完测试用例一起上报测试报告,造成测试设备的空闲率较高,导致了测试设备资源的浪费。
发明内容
鉴于以上内容,有必要提出一种多设备应用程序测试方法、装置、服务器及存储介质,能够通过并行的方式提高测试用例的执行效率,通过测试用例的平均步骤数来确保每台测试设备执行的测试步骤相同。
本发明的第一方面提供一种多设备应用程序测试方法,应用于第一服务器中,所述第一服务器与多个第二服务器连接,每一个所述第二服务器与多个测试设备连接,所述方法包括:
将待测应用程序及所述待测应用程序的自动测试脚本分发给所述多个第二服务器,使得所述第二服务器通知对应的所述多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本;
当接收到对所述待测应用程序的自动测试的测试指令时,获取所述待测应用程序的自动测试脚本中的所有测试用例;
统计所述所有测试用例中的每一条测试用例的步骤;
根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例;
接收所述多个第二服务器上报的多个测试报告,并将所述多个测试报告汇总成一个最终的测试报告。
优选的,所述根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例包括:
计算所述测试用例的测试步骤的第一总和;
计算所述测试设备的数量的第二总和;
将所述第一总和除以所述第二总和,得到每台测试设备测试的平均测试用例数;
根据所述平均测试用例数,通过所述多个第二服务器控制所述测试设备执行测试用例。
优选的,所述根据所述平均测试用例数,通过多个第二服务器控制所述测试设备执行测试用例包括:
通过每个第二服务器控制对应的每台测试设备执行的测试用例对应的测试步骤的总和在所述平均测试用例数的预设范围内。
优选的,所述将所述多个测试报告汇总成一个最终的测试报告包括:
根据预设格式将每个测试报告转化为第一测试报告;
根据测试用例的编号对所述第一测试报告进行排序,得到最终的测试报告。
优选的,所述方法还包括:
统计所述最终的测试报告中的错误率;
判断所述错误率是否大于预设错误率阈值;
当确定所述错误率大于或者等于所述预设错误率阈值时,将所述错误率及对应错误的测试用例发送给测试人员。
本发明的第二方面提供一种多设备应用程序测试方法,应用于第二服务器中,所述第二服务器与第一服务器连接,所述第二服务器还与多个测试设备连接,所述方法包括:
接收所述第一服务器发送的待测应用程序及所述待测应用程序的自动测试脚本;
将所述待测应用程序及所述待测应用程序的自动测试脚本分发给对应的所述多个测试设备,使得所述多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本;
接收到所述第一服务器发送的测试指令时,根据所述测试指令控制对应的测试设备执行测试用例;
接收所述多个测试设备上报的多个测试报告,并将所述多个测试报告上报给所述第一服务器。
本发明的第三方面提供一种多设备应用程序测试装置,运行于第一服务器中,所述第一服务器与多个第二服务器连接,每一个所述第二服务器与多个测试设备连接,所述装置包括:
分发模块,用于将待测应用程序及所述待测应用程序的自动测试脚本分发给所述多个第二服务器,使得所述第二服务器通知对应的所述多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本;
获取模块,用于当接收到对所述待测应用程序的自动测试的测试指令时,获取所述待测应用程序的自动测试脚本中的所有测试用例;
统计模块,用于统计所述所有测试用例中的每一条测试用例的步骤;
控制模块,用于根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例;
接收模块,用于接收所述多个第二服务器上报的多个测试报告,并将所述多个测试报告汇总成一个最终的测试报告。
本发明的第四方面提供一种多设备应用程序测试装置,运行于第二服务器中,所述第二服务器与第一服务器连接,所述第二服务器还与多个测试设备连接,所述装置包括:
接收模块,用于接收所述第一服务器发送的待测应用程序及所述待测应用程序的自动测试脚本;
分发模块,用于将所述待测应用程序及所述待测应用程序的自动测试脚本分发给对应的所述多个测试设备,使得所述多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本;
控制模块,用于接收到所述第一服务器发送的测试指令时,根据所述测试指令控制对应的测试设备执行测试用例;
上报模块,用于接收所述多个测试设备上报的多个测试报告,并将所述多个测试报告上报给所述第一服务器。
本发明的第五方面提供一种服务器,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述多设备应用程序测试方法。
本发明的第六方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述多设备应用程序测试方法。
综上所述,本发明所述的多设备应用程序测试方法、装置、服务器及存储介质,通过设置一个第一服务器及连接第一服务器的多个第二服务器,每一个第二服务器还可以部署多个测试设备,通过第一服务器控制多个测试设备执行并行测试,不但实现了自动化的测试,降低人工测试工作量,降低人工成本;另外,根据待测应用程序的自动测试脚本中的测试用例的测试步骤计算平均的测试步骤,从而控制测试设备执行与所述平均的测试步骤相同或相近的测试步骤对应的测试用例,使得测试设备执行测试用例的测试时间相同或相近,避免了一台测试设备闲置,另一台测试执行较长的测试时间,能够以最短的实际执行完所有测试用例,提高了测试的效率;最后,本发明的测试方式不受测试设备的通信网络地域限制,与被测应用程序的真实运行环境非常接近,提高了测试质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的多设备应用程序测试方法的应用环境架构图。
图2是本发明实施例二提供的多设备应用程序测试方法的流程图。
图3是本发明实施例三提供的多设备应用程序测试方法的流程图。
图4是本发明实施例四提供的多设备应用程序测试装置的结构图。
图5是本发明实施例五提供的多设备应用程序测试装置的结构图。
图6是本发明实施例六提供的第一服务器的示意图。
图7是本发明实施例七提供的第二服务器的示意图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例一
参阅图1所示,为本发明实施例一提供的多设备应用程序测试方法的应用环境架构图。
本发明的多设备应用程序测试方法应用在一个或者多个服务器及/或终端构成的环境中。例如,由第一服务器3和第二服务器4及多个测试设备5构成的环境中。第一服务器3通过第一网络,例如以太网与多个第二服务器4通讯连接。每一个第二服务器4通过第二网络,例如城域网或局域网与多个(例如,30个)测试设备5通讯连接。本实施例中,所述第一服务器3可以为Master服务器,所述第一服务器3中可以部署代理服务。所述第一服务器3是具有多设备应用程序测试能力的计算机。所述第一服务器3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
本实施例中,所述第二服务器4可以为Slave服务器,所述第二服务器4中可以部署执行服务。所述第一服务器3是具有收发能力的计算机。
本实施例中,所述测试设备5可以是执行应用程序测试任务的终端或者固定终端中。所述测试设备5并不限定于个人电脑、智能手机、平板电脑、安装有摄像头的台式机或一体机等。所述终端可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端可以与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例二
图2是本发明实施例二提供的多设备应用程序测试方法的流程图。
在本实施例中,所述多设备应用程序测试方法可以应用于第一服务器中,对于需要进行多设备应用程序测试的第一服务器,可以直接在第一服务器上集成本发明的方法所提供的多设备应用程序测试的功能,或者以软件开发工具包(Software Development Kit,SDK)的形式运行在第一服务器上。
所述多设备应用程序测试方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S21:将待测应用程序及所述待测应用程序的自动测试脚本分发给多个第二服务器,使得第二服务器通知对应的多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本。
测试人员提供并上传待测应用程序的安装包,同时将对应待测应用程序的自动测试脚本打包后上传至第一服务器。第一服务器将待测应用程序的安装包及待测应用程序的自动测试脚本分发给多个第二服务器,第二服务器将待测应用程序的安装包及待测应用程序的自动测试脚本分发给多个测试设备,以通知多个测试设备下载所述待测应用程序的安装包及所述待测应用程序的自动测试脚本并完成待测应用程序的安装,同时安装并运行待测应用程序的自动测试脚本。
所述待测应用程序的自动测试脚本是测试人员根据待测应用程序的功能所编写的程序代码,该程序代码可以被测试设备自动运行,用于自动测试被测应用程序的各项功能。自动测试脚本运行后可以提供测试结果,自动测试脚本可以直接利用测试结果生成测试报告。
S22:当接收到对所述待测应用程序的自动测试的测试指令时,获取所述待测应用程序的自动测试脚本中的所有测试用例。
本实施例中,可以在第一服务器上设置启动测试指令的功能开关,通过所述功能开关触发启动测试指令。所述功能开关可以是虚拟图标,也可以是语音指令。当用户触摸所述虚拟图标或者发出预设语音时,第一服务器侦测到所述虚拟图标接收到了触摸的信号或者第一服务器接收到所述预设语音时,认为触发了启动测试指令的功能开关。
第一服务器接收到对所述待测应用程序的自动测试的测试指令时,获取所述待测应用程序的自动测试脚本中的所有测试用例。所述待测应用程序的自动测试脚本中包括了多个测试用例,每个测试用例可以包括多个测试步骤。不同测试用例的测试步骤可以不同,执行每一个测试步骤的测试时间是相同的。
S23:统计所述所有测试用例中的每一条测试用例的步骤。
本实施例中,第一服务器获取所有测试用例后,对所述所有测试用例中的每一个测试用例中的测试步骤进行统计。
S24:根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例。
具体地,所述根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例可以包括:
1)计算所述测试用例的测试步骤的第一总和;
2)计算所述测试设备的数量的第二总和;
3)将所述第一总和除以所述第二总和,得到每台测试设备测试的平均测试用例数;
4)根据所述平均测试用例数,通过多个第二服务器控制测试设备执行测试用例。
所述根据所述平均测试用例数,通过多个第二服务器控制测试设备执行测试用例包括:通过每个第二服务器控制对应的每台测试设备执行的测试用例对应的测试步骤的总和在所述平均测试用例数的预设范围内。所述平均测试用例数的预设范围可以是以平均测试用例数为中心,以预设步长为边界的区间。通过控制每台测试设备执行的测试用例对应的测试步骤的总和在所述平均测试用例数的预设范围内,保证每台测试设备执行的测试步骤相同或相近,从而能够保证在最短的时间执行完所有的测试用例。
举例说明,所述待测应用程序的自动测试脚本中包括了10条测试用例:测试用例1、测试用例2、测试用例3、测试用例4、测试用例5、测试用例6、测试用例7、测试用例8、测试用例9及测试用例10。其中,测试用例1中包括了10条测试步骤,测试用例2中包括了20条测试步骤,测试用例3中包括了10条测试步骤,测试用例4中包括了3条测试步骤,测试用例5中包括了5条测试步骤,测试用例6中包括了12条测试步骤,测试用例7中包括了15条测试步骤,测试用例8中包括了9条测试步骤,测试用例9中包括了18条测试步骤,测试用例10中包括了7条测试步骤。第一服务器计算所述测试用例的测试步骤的第一总和为10+20+10+3+5+12+15+9+18+7=109,计算测试设备的数量的第二总和为5,第一总和除以第二总和得到的每台测试设备的平均测试用例数为109/5=21.8。则第一服务器控制测试设备1执行测试用例1、测试用例3和测试用例4(共有测试步骤为10+10+3=23),控制测试设备2执行测试用例2(共有测试步骤为20),控制测试设备3执行测试用例5和测试用例9(共有测试步骤为5+18=23),控制测试设备4执行测试用例6和测试用例8(共有测试步骤为12+9=21),控制测试设备4执行测试用例7和测试用例10(共有测试步骤为15+7=22)。
在其他实施例中,所述第一服务器还可以控制控制测试设备1执行测试用例2和测试用例4(共有测试步骤为20+3=23),控制测试设备2执行测试用例1和测试用例3(共有测试步骤为10+10=20),控制测试设备3执行测试用例5和测试用例9(共有测试步骤为5+18=23),控制测试设备4执行测试用例6和测试用例8(共有测试步骤为12+9=21),控制测试设备4执行测试用例7和测试用例10(共有测试步骤为15+7=22)。
S25:接收多个第二服务器上报的多个测试报告,并将所述多个测试报告汇总成一个最终的测试报告。
本实施例中,测试设备执行完测试用例后,自动测试脚本会自动生成测试报告,测试设备将所生成的测试报告上报给对应的第二服务器。一个测试设备执行完一条测试用例后自动测试脚本生成一个测试报告。第二服务器每接收到对应的测试设备上报的测试报告后,将所述测试报告上报给第一服务器。
所述测试报告可以包括:测试用例的名称、测试用例的编号、测试结果以及运行时间。所述测试结果包括:测试成功或测试失败。一个测试报告中只会包括一种测试结果,即测试报告中的测试结果要么为测试成功,要么为测试失败。可以用不同的标识表示不同的测试结果,例如,用第一标识1表示测试结果为测试成功,用第二标识0表示测试结果为测试失败。测试结果可以以json的方式保存。
进一步的,所述第一服务器将所述多个测试报告汇总成一个最终的测试报告可以包括:根据预设格式将每个测试报告转化为第一测试报告;根据测试用例的编号对所述第一测试报告进行排序,得到最终的测试报告。
本实施例中,由于待测应用程序的自动测试脚本在执行完毕测试过程后直接生成的测试报告往往不是固定的格式,因而测试报告的可读性差。通过将测试设备生成的所述测试报告转化成预设格式的测试报告,并根据测试用例的编号转化的预设格式的测试报告进行排序,得到最终的测试报告并进行存储,有助于增强测试报告的可读性,方便测试人员查看和理解测试报告中的内容。所述预设格式可以是扩展标记语言(XML,ExtensibleMarkup Language)格式。
进一步地,在步骤S25之后,所述方法还可以包括:统计所述最终的测试报告中的错误率;判断所述错误率是否大于预设错误率阈值;当确定所述错误率大于或者等于所述预设错误率阈值时,将所述错误率及对应错误的测试用例发送给测试人员。
本实施例中,第一服务器统计所述最终的测试报告中的错误率可以包括:第一服务器获取测试结果为测试失败的第一测试报告;统计所述第一测试报告的第一数量;获取测试结果为测试成功的第二测试报告;统计所述第二测试报告的第二数量;计算第一数量为所述第一数量和所述第二数量之和的比值,将所述比值确定为所述最终测试报告中的错误率。
所述预设错误率阈值为预先设置的错误率临界值,代表了所能允许的最大错误率。当第一服务器判断所述错误率大于或者等于所述预设错误率阈值时,认为本次自动测试的错误率较高,自动测试质量较差,将错误率及对应错误的测试用例发送给测试人员,供测试人员查看发生错误的测试用例,以便对测试用例进行重新编写。
综上所述,本发明所述的多设备应用程序测试方法,通过设置一个第一服务器及连接第一服务器的多个第二服务器,每一个第二服务器还可以部署多个测试设备,通过第一服务器控制多个测试设备执行并行测试,不但实现了自动化的测试,降低人工测试工作量,降低人工成本;另外,根据待测应用程序的自动测试脚本中的测试用例的测试步骤计算平均的测试步骤,从而控制测试设备执行与所述平均的测试步骤相同或相近的测试步骤对应的测试用例,使得测试设备执行测试用例的测试时间相同或相近,避免了一台测试设备闲置,另一台测试执行较长的测试时间,能够以最短的实际执行完所有测试用例,提高了测试的效率;最后,本发明的测试方式不受测试设备的通信网络地域限制,与被测应用程序的真实运行环境非常接近,提高了测试质量。
实施例三
图3是本发明实施例三提供的多设备应用程序测试方法的流程图。
在本实施例中,所述多设备应用程序测试方法可以应用于第二服务器中,对于需要进行多设备应用程序测试的第二服务器,可以直接在第二服务器上集成本发明的方法所提供的多设备应用程序测试的功能,或者以软件开发工具包(Software Development Kit,SDK)的形式运行在第二服务器上。
所述多设备应用程序测试方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S31:接收第一服务器发送的待测应用程序及所述待测应用程序的自动测试脚本。
测试人员提供并上传待测应用程序的安装包,同时将对应待测应用程序的自动测试脚本打包后上传至第一服务器。第一服务器将待测应用程序的安装包及待测应用程序的自动测试脚本分发给多个第二服务器。第二服务器接收第一服务器发送的待测应用程序及所述待测应用程序的自动测试脚本。
S32:将所述待测应用程序及所述待测应用程序的自动测试脚本分发给对应的多个测试设备,使得所述多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本。
第二服务器将待测应用程序的安装包及待测应用程序的自动测试脚本分发给多个测试设备,以通知多个测试设备下载所述待测应用程序的安装包及所述待测应用程序的自动测试脚本并完成待测应用程序的安装,同时安装并运行待测应用程序的自动测试脚本。
所述待测应用程序的自动测试脚本是测试人员根据待测应用程序的功能所编写的程序代码,该程序代码可以被测试设备自动运行,用于自动测试被测应用程序的各项功能。自动测试脚本运行后可以提供测试结果,自动测试脚本可以直接利用测试结果生成测试报告。
S33:接收到所述第一服务器发送的测试指令时,根据所述测试指令控制对应的测试设备执行测试用例。
本实施例中,所述测试指令包括对应的第二服务器的标识信息、测试设备的标识信息及对应的每台测试设备测试的测试用例数。所述每台测试设备测试的测试用例数是第一服务器根据所述测试用例的步骤及所述测试设备的数量计算出的,确保每台测试设备执行的测试用例对应的测试步骤的总和在平均测试用例数的预设范围内。所述平均测试用例数的预设范围可以是以平均测试用例数为中心,以预设步长为边界的区间。通过控制每台测试设备执行的测试用例对应的测试步骤的总和在所述平均测试用例数的预设范围内,保证每台测试设备执行的测试步骤相同或相近,从而能够保证在最短的时间执行完所有的测试用例。
S34:接收所述多个测试设备上报的多个测试报告,并将所述多个测试报告上报给所述第一服务器。
本实施例中,测试设备执行完测试用例后,自动测试脚本会自动生成测试报告,测试设备将所生成的测试报告上报给对应的第二服务器。一个测试设备执行完一条测试用例后自动测试脚本生成一个测试报告。第二服务器每接收到对应的测试设备上报的测试报告后,将所述测试报告上报给第一服务器。
所述测试报告可以包括:测试用例的名称、测试用例的编号、测试结果以及运行时间。所述测试结果包括:测试成功或测试失败。一个测试报告中只会包括一种测试结果,即测试报告中的测试结果要么为测试成功,要么为测试失败。可以用不同的标识表示不同的测试结果,例如,用第一标识1表示测试结果为测试成功,用第二标识0表示测试结果为测试失败。测试结果可以以json的方式保存。
综上所述,本发明所述的多设备应用程序测试方法,通过多个第二服务器,每一个第二服务器部署多个测试设备,通过第一服务器控制多个测试设备执行并行测试,实现了自动化的测试,降低人工测试工作量,降低人工成本。
上述图2-3详细介绍了本发明的多设备应用程序测试方法,下面结合第4~7图,分别对实现所述多设备应用程序测试方法的软件装置的功能模块以及实现所述多设备应用程序测试方法的硬件装置架构进行介绍。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
实施例四
参阅图4所示,是本发明实施例四提供的多设备应用程序测试装置的结构图。
在一些实施例中,所述多设备应用程序测试装置30运行于第一服务器中。所述第一服务器通过网络连接了多个第二服务器,每个第二服务器部署了多个测试设备。所述多设备应用程序测试装置30可以包括多个由程序代码段所组成的功能模块。所述多设备应用程序测试装置30中的各个程序段的程序代码可以存储于第一服务器的存储器中,并由所述至少一个处理器所执行,以执行(详见图2描述)对多设备进行应用程序测试。
本实施例中,所述多设备应用程序测试装置30根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:分发模块301、获取模块302、统计模块303、控制模块304、接收模块305及判断模块306。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
分发模块301,用于将待测应用程序及所述待测应用程序的自动测试脚本分发给多个第二服务器,使得第二服务器通知对应的多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本。
测试人员提供并上传待测应用程序的安装包,同时将对应待测应用程序的自动测试脚本打包后上传至第一服务器。第一服务器将待测应用程序的安装包及待测应用程序的自动测试脚本分发给多个第二服务器,第二服务器将待测应用程序的安装包及待测应用程序的自动测试脚本分发给多个测试设备,以通知多个测试设备下载所述待测应用程序的安装包及所述待测应用程序的自动测试脚本并完成待测应用程序的安装,同时安装并运行待测应用程序的自动测试脚本。
所述待测应用程序的自动测试脚本是测试人员根据待测应用程序的功能所编写的程序代码,该程序代码可以被测试设备自动运行,用于自动测试被测应用程序的各项功能。自动测试脚本运行后可以提供测试结果,自动测试脚本可以直接利用测试结果生成测试报告。
获取模块302,用于当接收到对所述待测应用程序的自动测试的测试指令时,获取所述待测应用程序的自动测试脚本中的所有测试用例。
本实施例中,可以在第一服务器上设置启动测试指令的功能开关,通过所述功能开关触发启动测试指令。所述功能开关可以是虚拟图标,也可以是语音指令。当用户触摸所述虚拟图标或者发出预设语音时,第一服务器侦测到所述虚拟图标接收到了触摸的信号或者第一服务器接收到所述预设语音时,认为触发了启动测试指令的功能开关。
第一服务器接收到对所述待测应用程序的自动测试的测试指令时,获取所述待测应用程序的自动测试脚本中的所有测试用例。所述待测应用程序的自动测试脚本中包括了多个测试用例,每个测试用例可以包括多个测试步骤。不同测试用例的测试步骤可以不同,执行每一个测试步骤的测试时间是相同的。
统计模块303,用于统计所述所有测试用例中的每一条测试用例的步骤。
本实施例中,第一服务器获取所有测试用例后,对所述所有测试用例中的每一个测试用例中的测试步骤进行统计。
控制模块304,用于根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例。
具体地,根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例可以包括:
1)计算所述测试用例的测试步骤的第一总和;
2)计算所述测试设备的数量的第二总和;
3)将所述第一总和除以所述第二总和,得到每台测试设备测试的平均测试用例数;
4)根据所述平均测试用例数,通过多个第二服务器控制测试设备执行测试用例。
所述根据所述平均测试用例数,通过多个第二服务器控制测试设备执行测试用例包括:通过每个第二服务器控制对应的每台测试设备执行的测试用例对应的测试步骤的总和在所述平均测试用例数的预设范围内。
所述平均测试用例数的预设范围可以是以平均测试用例数为中心,以预设步长为边界的区间。通过控制每台测试设备执行的测试用例对应的测试步骤的总和在所述平均测试用例数的预设范围内,保证每台测试设备执行的测试步骤相同或相近,从而能够保证在最短的时间执行完所有的测试用例。
举例说明,所述待测应用程序的自动测试脚本中包括了10条测试用例:测试用例1、测试用例2、测试用例3、测试用例4、测试用例5、测试用例6、测试用例7、测试用例8、测试用例9及测试用例10。其中,测试用例1中包括了10条测试步骤,测试用例2中包括了20条测试步骤,测试用例3中包括了10条测试步骤,测试用例4中包括了3条测试步骤,测试用例5中包括了5条测试步骤,测试用例6中包括了12条测试步骤,测试用例7中包括了15条测试步骤,测试用例8中包括了9条测试步骤,测试用例9中包括了18条测试步骤,测试用例10中包括了7条测试步骤。所述统计模块203计算所述测试用例的测试步骤的第一总和为10+20+10+3+5+12+15+9+18+7=109,计算测试设备的数量的第二总和为5,第一总和除以第二总和得到的每台测试设备的平均测试用例数为109/5=21.8。则第一服务器控制测试设备1执行测试用例1、测试用例3和测试用例4(共有测试步骤为10+10+3=23),控制测试设备2执行测试用例2(共有测试步骤为20),控制测试设备3执行测试用例5和测试用例9(共有测试步骤为5+18=23),控制测试设备4执行测试用例6和测试用例8(共有测试步骤为12+9=21),控制测试设备4执行测试用例7和测试用例10(共有测试步骤为15+7=22)。
在其他实施例中,所述第一服务器还可以控制控制测试设备1执行测试用例2和测试用例4(共有测试步骤为20+3=23),控制测试设备2执行测试用例1和测试用例3(共有测试步骤为10+10=20),控制测试设备3执行测试用例5和测试用例9(共有测试步骤为5+18=23),控制测试设备4执行测试用例6和测试用例8(共有测试步骤为12+9=21),控制测试设备4执行测试用例7和测试用例10(共有测试步骤为15+7=22)。
接收模块305,用于接收多个第二服务器上报的多个测试报告,并将所述多个测试报告汇总成一个最终的测试报告。
本实施例中,测试设备执行完测试用例后,自动测试脚本会自动生成测试报告,测试设备将所生成的测试报告上报给对应的第二服务器。一个测试设备执行完一条测试用例后自动测试脚本生成一个测试报告。第二服务器每接收到对应的测试设备上报的测试报告后,将所述测试报告上报给第一服务器。
所述测试报告可以包括:测试用例的名称、测试用例的编号、测试结果以及运行时间。所述测试结果包括:测试成功或测试失败。一个测试报告中只会包括一种测试结果,即测试报告中的测试结果要么为测试成功,要么为测试失败。可以用不同的标识表示不同的测试结果,例如,用第一标识1表示测试结果为测试成功,用第二标识0表示测试结果为测试失败。测试结果可以以json的方式保存。
进一步的,所述接收模块305将所述多个测试报告汇总成一个最终的测试报告可以包括:根据预设格式将每个测试报告转化为第一测试报告;根据测试用例的编号对所述第一测试报告进行排序,得到最终的测试报告。
本实施例中,由于待测应用程序的自动测试脚本在执行完毕测试过程后直接生成的测试报告往往不是固定的格式,因而测试报告的可读性差。通过将测试设备生成的所述测试报告转化成预设格式的测试报告,并根据测试用例的编号转化的预设格式的测试报告进行排序,得到最终的测试报告并进行存储,有助于增强测试报告的可读性,方便测试人员查看和理解测试报告中的内容。所述预设格式可以是扩展标记语言(XML,ExtensibleMarkup Language)格式。
进一步地,所述多设备应用程序测试装置30还可以包括:判断模块306,用于统计所述最终的测试报告中的错误率;判断所述错误率是否大于预设错误率阈值;当确定所述错误率大于或者等于所述预设错误率阈值时,将所述错误率及对应错误的测试用例发送给测试人员。
本实施例中,所述判断模块306统计所述最终的测试报告中的错误率可以包括:获取测试结果为测试失败的第一测试报告;统计所述第一测试报告的第一数量;获取测试结果为测试成功的第二测试报告;统计所述第二测试报告的第二数量;计算第一数量为所述第一数量和所述第二数量之和的比值,将所述比值确定为所述最终测试报告中的错误率。
所述预设错误率阈值为预先设置的错误率临界值,代表了所能允许的最大错误率。当第一服务器判断所述错误率大于或者等于所述预设错误率阈值时,认为本次自动测试的错误率较高,自动测试质量较差,将错误率及对应错误的测试用例发送给测试人员,供测试人员查看发生错误的测试用例,以便对测试用例进行重新编写。
综上所述,本发明所述的多设备应用程序测试装置,通过设置一个第一服务器及连接第一服务器的多个第二服务器,每一个第二服务器还可以部署多个测试设备,通过第一服务器控制多个测试设备执行并行测试,不但实现了自动化的测试,降低人工测试工作量,降低人工成本;另外,根据待测应用程序的自动测试脚本中的测试用例的测试步骤计算平均的测试步骤,从而控制测试设备执行与所述平均的测试步骤相同或相近的测试步骤对应的测试用例,使得测试设备执行测试用例的测试时间相同或相近,避免了一台测试设备闲置,另一台测试执行较长的测试时间,能够以最短的实际执行完所有测试用例,提高了测试的效率;最后,本发明的测试方式不受测试设备的通信网络地域限制,与被测应用程序的真实运行环境非常接近,提高了测试质量。
实施例五
参阅图5所示,是本发明实施例五提供的多设备应用程序测试装置的结构图。
在一些实施例中,所述多设备应用程序测试装置40运行于第二服务器中。所述第一服务器通过网络连接了多个第二服务器,每个第二服务器部署了多个测试设备。所述多设备应用程序测试装置40可以包括多个由程序代码段所组成的功能模块。所述多设备应用程序测试装置40中的各个程序段的程序代码可以存储于第一服务器的存储器中,并由所述至少一个处理器所执行,以执行(详见图3描述)对多设备进行应用程序测试。
本实施例中,所述多设备应用程序测试装置40根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块401、分发模块402、控制模块403及上报模块404。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
接收模块401,用于接收第一服务器发送的待测应用程序及所述待测应用程序的自动测试脚本。
测试人员提供并上传待测应用程序的安装包,同时将对应待测应用程序的自动测试脚本打包后上传至第一服务器。第一服务器将待测应用程序的安装包及待测应用程序的自动测试脚本分发给多个第二服务器。第二服务器接收第一服务器发送的待测应用程序及所述待测应用程序的自动测试脚本。
分发模块402,用于将所述待测应用程序及所述待测应用程序的自动测试脚本分发给对应的多个测试设备,使得所述多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本。
第二服务器将待测应用程序的安装包及待测应用程序的自动测试脚本分发给多个测试设备,以通知多个测试设备下载所述待测应用程序的安装包及所述待测应用程序的自动测试脚本并完成待测应用程序的安装,同时安装并运行待测应用程序的自动测试脚本。
所述待测应用程序的自动测试脚本是测试人员根据待测应用程序的功能所编写的程序代码,该程序代码可以被测试设备自动运行,用于自动测试被测应用程序的各项功能。自动测试脚本运行后可以提供测试结果,自动测试脚本可以直接利用测试结果生成测试报告。
控制模块403,用于接收到所述第一服务器发送的测试指令时,根据所述测试指令控制对应的测试设备执行测试用例。
本实施例中,所述测试指令包括对应的第二服务器的标识信息、测试设备的标识信息及对应的每台测试设备测试的测试用例数。所述每台测试设备测试的测试用例数是第一服务器根据所述测试用例的步骤及所述测试设备的数量计算出的,确保每台测试设备执行的测试用例对应的测试步骤的总和在平均测试用例数的预设范围内。所述平均测试用例数的预设范围可以是以平均测试用例数为中心,以预设步长为边界的区间。通过控制每台测试设备执行的测试用例对应的测试步骤的总和在所述平均测试用例数的预设范围内,保证每台测试设备执行的测试步骤相同或相近,从而能够保证在最短的时间执行完所有的测试用例。
上报模块404,用于接收多个测试设备上报的多个测试报告,并将所述多个测试报告上报给所述第一服务器。
本实施例中,测试设备执行完测试用例后,自动测试脚本会自动生成测试报告,测试设备将所生成的测试报告上报给对应的第二服务器。一个测试设备执行完一条测试用例后自动测试脚本生成一个测试报告。第二服务器每接收到对应的测试设备上报的测试报告后,将所述测试报告上报给第一服务器。
所述测试报告可以包括:测试用例的名称、测试用例的编号、测试结果以及运行时间。所述测试结果包括:测试成功或测试失败。一个测试报告中只会包括一种测试结果,即测试报告中的测试结果要么为测试成功,要么为测试失败。可以用不同的标识表示不同的测试结果,例如,用第一标识1表示测试结果为测试成功,用第二标识0表示测试结果为测试失败。测试结果可以以json的方式保存。
综上所述,本发明所述的多设备应用程序测试装置,通过多个第二服务器,每一个第二服务器部署多个测试设备,通过第一服务器控制多个测试设备执行并行测试,实现了自动化的测试,降低人工测试工作量,降低人工成本。
实施例六
参阅图6所示,为本发明实施例六提供的第一服务器的结构示意图。在本发明较佳实施例中,所述第一服务器3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图6示出的第一服务器的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述第一服务器3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述第一服务器3包括一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的终端,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述第一服务器3还可包括客户客户设备,所述客户客户设备包括但不限于任何一种可与客户客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述第一服务器3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31用于存储程序代码和各种数据,例如安装在所述第一服务器3中的多设备应用程序测试装置30,并在第一服务器3的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器31包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
在一些实施例中,所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器32是所述第一服务器3的控制核心(Control Unit),利用各种接口和线路连接整个第一服务器3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行第一服务器3的各种功能和处理数据,例如执行多设备应用程序测试的功能。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述第一服务器3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述第一服务器3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在进一步的实施例中,结合图4,所述至少一个处理器32可执行所述第一服务器3的操作装置以及安装的各类应用程序(如所述的多设备应用程序测试装置30)、程序代码等,例如,上述的各个模块。
所述存储器31中存储有程序代码,且所述至少一个处理器32可调用所述存储器31中存储的程序代码以执行相关的功能。例如,图4中所述的各个模块是存储在所述存储器31中的程序代码,并由所述至少一个处理器32所执行,从而实现所述各个模块的功能以达到多设备应用程序测试的目的。
在本发明的一个实施例中,所述存储器31存储多个指令,所述多个指令被所述至少一个处理器32所执行以实现多设备的应用程式的测试。
具体地,所述至少一个处理器32对上述指令的具体实现方法可参考图2对应实施例中相关步骤的描述,在此不赘述。
实施例七
参阅图7所示,为本发明实施例七提供的第二服务器的结构示意图。在本发明较佳实施例中,所述第二服务器4包括存储器41、至少一个处理器42、至少一条通信总线43及收发器44。
本领域技术人员应该了解,图7示出的第二服务器的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述第二服务器4还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述第二服务器4包括一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的终端,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述第二服务器4还可包括客户客户设备,所述客户客户设备包括但不限于任何一种可与客户客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述第二服务器4仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器41用于存储程序代码和各种数据,例如安装在所述第二服务器4中的多设备应用程序测试装置40,并在第二服务器4的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器41包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
在一些实施例中,所述至少一个处理器42可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器42是所述第二服务器4的控制核心(Control Unit),利用各种接口和线路连接整个第二服务器4的各个部件,通过运行或执行存储在所述存储器41内的程序或者模块,以及调用存储在所述存储器41内的数据,以执行第二服务器4的各种功能和处理数据,例如执行多设备应用程序测试的功能。
在一些实施例中,所述至少一条通信总线43被设置为实现所述存储器41以及所述至少一个处理器42等之间的连接通信。
尽管未示出,所述第二服务器4还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器42逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述第二服务器4还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在进一步的实施例中,结合图5,所述至少一个处理器42可执行所述第二服务器4的操作装置以及安装的各类应用程序(如所述的多设备应用程序测试装置40)、程序代码等,例如,上述的各个模块。
所述存储器41中存储有程序代码,且所述至少一个处理器42可调用所述存储器41中存储的程序代码以执行相关的功能。例如,图5中所述的各个模块是存储在所述存储器41中的程序代码,并由所述至少一个处理器42所执行,从而实现所述各个模块的功能以达到多设备应用程序测试的目的。
在本发明的一个实施例中,所述存储器41存储多个指令,所述多个指令被所述至少一个处理器42所执行以实现多设备的应用程式的测试。
具体地,所述至少一个处理器42对上述指令的具体实现方法可参考图3对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种多设备应用程序测试方法,应用于第一服务器中,所述第一服务器与多个第二服务器连接,每一个所述第二服务器与多个测试设备连接,其特征在于,所述方法包括:
将待测应用程序及所述待测应用程序的自动测试脚本分发给所述多个第二服务器,使得所述第二服务器通知对应的所述多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本;
当接收到对所述待测应用程序的自动测试的测试指令时,获取所述待测应用程序的自动测试脚本中的所有测试用例;
统计所述所有测试用例中的每一条测试用例的步骤;
根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例;
接收所述多个第二服务器上报的多个测试报告,并将所述多个测试报告汇总成一个最终的测试报告。
2.如权利要求1所述的方法,其特征在于,所述根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例包括:
计算所述测试用例的测试步骤的第一总和;
计算所述测试设备的数量的第二总和;
将所述第一总和除以所述第二总和,得到每台测试设备测试的平均测试用例数;
根据所述平均测试用例数,通过所述多个第二服务器控制所述测试设备执行测试用例。
3.如权利要求2所述的方法,其特征在于,所述根据所述平均测试用例数,通过多个第二服务器控制所述测试设备执行测试用例包括:
通过每个第二服务器控制对应的每台测试设备执行的测试用例对应的测试步骤的总和在所述平均测试用例数的预设范围内。
4.如权利要求1所述的方法,其特征在于,所述将所述多个测试报告汇总成一个最终的测试报告包括:
根据预设格式将每个测试报告转化为第一测试报告;
根据测试用例的编号对所述第一测试报告进行排序,得到最终的测试报告。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
统计所述最终的测试报告中的错误率;
判断所述错误率是否大于预设错误率阈值;
当确定所述错误率大于或者等于所述预设错误率阈值时,将所述错误率及对应错误的测试用例发送给测试人员。
6.一种多设备应用程序测试方法,应用于第二服务器中,所述第二服务器与第一服务器连接,所述第二服务器还与多个测试设备连接,其特征在于,所述方法包括:
接收所述第一服务器发送的待测应用程序及所述待测应用程序的自动测试脚本;
将所述待测应用程序及所述待测应用程序的自动测试脚本分发给对应的所述多个测试设备,使得所述多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本;
接收到所述第一服务器发送的测试指令时,根据所述测试指令控制对应的测试设备执行测试用例;
接收所述多个测试设备上报的多个测试报告,并将所述多个测试报告上报给所述第一服务器。
7.一种多设备应用程序测试装置,运行于第一服务器中,所述第一服务器与多个第二服务器连接,每一个所述第二服务器与多个测试设备连接,其特征在于,所述装置包括:
分发模块,用于将待测应用程序及所述待测应用程序的自动测试脚本分发给所述多个第二服务器,使得所述第二服务器通知对应的所述多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本;
获取模块,用于当接收到对所述待测应用程序的自动测试的测试指令时,获取所述待测应用程序的自动测试脚本中的所有测试用例;
统计模块,用于统计所述所有测试用例中的每一条测试用例的步骤;
控制模块,用于根据所述测试用例的步骤及所述测试设备的数量,通过多个所述第二服务器控制对应的测试设备执行测试用例;
接收模块,用于接收所述多个第二服务器上报的多个测试报告,并将所述多个测试报告汇总成一个最终的测试报告。
8.一种多设备应用程序测试装置,运行于第二服务器中,所述第二服务器与第一服务器连接,所述第二服务器还与多个测试设备连接,其特征在于,所述装置包括:
接收模块,用于接收所述第一服务器发送的待测应用程序及所述待测应用程序的自动测试脚本;
分发模块,用于将所述待测应用程序及所述待测应用程序的自动测试脚本分发给对应的所述多个测试设备,使得所述多个测试设备安装所述待测应用程序及所述待测应用程序的自动测试脚本;
控制模块,用于接收到所述第一服务器发送的测试指令时,根据所述测试指令控制对应的测试设备执行测试用例;
上报模块,用于接收所述多个测试设备上报的多个测试报告,并将所述多个测试报告上报给所述第一服务器。
9.一种服务器,其特征在于,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5中任意一项所述多设备应用程序测试方法或实现如权利要求6所述多设备应用程序测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任意一项所述多设备应用程序测试方法或实现如权利要求6所述多设备应用程序测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811028282.0A CN109359031B (zh) | 2018-09-04 | 2018-09-04 | 多设备应用程序测试方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811028282.0A CN109359031B (zh) | 2018-09-04 | 2018-09-04 | 多设备应用程序测试方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109359031A true CN109359031A (zh) | 2019-02-19 |
CN109359031B CN109359031B (zh) | 2023-08-22 |
Family
ID=65350241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811028282.0A Active CN109359031B (zh) | 2018-09-04 | 2018-09-04 | 多设备应用程序测试方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359031B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069394A (zh) * | 2019-03-12 | 2019-07-30 | 平安普惠企业管理有限公司 | 软件测试方法、系统、电子设备及计算机可读存储介质 |
CN110309038A (zh) * | 2019-04-17 | 2019-10-08 | 中国平安人寿保险股份有限公司 | 性能测试方法、装置、电子设备及计算机可读存储介质 |
CN111737136A (zh) * | 2020-06-24 | 2020-10-02 | 海尔优家智能科技(北京)有限公司 | 基于物联网平台的对象测试方法装置 |
CN111752828A (zh) * | 2020-06-04 | 2020-10-09 | 武汉迎风聚智科技有限公司 | 一种Web应用的性能测试方法以及装置 |
CN111817925A (zh) * | 2020-09-02 | 2020-10-23 | 广东省新一代通信与网络创新研究院 | 一种用于高传输速率的测试方法及系统 |
CN111897722A (zh) * | 2020-07-15 | 2020-11-06 | 重庆紫光华山智安科技有限公司 | 自动化测试用例处理方法、装置、服务器及存储介质 |
CN112165614A (zh) * | 2020-09-28 | 2021-01-01 | 成都微光集电科技有限公司 | Cmos图像传感器测试系统及方法 |
CN113722237A (zh) * | 2021-11-01 | 2021-11-30 | 荣耀终端有限公司 | 设备测试方法和电子设备 |
CN114301805A (zh) * | 2021-12-14 | 2022-04-08 | 山石网科通信技术股份有限公司 | 设备数量的确定方法、装置及电子设备 |
TWI802163B (zh) * | 2021-12-22 | 2023-05-11 | 竹陞科技股份有限公司 | 基於腳本的控制系統和控制方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226546A1 (en) * | 2005-12-22 | 2007-09-27 | Lucent Technologies Inc. | Method for determining field software reliability metrics |
US20070294586A1 (en) * | 2006-05-31 | 2007-12-20 | Microsoft Corporation | Automated Extensible User Interface Testing |
CN102466776A (zh) * | 2010-11-19 | 2012-05-23 | 北京自动测试技术研究所 | 面向复杂可编程逻辑器件的批量测试方法 |
US20130007522A1 (en) * | 2011-06-29 | 2013-01-03 | Infosys Limited | Method and system for an end-to-end solution in a test automation framework |
US20130091086A1 (en) * | 2011-10-06 | 2013-04-11 | Ut-Battelle, Llc | Graph-theoretic analysis of discrete-phase-space states for condition change detection and quantification of information |
CN103970650A (zh) * | 2014-04-09 | 2014-08-06 | 广州杰赛科技股份有限公司 | 分布式测试方法和装置 |
CN105117345A (zh) * | 2015-09-23 | 2015-12-02 | 网易(杭州)网络有限公司 | 一种应用程序的接口测试方法及装置 |
CN106250307A (zh) * | 2016-07-20 | 2016-12-21 | 福建省农村信用社联合社 | 一种银行手机应用自动化测试方法及系统 |
CN106354629A (zh) * | 2016-08-19 | 2017-01-25 | 南京慕测信息科技有限公司 | 一种基于多级服务器的iOS系统移动应用自动测试系统的架构方法 |
CN106445811A (zh) * | 2016-08-30 | 2017-02-22 | 烽火通信科技股份有限公司 | 一种基于SecureCRT的自动化测试系统及方法 |
CN106681924A (zh) * | 2016-12-30 | 2017-05-17 | 深圳天珑无线科技有限公司 | 一种软件测试方法及系统 |
CN107153615A (zh) * | 2017-05-19 | 2017-09-12 | 千寻位置网络有限公司 | 软件测试的方法及系统、服务终端 |
CN107368419A (zh) * | 2017-07-27 | 2017-11-21 | 千寻位置网络有限公司 | 分布式环境下的自动测试方法及系统、服务终端、存储器 |
US20170344467A1 (en) * | 2016-05-31 | 2017-11-30 | Accenture Global Solutions Limited | Software testing integration |
-
2018
- 2018-09-04 CN CN201811028282.0A patent/CN109359031B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226546A1 (en) * | 2005-12-22 | 2007-09-27 | Lucent Technologies Inc. | Method for determining field software reliability metrics |
US20070294586A1 (en) * | 2006-05-31 | 2007-12-20 | Microsoft Corporation | Automated Extensible User Interface Testing |
CN102466776A (zh) * | 2010-11-19 | 2012-05-23 | 北京自动测试技术研究所 | 面向复杂可编程逻辑器件的批量测试方法 |
US20130007522A1 (en) * | 2011-06-29 | 2013-01-03 | Infosys Limited | Method and system for an end-to-end solution in a test automation framework |
US20130091086A1 (en) * | 2011-10-06 | 2013-04-11 | Ut-Battelle, Llc | Graph-theoretic analysis of discrete-phase-space states for condition change detection and quantification of information |
CN103970650A (zh) * | 2014-04-09 | 2014-08-06 | 广州杰赛科技股份有限公司 | 分布式测试方法和装置 |
CN105117345A (zh) * | 2015-09-23 | 2015-12-02 | 网易(杭州)网络有限公司 | 一种应用程序的接口测试方法及装置 |
US20170344467A1 (en) * | 2016-05-31 | 2017-11-30 | Accenture Global Solutions Limited | Software testing integration |
CN106250307A (zh) * | 2016-07-20 | 2016-12-21 | 福建省农村信用社联合社 | 一种银行手机应用自动化测试方法及系统 |
CN106354629A (zh) * | 2016-08-19 | 2017-01-25 | 南京慕测信息科技有限公司 | 一种基于多级服务器的iOS系统移动应用自动测试系统的架构方法 |
CN106445811A (zh) * | 2016-08-30 | 2017-02-22 | 烽火通信科技股份有限公司 | 一种基于SecureCRT的自动化测试系统及方法 |
CN106681924A (zh) * | 2016-12-30 | 2017-05-17 | 深圳天珑无线科技有限公司 | 一种软件测试方法及系统 |
CN107153615A (zh) * | 2017-05-19 | 2017-09-12 | 千寻位置网络有限公司 | 软件测试的方法及系统、服务终端 |
CN107368419A (zh) * | 2017-07-27 | 2017-11-21 | 千寻位置网络有限公司 | 分布式环境下的自动测试方法及系统、服务终端、存储器 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069394A (zh) * | 2019-03-12 | 2019-07-30 | 平安普惠企业管理有限公司 | 软件测试方法、系统、电子设备及计算机可读存储介质 |
CN110309038A (zh) * | 2019-04-17 | 2019-10-08 | 中国平安人寿保险股份有限公司 | 性能测试方法、装置、电子设备及计算机可读存储介质 |
CN111752828A (zh) * | 2020-06-04 | 2020-10-09 | 武汉迎风聚智科技有限公司 | 一种Web应用的性能测试方法以及装置 |
CN111737136A (zh) * | 2020-06-24 | 2020-10-02 | 海尔优家智能科技(北京)有限公司 | 基于物联网平台的对象测试方法装置 |
CN111897722B (zh) * | 2020-07-15 | 2022-11-22 | 重庆紫光华山智安科技有限公司 | 自动化测试用例处理方法、装置、服务器及存储介质 |
CN111897722A (zh) * | 2020-07-15 | 2020-11-06 | 重庆紫光华山智安科技有限公司 | 自动化测试用例处理方法、装置、服务器及存储介质 |
CN111817925B (zh) * | 2020-09-02 | 2020-12-04 | 广东省新一代通信与网络创新研究院 | 一种用于高传输速率的测试方法及系统 |
CN111817925A (zh) * | 2020-09-02 | 2020-10-23 | 广东省新一代通信与网络创新研究院 | 一种用于高传输速率的测试方法及系统 |
CN112165614A (zh) * | 2020-09-28 | 2021-01-01 | 成都微光集电科技有限公司 | Cmos图像传感器测试系统及方法 |
CN113722237A (zh) * | 2021-11-01 | 2021-11-30 | 荣耀终端有限公司 | 设备测试方法和电子设备 |
CN114301805A (zh) * | 2021-12-14 | 2022-04-08 | 山石网科通信技术股份有限公司 | 设备数量的确定方法、装置及电子设备 |
CN114301805B (zh) * | 2021-12-14 | 2024-04-26 | 山石网科通信技术股份有限公司 | 设备数量的确定方法、装置及电子设备 |
TWI802163B (zh) * | 2021-12-22 | 2023-05-11 | 竹陞科技股份有限公司 | 基於腳本的控制系統和控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109359031B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359031A (zh) | 多设备应用程序测试方法、装置、服务器及存储介质 | |
CN109471789A (zh) | 用于测试的多设备管理方法、装置、服务器及存储介质 | |
US8175863B1 (en) | Systems and methods for analyzing performance of virtual environments | |
CN110493080B (zh) | 一种区块链节点监控方法、装置及电子设备和存储介质 | |
CN109558308A (zh) | 应用程序内存泄露检测方法、装置、电子设备及存储介质 | |
CN110471834A (zh) | 多交易渠道下的信用卡模拟测试方法及相关设备 | |
CN111224845A (zh) | 一种基于物联网云的设备自动化测试系统及方法 | |
CN106484623A (zh) | 一种软件测试的方法、装置及系统 | |
WO2010107427A1 (en) | Event based correlation of power events | |
CN106610896A (zh) | 一种自适应压力测试的方法及装置 | |
CN109684228A (zh) | 一种性能测试方法、装置、系统和存储介质 | |
CN103473115A (zh) | 虚拟机放置方法和装置 | |
CN109542758A (zh) | 应用程序容错能力测试方法、装置、计算机可读存储介质 | |
CN109783260A (zh) | 智能it全流程运维方法、装置、设备及可读存储介质 | |
CN109088747A (zh) | 云计算系统中资源的管理方法和装置 | |
CN111600760B (zh) | 一种电网运行监控系统的质量检测系统、方法及设备 | |
CN117596247A (zh) | 基于异构边缘计算系统的资源监控和性能评估的方法 | |
EP4152715A1 (en) | Method and apparatus for determining resource configuration of cloud service system | |
CN110868330B (zh) | 云平台可划分cpu资源的评估方法、装置及评估系统 | |
CN108810992A (zh) | 一种网络切片的资源控制方法和装置 | |
CN110705228A (zh) | 可自定义的能源管理平台数据图表展示方法和装置 | |
CN109460234A (zh) | 应用程序瘦身方法、装置、终端及存储介质 | |
CN109828901A (zh) | 搭建压测环境的方法及装置、Linux服务器、及可读存储介质 | |
CN116108740A (zh) | 一种电力设备的建模方法及装置 | |
CN110083523A (zh) | 接口测试方法、装置、计算机装置、及可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |