CN111159046B - 测试方法、装置、电子设备、系统和存储介质 - Google Patents
测试方法、装置、电子设备、系统和存储介质 Download PDFInfo
- Publication number
- CN111159046B CN111159046B CN201911414608.8A CN201911414608A CN111159046B CN 111159046 B CN111159046 B CN 111159046B CN 201911414608 A CN201911414608 A CN 201911414608A CN 111159046 B CN111159046 B CN 111159046B
- Authority
- CN
- China
- Prior art keywords
- test
- server
- case
- task
- type
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 813
- 238000010998 test method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 12
- XSQUKJJJFZCRTK-NJFSPNSNSA-N UREA C 14 Chemical compound N[14C](N)=O XSQUKJJJFZCRTK-NJFSPNSNSA-N 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种测试方法、装置、电子设备、系统和存储介质。
背景技术
软件工程中的测试用例是一组条件或变量,开发人员可以根据在测试设备上运行测试用例的结果,来确定应用软件或软件系统是否能够正确工作。在测试用例的开发过程中,开发人员所采用的语言或测试框架可能不同。
现有技术中的自动化测试工具不能兼容不同语言或测试框架开发的测试用例,且不能对测试用例的语言或测试框架进行识别,仅能够根据开发人员的指定,在指定的测试服务器上(如在A测试服务器上执行测试任务1,在B测试服务器上执行测试任务2)实现测试过程,导致开发成本高、测试效率低。
发明内容
本申请提供一种测试方法、装置、电子设备、系统和存储介质,能够提高测试效率。
本申请的第一方面提供一种测试方法,包括:获取测试任务,所述测试任务中包括至少一个测试用例;获取至少两个测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,所述测试用例用于测试所述测试设备;根据每个所述测试用例的测试框架的类型、每个所述测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,从至少两个所述测试服务器中确定目标测试服务器;将所述测试任务分配至所述目标测试服务器。
可选的,所述测试任务中包括至少一个子任务,所述获取测试任务,包括:下载最新版本的测试用例;显示所述最新版本的测试用例的标识;根据用户对所述最新版本的测试用例的标识的选择指令,得到所述至少一个测试用例;根据所述用户对所述至少一个测试用例的拆分指令,获取所述测试任务,所述拆分指令用于表征将所述至少一个测试用例拆分成至少一个子任务。
可选的,所述根据每个所述测试用例的测试框架的类型、每个所述测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,从至少两个所述测试服务器中确定目标测试服务器,包括:将具有空闲资源、对应的测试设备的运行状态为空闲、且与每个所述子任务的测试框架的类型相同的测试服务器确定为每个所述子任务的目标测试服务器。
可选的,所述获取每个测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,包括:向所述至少两个测试服务器发送状态请求;接收每个所述测试服务器基于所述状态请求反馈的每个所述测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态。
可选的,所述方法还包括:接收所述目标测试服务器上报的子任务的测试结果;若接收到的子任务的测试结果包括一个测试用例的测试结果,则显示所述一个测试用例的测试结果。
可选的,所述方法还包括:在所述测试任务完成后,将每个所述测试用例的测试结果转化为相同的格式的测试结果;生成所述测试任务的测试结果,所述测试任务的测试结果中包括每个所述测试用例的测试结果;
显示所述测试任务的测试结果。
可选的,所述测试设备为车机。
本申请的第二方面提供一种测试装置,包括:
处理模块,用于获取测试任务和至少两个测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,且根据每个所述测试用例的测试框架的类型、每个所述测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,从至少两个所述测试服务器中确定目标测试服务器,所述测试任务中包括至少一个测试用例,所述测试用例用于测试所述测试设备;
收发模块,用于将所述测试任务分配至所述目标测试服务器。
可选的,所述处理模块,具体用于下载最新版本的测试用例。
对应的,显示模块,用于显示所述最新版本的测试用例的标识。
所述处理模块,具体用于根据用户对所述最新版本的测试用例的标识的选择指令,得到所述至少一个测试用例,且根据所述用户对所述至少一个测试用例的拆分指令,获取所述测试任务,所述拆分指令用于表征将所述至少一个测试用例拆分成至少一个子任务。
可选的,所述处理模块,具体用于将具有空闲资源、对应的测试设备的运行状态为空闲、且与每个所述子任务的测试框架的类型相同的测试服务器确定为每个所述子任务的目标测试服务器。
可选的,所述收发模块,还用于向所述至少两个测试服务器发送状态请求,以及接收每个所述测试服务器基于所述状态请求反馈的每个所述测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态。
可选的,所述收发模块,还用于接收所述目标测试服务器上报的子任务的测试结果。
若接收到的子任务的测试结果包括一个测试用例的测试结果,则所述显示模块,还用于显示所述一个测试用例的测试结果。
可选的,所述处理模块,还用于在所述测试任务完成后,将每个所述测试用例的测试结果转化为相同的格式的测试结果,且生成所述测试任务的测试结果,所述测试任务的测试结果中包括每个所述测试用例的测试结果。
所述显示模块,还用于显示所述测试任务的测试结果。
可选的,所述测试设备为车机。
本申请的第三方面提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行上述测试方法。
本申请的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现上述测试方法。
本申请的第五方面提供一种测试系统,包括:执行上述第一方面的测试方法的测试装置、测试服务器,以及所述测试服务器对应的测试设备。
本申请提供一种测试方法、装置、电子设备、系统和存储介质,该方法能够确定测试用例的类型,且根据测试用例的类型,以及测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,确定目标测试服务器,进而将测试任务分配给目标测试服务器执行,不需要用户指定服务器,且能够对不同测试框架的测试用例进行识别和分配,提高了测试效率。
附图说明
图1为本申请提供的测试方法适用的场景示意图;
图2为本申请提供的测试方法的流程示意图一;
图3为本申请提供的测试方法的流程示意图二;
图4为本申请提供的测试装置的结构示意图一;
图5为本申请提供的测试装置的界面示意图;
图6为本申请提供的子任务分配示意图;
图7为本申请提供的测试装置的结构示意图二;
图8为本申请提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请的实施例,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在自动化测试用例开发的过程中,开发人员往往会选定一种语言和测试框架进行用例开发。但是对于不同的开发人员,他们熟悉的语言可能各不相同,如python,java或javascript等。另,现有的自动化测试工具需要根据开发人员的指定,在指定的测试服务器上执行测试用例,造成有些测试服务器和测试设备空闲,有些测试服务器和测试设备负载很重,负载不均衡,不能有效利用资源,导致测试效率低。
示例性的,现有的测试平台,如Jenkins,用户可以在Jenkins上添加测试任务并调度到指定的测试服务器上执行。但是Jenkins不能区分测试任务是使用什么语言和测试框架,且只能通过用户把测试任务指定到特定的服务器上。
为了解决现有技术中的问题,本申请中可以使得自动化测试工具能够兼容不同语言或测试框架开发的测试用例,进而需要开发人员学习其他语言,进行测试用例的开发,造成开发成本提高,开发时间延长,且实现根据测试任务中的测试用例的测试框架的类型,实现测试服务器的直接选择,能够灵活调度的目的。
本申请术语释义:
测试用例:软件工程中的测试用例是一组条件或变量,开发人员根据它来确定应用软件或软件系统是否正确工作。
测试框架:测试开发过程中提取特定领域测试方法共性部分形成的体系结构;开发人员基于测试框架,以及结合测试对象知识转化成测试用例。不同测试技术领域有不同的测试框架类型。
测试服务器的空闲资源:本申请中指的是测试服务器的可用于进行测试任务的资源。
图1为本申请提供的测试方法适用的场景示意图。如图1所示,该场景中包括:测试装置、多个测试服务器,以及每个测试服务器对应的至少一个测试设备。
其中,测试装置可以为终端设备或服务器等电子设备。终端设备可以包括但不限于为移动终端设备或固定终端设备。移动终端设备包括但不限于手机、个人数字助理(Personal Digital Assistant,简称:PDA)、平板电脑、便携设备(例如,便携式计算机、袖珍式计算机或手持式计算机)等。固定终端包括但不限于台式计算机等。
测试服务器对应有至少一个测试设备,即测试服务器在接收到测试任务时,可以运行测试用例以测试该测试设备。图1中以测试设备是车机、且每个测试服务器对应的车机数量是2为例进行说明。应理解,根据测试方法应用的技术领域的不同,测试设备还可以为服务器、计算机、智能手机等设备。
下面结合具体的实施例对本申请提供的测试方法进行说明,应理解,下述几个实施例之间可以相互结合。图2为本申请提供的测试方法的流程示意图一。图2所示方法流程的执行主体可以为测试装置,该测试装置可由任意的软件和/或硬件实现。如图2所示,本实施例提供的测试方法可以包括:
S201,获取测试任务,测试任务中包括至少一个测试用例。
本实施例中,测试任务中可以包括至少一个测试用例。其中,当测试任务中包括多个测试用例时,该多个测试用例的测试框架的类型可以相同或不同。
应理解,测试任务可以为用户(开发人员)设置的任务。可选的,用户可以将至少一个测试用例导入至测试装置中,该至少一个测试用例即为测试任务。可选的,该测试装置中可以包括可选择的多个测试用例,用户在该多个测试用例中选择至少一个测试用例形成测试任务。
S202,获取至少两个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态,测试用例用于测试测试设备。
本实施例中,测试装置可以实时监测测试服务器的运行状态以及每个测试服务器对应的测试设备的运行状态。其中,测试服务器的运行状态可以为测试服务器的空闲资源,以及测试服务器支持的测试框架的类型。测试设备的运行状态可以为“空闲”、“繁忙”、“下线”等状态。
可选的,本实施例中测试装置还可以通过与测试服务器交互的方式,获取测试服务器的运行状态以及每个测试服务器对应的测试设备的运行状态。具体的,测试装置可以向至少两个测试服务器发送状态请求,该状态请求用于指示测试服务器反馈其所支持的测试框架的类型和空闲资源,以及其对应的测试设备的运行状态。可选的,该状态请求可以为周期性发送的。
对应的,测试装置可以每个测试服务器基于状态请求反馈的每个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态。
应理解,至少两个测试服务器为图1所示的示意图中的部分或者全部的测试服务器。且,测试用例用于测试测试设备,具体的,测试服务器使用测试用例对测试设备进行测试。
S203,根据每个测试用例的测试框架的类型、每个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态,从至少两个测试服务器中确定目标测试服务器。
本实施例中,可以从至少两个测试服务器中确定目标测试服务器,由该目标测试服务器执行测试任务。具体的,本实施例中可以根据每个测试用例的测试框架的类型、每个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态,确定目标测试服务器。其中,可以将具有空闲资源、对应的测试设备的运行状态为空闲、且与测试任务中的测试用例的测试框架的类型相同的测试服务器确定为目标测试服务器。
S204,将测试任务分配至目标测试服务器。
本实施例中,可以将测试任务分配至目标测试服务器,以使目标测试服务器采用测试任务中的测试用例对该目标测试服务器对应的测试设备进行测试。
本实施例提供的测试方法包括:获取测试任务,测试任务中包括至少一个测试用例;获取至少两个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态,测试用例用于测试测试设备;根据每个测试用例的测试框架的类型、每个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态,从至少两个测试服务器中确定目标测试服务器;将测试任务分配至目标测试服务器。本实施例中的测试方法能够确定测试用例的类型,且将测试任务分配至支持该类型的测试服务器中,提高了测试效率。
在上述实施例的基础上,本实施例中还能够实现对测试任务的拆分,以获取多个子任务,将该多个子任务分配至目标测试服务器中,而不是将一个测试任务分配在一个目标测试服务器中,能够进一步提高测试效率。下面结合图3对本申请提供的测试方法进行进一步说明,图3为本申请提供的测试方法的流程示意图二。如图3所示,本实施例提供的测试方法可以包括:
S301,下载最新版本的测试用例。
开发人员在开发完成测试用例后,可以将测试用例存储在GitLab中,GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具。其中,GitLab可以存储有测试用例,测试用例的标识,以及测试用例的测试框架类型。其中,测试用例的标识可以包括测试用例的名称和版本信息等。
本实施例中,测试装置可以从GitLab下载最新版本的测试用例。可选的,测试装置可以周期性地从GitLab下载最新版本的测试用例,在下载最新版本的测试用例后,可以根据下载的测试用例的测试框架的类型,采用对应的语言脚本将该下载最新版本的测试用例转化为相同的格式存储至数据库中。
示例性的,表一中所示的为从GitLab下载最新版本的测试用例,以及测试用例的测试框架的类型(也可以理解为语言类型):
表一
测试用例 | 测试框架的类型 |
测试用例1 | Pytest |
测试用例2 | Robotframework |
测试用例3 | TestNG |
表一中所示的为将该三个测试用例转化为相同的测试存储在数据库中:
表二
Postgresql DB(数据库) |
测试用例(包括测试用例1、2和3) |
可选的,图4为本申请提供的测试装置的结构示意图一。如图4所示,该测试装置中可以包括用例管理模块,该用例管理模块可以会周期性地向Gitlab中pull不同测试框架下的最新用例update_testcase(framework_id),然后运行命令把不同测试是框架下的测试用例用统一的格式,导出到文件testcase.cs,最后读取文件把用例存入数据库get_testcase_list(gen)。
S302,显示最新版本的测试用例的标识。
本实施例中可以在下载最新版本的测试用例后,显示最新版本的测试用例的标识,以使得用户(开发人员)获取最新版本的测试用例。应理解,测试用例的标识可以为测试用例的编号,和/或测试用例采用的测试框架(或语言)的类型。
图5为本申请提供的测试装置的界面示意图。如图5中的界面所示,该界面上显示有测试用例1、测试用例2和测试用例3,以及每个测试用例的测试框架的类型。
S303,根据用户对最新版本的测试用例的标识的选择指令,得到至少一个测试用例。
用户可以进行测试任务的设置,具体可以为对界面上显示的最新版本的测试用例的标识进行选择,以确定测试任务中包括的测试用例。对应的,测试装置根据用户对最新版本的测试用例的标识的选择指令,得到至少一个测试用例。
示例性的,如用户在界面上对测试用例1、测试用例2和测试用例3均进行选择,以确定该测试任务中包括测试用例1、测试用例2和测试用例3。
S304,根据用户对至少一个测试用例的拆分指令,获取测试任务,拆分指令用于表征将至少一个测试用例拆分成至少一个子任务。
本实施例中,用户可以对测试任务中的测试用例进行拆分,以得到多个子任务,测试工具对该子任务进行分配,可以提高测试效率。示例性的,如上述测试任务中包括测试用例1、测试用例2和测试用例3,若将该测试任务分配至一个测试服务器中,测试的时间可能会较长,但将该测试用例1、测试用例2和测试用例3进行拆分成多个子任务,分配给多个测试服务器执行,可以减少测试的时间。
其中,用户可以输入拆分指令,使得测试装置根据该用户对至少一个测试用例的拆分指令,获取测试任务。该测试指令用于表征将至少一个测试用例拆分成至少一个子任务。
可选的,拆分指令可以为按照测试用例的测试框架的类型对至少一个测试用例进行拆分,也可以是用户根据自己需求设置拆分指令,如可以将测试用例1拆分成3份,分别为P1、P2和P3,将测试用例2拆分成2份,分别为R4、R5,而不将测试用例3拆分,则测试用例3为T6;用户可以将P1、R4和T6作为子任务1,将P2和R5作为子任务2,将P3作为子任务3。
对应的,测试装置获取的测试任务中包括至少一个子任务,其中每个子任务中包括的测试用例的类型可以不同或相同,如子任务1和子任务2中包括的测试用例的测试框架的类型不同,而子任务3中包括的测试用例的测试框架的类型相同。
S305,获取至少两个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态,测试用例用于测试测试设备。
应理解,测试装置可以周期性地向至少两个测试服务器发送状态请求,以接收每个测试服务器基于状态请求反馈的每个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态。
对应的,测试装置可以将每个测试服务器基于状态请求反馈的每个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态存储至数据库中。应理解,测试装置向至少两个测试服务器发送状态请求的周期与测试装置周期性地下载最新版本的测试用例的周期相同。
如图4所示,该测试装置中可以包括设备管理模块,每个测试服务器中设置有客户端,客户端会负责收集测试服务器支持的测试框架的类型,记录测试服务器上运行的任务,空闲资源,以及测试设备的运行状态。设备管理模块可以周期性地向客户端发送状态请求,以使客户端将收集的信息反馈给设备管理模块,进而设备管理模块可以将客户端反馈的信息存储至数据库。
S306,将具有空闲资源、对应的测试设备的运行状态为空闲、且与每个子任务的测试框架的类型相同的测试服务器确定为每个子任务的目标测试服务器。
本实施例中,在获取测试任务时,可以根据测试任务从数据库中获取该测试任务中包括的测试用例,以及每个测试服务器基于状态请求反馈的每个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态。
鉴于该测试任务中包括至少一个子任务,本实施例中可以将具有空闲资源、对应的测试设备的运行状态为空闲、且与每个子任务的测试框架的类型相同的测试服务器确定为每个子任务的目标测试服务器。
S307,将至少一个子任务分配至对应的目标测试服务器。
本实施例中可以将至少一个子任务分配至对应的目标测试服务器,以使目标测试服务器在对应的测试设备中执行子任务。示例性的,测试服务器上的客户端收到子任务后,查询收到的子任务中的测试用例的测试框架的类型,fork出一个子进程启动相应的测试框架,执行子任务中的测试用例。
应理解,本实施例中的测试设备为车机。图6为本申请提供的子任务分配示意图。如图6所示,子任务1中包括三个任务P1、R4和T6,采用的测试框架分别为Pytest、Robotframework、TestNG;子任务2中包括两个任务P2和R5,采用的测试框架分别为Pytest、Robotframework;子任务3中包括一个任务P2和P3,采用的测试框架分别为Pytest。测试服务器1支持的测试框架的类型为Pytest、Robotframework、TestNG,测试服务器2支持的测试框架的类型为Pytest、Robotframework,以及测试服务器3支持的测试框架的类型为Pytest、TestNG。
测试服务器1对应的车机1的运行状态为空闲、车机2的运行状态为繁忙、车机3的运行状态为下线;测试服务器2对应的车机1的运行状态为空闲、车机2的运行状态为空闲、车机3的运行状态为空闲;测试服务器3对应的车机1的运行状态为空闲、车机2的运行状态为空闲。
其中,将子任务1中的P1分配至测试服务器2对应的车机1、将子任务1中的R4分配至测试服务器1对应的车机1、将子任务1中的T6分配至测试服务器3对应的车机1;将子任务2中的P2分配至测试服务器2对应的车机2、将子任务2中的R5分配至测试服务器2对应的车机3;将子任务3中的P3分配至测试服务器3对应的车机2。
可选的,如图4所示,测试装置中可以包括调度模块,该调度模块可以将子任务调度分配给目标测试服务器。
S308,接收目标测试服务器上报的子任务的测试结果,若接收到的子任务的测试结果包括一个测试用例的测试结果,则显示一个测试用例的测试结果。
在测试过程中,测试装置可以接收到目标测试服务器上报的子任务的测试结果。示例性的,若子任务1中的P1测试完成,则可以将该P1的测试结果上报至测试装置。
其中,若接收到的子任务的测试结果包括一个测试用例的测试结果,则显示一个测试用例的测试结果。示例性的,若测试装置接收到R4和R5的测试结果,则可以显示该测试用例2的测试结果,该测试用例2的测试结果包括R4和R5的测试结果。相较于现有技术,本实施例可以实时显示完成的测试用例的测试结果,使得开发人员实时掌握测试的进展。
S309,在测试任务完成后,将每个测试用例的测试结果转化为相同的格式的测试结果。
鉴于采用不同的测试框架生成的测试结果的格式不同。本实施例中,在测试任务(即所有的子任务)完成后,可以将将每个测试用例的测试结果转化为相同的格式的测试结果,且将每个测试用例的测试结果都用统一的消息格式写入队列。
S310,生成并显示测试任务的测试结果,测试任务的测试结果中包括每个测试用例的测试结果。
应理解,本实施例中可以根据子任务中的测试结果,生成测试任务的测试结果,该测试任务的测试结果中包括每个测试用例的测试结果。示例性的,如在3个子任务都执行完毕后,可以生成一份完整的测试报告,该测试报告中包括每个测试用例的测试结果。
本实施例中可以将显示测试任务的测试结果,以使用户获取测试结果。可选的,如图4所示,本实施例中的测试装置中可以包括测试结果收集模块和测试结果显示模块,测试结果收集模块用于执行上述将每个测试用例的测试结果转化为相同的格式的测试结果,以及生成测试任务的测试结果的动作,测试结果显示模块用于执行显示每个测试用例的测试结果,以及显示测试任务的测试结果。
本实施例中,一方面可以将测试任务拆分成多个子任务,分配给多个测试服务器执行,可以减少测试的时间,另一方面可以实时显示测试用例的测试结果,不须等到所有的测试用例均测试完成后才能获取测试用例的测试结果。
图7为本申请提供的测试装置的结构示意图二。如图7所示,该测试装置700包括:处理模块701、收发模块702和显示模块703。
处理模块701,用于获取测试任务和至少两个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态,且根据每个测试用例的测试框架的类型、每个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态,从至少两个测试服务器中确定目标测试服务器,测试任务中包括至少一个测试用例,测试用例用于测试测试设备;
收发模块702,用于将测试任务分配至目标测试服务器。
可选的,处理模块701,具体用于下载最新版本的测试用例。
对应的,显示模块703,用于显示最新版本的测试用例的标识。
处理模块701,具体用于根据用户对最新版本的测试用例的标识的选择指令,得到至少一个测试用例,且根据用户对至少一个测试用例的拆分指令,获取测试任务,拆分指令用于表征将至少一个测试用例拆分成至少一个子任务。
可选的,处理模块701,具体用于将具有空闲资源、对应的测试设备的运行状态为空闲、且与每个子任务的测试框架的类型相同的测试服务器确定为每个子任务的目标测试服务器。
可选的,收发模块702,还用于向至少两个测试服务器发送状态请求,以及接收每个测试服务器基于状态请求反馈的每个测试服务器支持的测试框架的类型和空闲资源,以及每个测试服务器对应的测试设备的运行状态。
可选的,收发模块702,还用于接收目标测试服务器上报的子任务的测试结果。
若接收到的子任务的测试结果包括一个测试用例的测试结果,则显示模块703,还用于显示一个测试用例的测试结果。
可选的,处理模块701,还用于在测试任务完成后,将每个测试用例的测试结果转化为相同的格式的测试结果,且生成测试任务的测试结果,测试任务的测试结果中包括每个测试用例的测试结果。
显示模块703,还用于显示测试任务的测试结果。
可选的,测试设备为车机。
本实施例提供的测试装置与上述测试方法实现的原理和技术效果类似,在此不作赘述。
图8为本申请提供的电子设备的结构示意图。该电子设备可以是上述图7中的电子设备,该电子设备可以为ZAP测试平台。如图8所示,该电子设备800包括:存储器801和至少一个处理器802。
存储器801,用于存储程序指令。
处理器802,用于在程序指令被执行时实现本实施例中的测试方法,具体实现原理可参见上述实施例,本实施例此处不再赘述。
该电子设备800还可以包括及输入/输出接口803。
输入/输出接口803可以包括独立的输出接口和输入接口,也可以为集成输入和输出的集成接口。其中,输出接口用于输出数据,输入接口用于获取输入的数据,上述输出的数据为上述方法实施例中输出的统称,输入的数据为上述方法实施例中输入的统称。
本申请还提供一种可读存储介质,可读存储介质中存储有执行指令,当电子设备的至少一个处理器执行该执行指令时,当计算机执行指令被处理器执行时,实现上述实施例中的测试方法。
本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的测试方法。
本申请还提供一种测试系统,该测试系统中包括如上述的测试装置、测试服务器,以及所述测试服务器对应的测试设备。该测试设备可以为车机,测试服务器和测试设备的数量均为至少两个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在上述测试装置的实施例中,应理解,处理模块可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种测试方法,其特征在于,包括:
获取测试任务,所述测试任务中包括至少一个测试用例;
获取至少两个测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,所述测试用例用于测试所述测试设备;
根据每个所述测试用例的测试框架的类型、每个所述测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,从至少两个所述测试服务器中确定目标测试服务器;
将所述测试任务分配至所述目标测试服务器。
2.根据权利要求1所述的方法,其特征在于,所述测试任务中包括至少一个子任务,所述获取测试任务,包括:
下载最新版本的测试用例;
显示所述最新版本的测试用例的标识;
根据用户对所述最新版本的测试用例的标识的选择指令,得到所述至少一个测试用例;
根据所述用户对所述至少一个测试用例的拆分指令,获取所述测试任务,所述拆分指令用于表征将所述至少一个测试用例拆分成至少一个子任务。
3.根据权利要求2所述的方法,其特征在于,所述根据每个所述测试用例的测试框架的类型、每个所述测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,从至少两个所述测试服务器中确定目标测试服务器,包括:
将具有空闲资源、对应的测试设备的运行状态为空闲、且与每个所述子任务的测试框架的类型相同的测试服务器确定为每个所述子任务的目标测试服务器。
4.根据权利要求1所述的方法,其特征在于,所述获取每个测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,包括:
向所述至少两个测试服务器发送状态请求;
接收每个所述测试服务器基于所述状态请求反馈的每个所述测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:
接收所述目标测试服务器上报的子任务的测试结果;
若接收到的子任务的测试结果包括一个测试用例的测试结果,则显示所述一个测试用例的测试结果。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述测试任务完成后,将每个所述测试用例的测试结果转化为相同的格式的测试结果;
生成所述测试任务的测试结果,所述测试任务的测试结果中包括每个所述测试用例的测试结果;
显示所述测试任务的测试结果。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述测试设备为车机。
8.一种测试装置,其特征在于,包括:
处理模块,用于获取测试任务、至少两个测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,且根据每个所述测试用例的测试框架的类型、每个所述测试服务器支持的测试框架的类型和空闲资源,以及每个所述测试服务器对应的测试设备的运行状态,从至少两个所述测试服务器中确定目标测试服务器,所述测试任务中包括至少一个测试用例,所述测试用例用于测试所述测试设备;
收发模块,用于将所述测试任务分配至所述目标测试服务器。
9.一种测试系统,其特征在于,包括:执行上述权利要求1-7任一项所述的方法的测试装置、测试服务器,以及所述测试服务器对应的测试设备。
10.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行权利要求1-7任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911414608.8A CN111159046B (zh) | 2019-12-31 | 2019-12-31 | 测试方法、装置、电子设备、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911414608.8A CN111159046B (zh) | 2019-12-31 | 2019-12-31 | 测试方法、装置、电子设备、系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159046A CN111159046A (zh) | 2020-05-15 |
CN111159046B true CN111159046B (zh) | 2024-04-09 |
Family
ID=70560067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911414608.8A Active CN111159046B (zh) | 2019-12-31 | 2019-12-31 | 测试方法、装置、电子设备、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159046B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913884A (zh) * | 2020-07-30 | 2020-11-10 | 百度在线网络技术(北京)有限公司 | 分布式测试方法、装置、设备、系统和可读存储介质 |
CN112162927B (zh) * | 2020-10-13 | 2024-04-26 | 网易(杭州)网络有限公司 | 云计算平台的测试方法、介质、装置和计算设备 |
CN112306880A (zh) * | 2020-11-02 | 2021-02-02 | 百度在线网络技术(北京)有限公司 | 测试方法、装置、电子设备和计算机可读存储介质 |
CN114138677B (zh) * | 2021-12-24 | 2024-07-02 | 北京华大九天科技股份有限公司 | 测试方法及装置、测试系统、电子设备 |
CN115221041A (zh) * | 2022-06-09 | 2022-10-21 | 广州汽车集团股份有限公司 | 多设备的测试方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018036167A1 (zh) * | 2016-08-22 | 2018-03-01 | 平安科技(深圳)有限公司 | 测试任务执行机分配方法、装置、服务器和存储介质 |
CN108829588A (zh) * | 2018-05-30 | 2018-11-16 | 北京顺丰同城科技有限公司 | 一种测试应用程序的处理方法、部署系统及装置 |
CN109491916A (zh) * | 2018-11-12 | 2019-03-19 | 北京东土科技股份有限公司 | 一种操作系统的测试方法、装置、设备、系统和介质 |
CN110457204A (zh) * | 2019-07-05 | 2019-11-15 | 深圳壹账通智能科技有限公司 | 代码测试方法、装置、计算机设备和存储介质 |
-
2019
- 2019-12-31 CN CN201911414608.8A patent/CN111159046B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018036167A1 (zh) * | 2016-08-22 | 2018-03-01 | 平安科技(深圳)有限公司 | 测试任务执行机分配方法、装置、服务器和存储介质 |
CN108829588A (zh) * | 2018-05-30 | 2018-11-16 | 北京顺丰同城科技有限公司 | 一种测试应用程序的处理方法、部署系统及装置 |
CN109491916A (zh) * | 2018-11-12 | 2019-03-19 | 北京东土科技股份有限公司 | 一种操作系统的测试方法、装置、设备、系统和介质 |
CN110457204A (zh) * | 2019-07-05 | 2019-11-15 | 深圳壹账通智能科技有限公司 | 代码测试方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
刘量 ; 赵亮 ; 王建民 ; .通用服务器端软件测试框架的研究与实现.计算机工程与应用.2006,(28),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111159046A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111159046B (zh) | 测试方法、装置、电子设备、系统和存储介质 | |
CN109922158A (zh) | 基于微服务的数据处理方法、装置、介质及电子设备 | |
CN114610499A (zh) | 任务调度方法、装置、计算机可读存储介质及电子设备 | |
CN106897299B (zh) | 一种数据库访问方法及装置 | |
CN111679911A (zh) | 云环境中gpu卡的管理方法、装置、设备及介质 | |
CN112132530B (zh) | 可视化动态流程编排方法及系统 | |
CN112121411A (zh) | 震动控制方法、装置、电子设备和计算机可读存储介质 | |
CN113448988A (zh) | 算法模型的训练方法、装置、电子设备及存储介质 | |
CN115617511A (zh) | 资源数据处理的方法、装置、电子设备和存储介质 | |
CN113765942A (zh) | 一种云算力分配方法、用户终端、云算力平台和系统 | |
CN114816672A (zh) | 虚拟机的创建方法、装置、电子设备和存储介质 | |
CN117149665B (zh) | 持续集成方法、控制设备、持续集成系统及存储介质 | |
CN109873731B (zh) | 测试方法、装置和系统 | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
CN111008143A (zh) | 覆盖率调度测试方法、终端设备及计算机可读存储介质 | |
CN113157586B (zh) | 一种金融市场单元测试案例生成方法及装置 | |
CN111294250B (zh) | 压力测试方法、装置和系统 | |
CN114301970A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN114238091A (zh) | 一种常驻型交互式服务集群测试方法及系统 | |
CN113268324A (zh) | 一种任务调度方法及装置、存储介质、计算机设备 | |
CN116257423A (zh) | 一种任务处理方法及装置 | |
CN114020414A (zh) | Android系统与底层Linux共生方法、装置、电子设备及存储介质 | |
CN113282511A (zh) | 测试方法及设备 | |
CN113230661A (zh) | 数据同步方法、装置、计算机可读介质及电子设备 | |
CN112685172A (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 |