CN111324546A - 一种任务测试方法及装置 - Google Patents
一种任务测试方法及装置 Download PDFInfo
- Publication number
- CN111324546A CN111324546A CN202010200702.XA CN202010200702A CN111324546A CN 111324546 A CN111324546 A CN 111324546A CN 202010200702 A CN202010200702 A CN 202010200702A CN 111324546 A CN111324546 A CN 111324546A
- Authority
- CN
- China
- Prior art keywords
- test
- task
- preset
- executor
- execution
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 572
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000004048 modification Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 229940004975 interceptor Drugs 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
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
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种任务测试方法及装置。
背景技术
现有的任务测试平台或软件均是基于TestNG(一种开源自动化测试框架)架构,在将测试用例录入TestNG之前,要求测试人员依据测试数据编写测试用例,并且,测试用例的代码,需随测试数据的变动而变动。所以,对于不同的测试数据,需要编写不同的代码,因此,测试效率低。
发明内容
本申请提供了一种任务测试方法及装置,目的在于提高任务测试的效率。
为了实现上述目的,本申请提供了以下技术方案:
一种任务测试方法,包括:
将测试数据作为对应的预设项的数值,得到测试对象模型,所述预设项包括测试任务的信息和测试用例的信息,所述测试对象模型指示测试任务的信息,所述测试任务的信息包括所述测试任务、所述测试任务下的测试用例的信息和所述测试用例之间的执行顺序;
至少响应于测试请求,采用预设的执行器,执行所述测试任务,所述预设的执行器用于运行预设的执行流程。
可选的,还包括:
获取任务执行属性,所述任务执行属性用于指示所述测试任务并行和/或串行属性;
所述至少响应于测试请求,采用预设的执行器,执行所述测试任务,包括:
响应于测试请求和所述任务执行属性,采用预设的执行器,执行所述测试任务。
可选的,还包括:
监听以下至少一个步骤:所述将测试数据作为对应的预设项的数值,得到测试对象模型;所述至少响应于测试请求,采用预设的执行器,执行所述测试任务;所述获取任务执行属性;
根据监听结果生成日志文件。
可选的,所述将测试数据作为对应的预设项的数值,得到测试对象模型,包括:
获取所述预设项和测试数据文件;
依据预设的对应关系,使用与所述测试数据文件的类型对应的加载转化接口,将所述测试数据文件中的测试数据作为对应的预设项的数值,得到所述测试对象模型。
可选的,还包括:
使用预设的格式修改指令,修改所述测试数据,所述预设的格式修改指令包括预设的格式修改标识、待修改的数值和修改后的数值。
可选的,所述执行器包括:
测试任务执行器、测试用例集合执行器和测试用例执行器;
所述测试任务执行器用于运行预设的第一执行流程;
所述测试用例集合执行器用于运行预设的第二执行流程,测试用例集合为具有执行顺序的测试用例构成的集合;
所述测试用例执行器用于运行预设的第三执行流程。
可选的,所述预设项包括:
测试元素的标识项、所述测试元素的输入参数的标识项、所述测试元素的输出参数的标识项、所述测试用例的标识项、所述测试任务结束的标识项、测试项目的标识项、测试环境的标识项和所述测试任务的标识项;其中,所述测试元素指示所述测试任务的待测对象,所述测试项目指示所述测试任务所属的项目,所述测试环境指示所述测试用例的测试环境;
所述测试任务执行器的所述预设的第一执行流程包括:
执行第一节点拦截器链,加载所述测试用例集合执行器;
所述测试用例集合执行器的所述预设的第二执行流程包括:
执行第二节点拦截器链,加载所述测试用例执行器;
所述测试用例执行器的所述预设的第三执行流程包括:
执行第三节点拦截器链;
其中,所述第一节点拦截器链、所述第二节点拦截器链和所述第三节点拦截器链,均为具有执行顺序的节点拦截器的集合,所述节点拦截器用于将所述预设项加载至预设的模板逻辑,并执行加载后的所述预设的模板逻辑。
一种任务测试装置,包括:
加载单元,用于将测试数据作为对应的预设项的数值,得到测试对象模型,所述预设项包括测试任务的信息和测试用例的信息,所述测试对象模型指示测试任务的信息,所述测试任务的信息包括所述测试任务、所述测试任务下的测试用例的信息和所述测试用例之间的执行顺序;
执行单元,用于至少响应于测试请求,采用预设的执行器,执行所述测试任务,所述预设的执行器用于运行预设的执行流程。
一种计算机存储介质,所述计算机存储介质包括存储的程序,其中,所述程序执行上述任务测试方法。
一种电子设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行上述任务测试方法。
本申请提供的任务测试方法及装置,将测试数据作为对应的预设项的数值,得到测试对象模型;至少响应于测试请求,采用预设的执行器,执行测试任务。其中,预设项包括测试任务的信息和测试用例的信息,测试对象模型指示测试任务的信息,测试任务的信息包括测试任务、测试任务下的测试用例的信息和测试用例之间的执行顺序,预设的执行器用于运行预设的执行流程。可见,预设项和预设的执行器,相当于预先建立的测试任务代码的模板,加载测试数据便能够得到指示测试任务的测试对象模型,加载执行器便能够执行测试对象模型所指示的测试任务。因此,仅需测试数据和测试请求,无需针对测试数据再输入代码,避免测试人员进行代码编写。并且,因为预设项和执行器相当于模板,所以针对不同的测试数据可以复用,对于不同的测试数据,无需重新编写代码,任务测试效率明显得到提高。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种任务测试方法的示意图;
图2为本申请实施例提供的一种有向无环图;
图3为本申请实施例提供的另一种任务测试方法的示意图;
图4为本申请实施例提供的一种任务测试装置的架构示意图。
具体实施方式
本申请实施例提供的任务测试方法可以应用于主机,进一步的,在主机上部署测试引擎,测试引擎用于实现本申请实施例所述的任务测试方法。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种任务测试方法的示意图,包括如下步骤:
S101:获取测试数据文件。
其中,可以接收测试人员发送的测试数据文件,或者,从数据库中获取测试数据文件。测试数据文件中包括测试数据、以及测试数据所属测试用例的标识,测试数据具体指的是实现测试用例测试的数据。
具体的,测试数据可以是关联变量、环境变量、随机变量、场景变量、以及全局变量等测试变量。其中,关联变量用于指示相互之间存在依赖关系的各个测试用例的输入参数和/或输出参数,例如,测试用例A和测试用例B之间存在依赖关系,测试用例A的输出参数“system.output.score”作为测试用例B的输入参数“system.input.score”,则测试用例A和测试用例B之间的关联变量就是“system.output.score”和“system.input.score”。环境变量用于指示各个测试用例所匹配的环境参数,随机变量用于指示各个测试用例所匹配的随机数,场景变量用于指示各个测试用例所匹配的场景参数,全局变量用于指示各个测试用例所匹配的全局参数。
并且,测试数据文件的类型包括但不限于是excel、yaml、json等类型,在测试数据文件中,记录了上述各个测试变量所属的测试用例和测试任务的信息。例如,excel表格中记录了测试任务的标识、测试任务下的各个测试用例的标识,以及测试用例下的各个测试变量(如前所述关联变量、环境变量、随机变量、场景变量、以及全局变量等)的标识等。
测试数据文件的更为具体的内容为本领域技术人员所熟悉的公知常识,这里不再赘述。
需要强调的是,在本实施例中,可以使用${}格式替换文本参数的方式,对测试数据文件中的测试数据进行更改。
具体的,在接收到${}格式下的数据的情况下,例如关联变量的具体引用形式为:${correlation.id}、${correlation.name},环境变量的具体引用形式为:${env.id}、${env.name},全局变量的具体引用形式为:${global.id}、${global.name}、随机变量的具体引用形式为:$(random.idnumber()},场景变量的具体引用形式为:${param.city}、${param.age},使用${}中的数值,例如${env.第一环境变量_4}中的第一环境变量_4,替换测试数据中相应的数值,例如,使用第一环境变量_4替换测试数据中第一环境变量_2,从而实现将测试数据中的第一环境变量的数值从2变更为4。
以此类推,其它测试数据的更改可以参见第一环境变量的更改过程,这里不再赘述。
S102:依据预设的对应关系,使用与测试数据文件的类型对应的加载转化接口,将测试数据文件中的测试数据作为对应的预设项的数值,得到测试对象模型。
其中,预设项至少包括测试任务的信息和测试用例的信息。
在本实施例中,预设项用于指示任务测试过程中所需调用的测试数据(在java编程语言中,视为可调用的类),具体的,预设项的示例可以参见下述表1。在表1中,测试项目的标识项、测试环境的标识项和测试任务的标识项为测试任务的信息,测试元素的标识项、测试元素的输入参数的标识项、测试元素的输出参数的标识项和测试用例的标识项为测试用例的信息。其中,测试元素指示测试任务的待测对象,测试项目指示测试任务所属的项目,测试环境指示测试用例的测试环境。
表1
预设项 | 中文说明 |
TestElement | 测试元素的标识项 |
TestElementParam | 测试元素的输入参数的标识项 |
TestElementOutput | 测试元素的输出参数的标识项 |
TestCase | 测试用例的标识项 |
TestProject | 测试项目的标识项 |
TestEnvironment | 测试环境的标识项 |
TestTask | 测试任务的标识项 |
需要说明的是,上述表1示出的内容仅仅用于举例说明,预设项可由技术人员根据测试数据和测试目的进行设置。
将测试数据文件中的测试数据转换为测试对象模型的技术实质为:将测试数据文件中的各个测试数据作为对应的预设项的数值。例如,将测试数据文件中测试任务的标识1,作为测试对象模型中的测试任务的标识项的数值,将测试数据文件中测试任务1中的测试用例1-1的标识1-1,作为测试对象模型中的测试用例的标识项的数值,将测试数据文件中的全局变量global_10,作为测试对象模型中的全局变量的标识项的数值。
需要说明的是,因为测试数据文件的类型不同,所以,可以使用测试数据文件的类型对应的加载转化接口,解析测试数据文件并获取各个测试数据,再将测试数据文件中的各个测试数据,作为对应的预设项的数值。
可见,测试对象模型能够指示测试任务的信息,测试任务的信息包括:测试任务、测试任务下的测试用例的信息,以及能够通过关联变量,指示测试用例之间的执行顺序。
S103:接收测试人员发送的任务执行属性信息。
其中,任务执行属性信息包含有任务执行属性,任务执行属性用于指示测试任务并行和/或串行属性。在本实施例中,任务执行属性包括但不限于是:测试任务并发执行的线程数、测试用例并发执行的线程数、测试用例集合并发执行的线程数、场景任务执行策略、以及测试任务的执行时间等。具体的,任务执行属性的示例可以参见下述表2。
表2
需要说明的是,上述表2示出的内容仅仅用于举例说明。测试任务并发执行的线程数、测试用例并发执行的线程数、测试用例集合并发执行的线程数可由技术人员根据测试引擎所属运行内存的大小进行设置,测试任务的执行时间可根据测试请求进行设置,场景任务执行策略可根据测试请求进行设置。
需要强调的是,本实施例还可以从数据库中获取预存的配置文件,该配置文件中包含有预设的任务执行属性。
S104:在接收到测试人员发送的测试请求的情况下,采用预设的执行器,依据任务执行属性,执行测试对象模型指示的测试任务。
其中,预设的执行器包括测试任务执行器TaskExecutor、测试用例集合执行器DagExecutor和测试用例执行器JobExecutor,测试用例集合为具有执行顺序的测试用例构成的集合。响应于测试请求,采用执行器运行预设的执行流程,执行测试对象模型指示的测试任务。
需要说明的是,采用执行器执行测试任务的具体实现过程包括:
加载测试任务执行器,使得测试任务执行器运行预设的第一执行流程。第一执行流程包括:执行第一节点拦截器链,并加载测试用例集合执行器,使得测试用例集合执行器运行预设的第二执行流程。第二执行流程包括:执行第二节点拦截器链,并加载测试用例执行器,使得测试用例执行器运行预设的第三执行流程。第三执行流程包括:执行第三节点拦截器链。
第一节点拦截器链、第二节点拦截器链和第三节点拦截器链,均为具有执行顺序的节点拦截器的集合。节点拦截器用于将预设项加载至预设的模板逻辑,并执行加载后的预设的模板逻辑。
节点拦截器(Interceptor)是一种基于Java的反射机制,属于面向切面编程(AOP)的运用组件,节点拦截器的具体实现方式为本领域技术人员所熟悉的公知常识,这里不再赘述。
模板逻辑所实现的功能可由技术人员根据测试数据和测试请求进行设置。
需要说明的是,第一节点拦截器链、第二节点拦截器链和第三节点拦截器链中所包含的节点拦截器,可由技术人员根据测试数据和测试目的进行设置。
具体的,第一节点拦截器链的示例可参见下述表3,第二节点拦截器链的示例可参见下述表4,第三节点拦截器链的示例可参见下述表5。
表3
节点拦截器 | 实现功能 |
TASK_START | 测试任务开始 |
TASK_LOADED | 测试任务加载完毕 |
TASK_FINISHED | 测试任务结束 |
表4
节点拦截器 | 实现功能 |
DAG_START | 测试用例集合DAG开始 |
DAG_FINISHED | 测试用例集合DAG结束 |
表5
以上述表3、表4和表5示出的节点拦截器为例,假设测试对象模型指示第一测试任务和第二测试任务,第一测试任务下包含有第一测试用例集合,第一测试用例集合中包含有第一测试用例和第二测试用例,第二测试任务下只包含有第三测试用例。依据任务执行属性可知,测试任务并行执行的线程数为2,测试用例集合并行执行的线程数为2,测试用例并行执行的线程数为3。因此,并行加载第一测试任务执行器和第二测试任务执行器,以执行第一测试任务和第二测试任务。
在第一测试任务的执行过程中,第一测试任务执行器按照预设的执行顺序(在本实施例中,表3、表4和表5中各个节点拦截器的执行顺序统一设置为表中第一行至最后一行),执行TASK_START和TASK_LOADED,而后加载第一测试用例集合执行器。第一测试用例集合执行器按照预设的执行顺序,执行DAG_START,而后加载第一测试用例执行器。第一测试用例执行器按照预设的执行顺序,执行上述表5示出的各个节点拦截器。在第一测试用例执行器执行结束后,加载第二测试用例执行器。第二测试用例执行器按照预设的执行顺序,执行上述表5示出的各个节点拦截器。在第二测试用例执行器执行结束之后,第一测试用例集合执行器执行DAG_FINISHED。在第一测试用例集合执行器执行结束之后,第一测试任务执行器执行TASK_FINISHED。
在第二测试任务的执行过程中,第一测试任务执行器按照预设的执行顺序,执行TASK_START和TASK_LOADED,而后加载第三测试用例执行器。第三测试用例执行器按照预设的执行顺序,执行上述表5示出的各个节点拦截器。在第三测试用例执行器执行结束之后,第三测试任务执行器执行TASK_FINISHED。
需要说明的是,由于每个测试用例执行器只用于实现一个测试用例的执行过程,因此,测试用例集合执行器在加载测试用例执行器的过程中,会依据测试用例集合中各个测试用例的依赖关系,构建一个有向无环图(一种数据结果)。并且,测试用例集合执行器会按照有向无环图中各个测试用例的入度(入度是图论算法中的一种概念,通常用于指示有向图中某点作为图中边的终点的次数之和)由小至大的顺序,加载各个测试用例所属的测试用例执行器。
具体的,以下述图2为例,测试用例集合执行器首先加载入度为0的第四测试用例执行器,而后加载入度为1的第三测试用例执行器,其次,加载入度为2的第六测试用例执行器,接着,并加载入度为3的第五测试用例执行器和第一测试用例执行器,最后,加载入度为4的第二测试用例执行器。
S105:在执行上述S101-S104的过程中,启动预设的监听器,对上述S101-S104的执行过程进行监听,并根据监听结果生成日志文件。
其中,采用监听器,监听上述S101-S104的执行过程的具体实现过程、以及根据监听结果生成日志文件的具体实现过程,都是本领域技术人员所熟悉的公知常识,这里不再赘述。
需要说明的是,采用监听器监听上述S101-S104的执行过程,可以监听任务测试过程中所出现的问题,并进行报错,从而提示测试人员及时进行维护,为任务测试提供有利保障。
具体的,假设S101中所获取的测试数据文件中缺少用于指示测试环境的测试数据,导致上述S102的执行过程所得到的测试对象模型中缺少指示测试环境的预设项(假设任务测试过程中必须具备指示测试环境预设项),从而导致S105无法实现任务测试过程。监听器对上述事件进行监听,并进行报错,测试人员依据日志文件可以迅速查找出错误的根源,从而补充相应的测试数据。
需要说明的是,上述具体实现过程仅仅用于举例说明。
在本实施例中,获取测试数据文件,依据预设的对应关系,使用与测试数据文件的类型对应的加载转化接口,将测试数据文件中的测试数据作为对应的预设项的数值,得到测试对象模型;获取任务执行属性,在接收到测试人员发送的测试请求的情况下,采用预设的执行器,依据任务执行属性,执行测试对象模型指示的测试任务。可见,预设项和预设的执行器,相当于预先建立的测试任务代码的模板,加载测试数据便能够得到指示测试任务的测试对象模型,加载执行器便能够执行测试对象模型所指示的测试任务。因此,仅需测试数据、任务执行属性信息和测试请求,无需针对测试数据再输入代码,避免测试人员进行代码编写,有效降低了任务测试工作的难度。并且,因为预设项和执行器相当于模板,所以针对不同的测试数据可以复用,对于不同的测试数据,无需重新编写代码,任务测试效率明显得到提高。
此外,测试对象模型和节点拦截器均可以根据实际情况和任务测试的需求进行设置,具有较高的扩展性,方便测试人员扩展任务测试的处理步骤。例如,假设测试用例请求发送前后需要增加进行加解密的处理步骤,则只需在执行器中增加用于实现加解密的节点拦截器即可。因此,本实施例提供的技术方案,能够实现定制,具有较高的灵活性和可扩展性,从而有效提高任务测试工作的效率。
如图3所示,为本申请实施例提供的另一种任务测试方法的示意图,包括如下步骤:
S301:将测试数据作为对应的预设项的数值,得到测试对象模型。
其中,预设项包括测试任务的信息和测试用例的信息,测试对象模型指示测试任务的信息,测试任务的信息包括测试任务、测试任务下的测试用例的信息和测试用例之间的执行顺序。
需要说明的是,S301的具体执行过程和实现原理与上述图1示出的S102的具体执行过程和实现原理一致,这里不再赘述。
此外,在本实施例中,可以使用预设的格式修改指令,修改测试数据,预设的格式修改指令包括预设的格式修改标识、待修改的数值和修改后的数值。使用预设的格式修改指令(及上述图1示出的${}格式替换文本参数的方式),修改测试数据的具体实现过程,可以参见上述图1示出的S101中的相应解释说明,这里不再赘述。
S302:至少响应于测试请求,采用预设的执行器,执行测试任务。
其中,S302的具体执行过程和实现原理与上述图1示出的S104的具体执行过程和实现原理一致,这里不再赘述。
在本申请实施例中,将测试数据作为对应的预设项的数值,得到测试对象模型;至少响应于测试请求,采用预设的执行器,执行测试任务。其中,预设项包括测试任务的信息和测试用例的信息,测试对象模型指示测试任务的信息,测试任务的信息包括测试任务、测试任务下的测试用例的信息和测试用例之间的执行顺序,预设的执行器用于运行预设的执行流程。可见,预设项和预设的执行器,相当于预先建立的测试任务代码的模板,加载测试数据便能够得到指示测试任务的测试对象模型,加载执行器便能够执行测试对象模型所指示的测试任务。因此,仅需测试数据和测试请求,无需针对测试数据再输入代码,避免测试人员进行代码编写。并且,因为预设项和执行器相当于模板,所以针对不同的测试数据可以复用,对于不同的测试数据,无需重新编写代码,任务测试效率明显得到提高。
如图4所示,为本申请实施例提供的一种任务测试装置的架构示意图,包括:
加载单元100,用于将测试数据作为对应的预设项的数值,得到测试对象模型,预设项包括测试任务的信息和测试用例的信息,测试对象模型指示测试任务的信息,测试任务的信息包括测试任务、测试任务下的测试用例的信息和测试用例之间的执行顺序。
其中,加载单元100将测试数据作为对应的预设项的数值,得到测试对象模型的具体实现过程包括:获取预设项和测试数据文件;依据预设的对应关系,使用与测试数据文件的类型对应的加载转化接口,将测试数据文件中的测试数据作为对应的预设项的数值,得到测试对象模型。
预设项包括:测试元素的标识项、测试元素的输入参数的标识项、测试元素的输出参数的标识项、测试用例的标识项、测试任务结束的标识项、测试项目的标识项、测试环境的标识项和测试任务的标识项。其中,测试元素指示测试任务的待测对象,测试项目指示测试任务所属的项目,测试环境指示测试用例的测试环境。
执行单元200,用于响应于测试请求和任务执行属性,采用预设的执行器,执行测试任务,预设的执行器用于运行预设的执行流程。
其中,预设的执行器包括:测试任务执行器、测试用例集合执行器和测试用例执行器。测试任务执行器用于运行预设的第一执行流程。测试用例集合执行器用于运行预设的第二执行流程,测试用例集合为具有执行顺序的测试用例构成的集合。测试用例执行器用于运行预设的第三执行流程。
测试任务执行器的预设的第一执行流程包括:执行第一节点拦截器链,加载测试用例集合执行器。测试用例集合执行器的预设的第二执行流程包括:执行第二节点拦截器链,加载测试用例执行器。测试用例执行器的预设的第三执行流程包括:执行第三节点拦截器链。其中,第一节点拦截器链、第二节点拦截器链和第三节点拦截器链,均为具有执行顺序的节点拦截器的集合,节点拦截器用于将预设项加载至预设的模板逻辑,并执行加载后的预设的模板逻辑。
配置单元300,用于获取任务执行属性,任务执行属性用于指示测试任务并行和/或串行属性。
监听单元400,用于监听以下至少一个步骤:将测试数据作为对应的预设项的数值,得到测试对象模型;至少响应于测试请求,采用预设的执行器,执行测试任务;获取任务执行属性。监听单元400还用于根据监听结果生成日志文件。
修改单元500,用于使用预设的格式修改指令,修改测试数据,预设的格式修改指令包括预设的格式修改标识、待修改的数值和修改后的数值。
在本申请实施例中,将测试数据作为对应的预设项的数值,得到测试对象模型;获取任务执行属性,并响应于测试请求和任务执行属性,采用预设的执行器,执行测试任务。其中,预设项包括测试任务的信息和测试用例的信息,测试对象模型指示测试任务的信息,测试任务的信息包括测试任务、测试任务下的测试用例的信息和测试用例之间的执行顺序,预设的执行器用于运行预设的执行流程。监听上述执行过程,并根据监听结果生成日志文件。可见,预设项和预设的执行器,相当于预先建立的测试任务代码的模板,加载测试数据便能够得到指示测试任务的测试对象模型,加载执行器便能够执行测试对象模型所指示的测试任务。因此,仅需测试数据、任务执行属性信息和测试请求,无需针对测试数据再输入代码,避免测试人员进行代码编写。并且,因为预设项和执行器相当于模板,所以针对不同的测试数据可以复用,对于不同的测试数据,无需重新编写代码,任务测试效率明显得到提高。
本申请还提供了一种计算机存储介质,计算机存储介质包括存储的程序,其中,程序执行上述本申请提供的任务测试方法。
本申请还提供了一种电子设备,包括:处理器、存储器和总线。处理器与存储器通过总线连接,存储器用于存储程序,处理器用于运行程序,其中,程序运行时执行上述本申请提供的任务测试方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种任务测试方法,其特征在于,包括:
将测试数据作为对应的预设项的数值,得到测试对象模型,所述预设项包括测试任务的信息和测试用例的信息,所述测试对象模型指示测试任务的信息,所述测试任务的信息包括所述测试任务、所述测试任务下的测试用例的信息和所述测试用例之间的执行顺序;
至少响应于测试请求,采用预设的执行器,执行所述测试任务,所述预设的执行器用于运行预设的执行流程。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取任务执行属性,所述任务执行属性用于指示所述测试任务并行和/或串行属性;
所述至少响应于测试请求,采用预设的执行器,执行所述测试任务,包括:
响应于测试请求和所述任务执行属性,采用预设的执行器,执行所述测试任务。
3.根据权利要求2所述的方法,其特征在于,还包括:
监听以下至少一个步骤:所述将测试数据作为对应的预设项的数值,得到测试对象模型;所述至少响应于测试请求,采用预设的执行器,执行所述测试任务;所述获取任务执行属性;
根据监听结果生成日志文件。
4.根据权利要求1所述的方法,其特征在于,所述将测试数据作为对应的预设项的数值,得到测试对象模型,包括:
获取所述预设项和测试数据文件;
依据预设的对应关系,使用与所述测试数据文件的类型对应的加载转化接口,将所述测试数据文件中的测试数据作为对应的预设项的数值,得到所述测试对象模型。
5.根据权利要求1或4所述的方法,其特征在于,还包括:
使用预设的格式修改指令,修改所述测试数据,所述预设的格式修改指令包括预设的格式修改标识、待修改的数值和修改后的数值。
6.根据权利要求1所述的方法,其特征在于,所述执行器包括:
测试任务执行器、测试用例集合执行器和测试用例执行器;
所述测试任务执行器用于运行预设的第一执行流程;
所述测试用例集合执行器用于运行预设的第二执行流程,测试用例集合为具有执行顺序的测试用例构成的集合;
所述测试用例执行器用于运行预设的第三执行流程。
7.根据权利要求6所述的方法,其特征在于,所述预设项包括:
测试元素的标识项、所述测试元素的输入参数的标识项、所述测试元素的输出参数的标识项、所述测试用例的标识项、所述测试任务结束的标识项、测试项目的标识项、测试环境的标识项和所述测试任务的标识项;其中,所述测试元素指示所述测试任务的待测对象,所述测试项目指示所述测试任务所属的项目,所述测试环境指示所述测试用例的测试环境;
所述测试任务执行器的所述预设的第一执行流程包括:
执行第一节点拦截器链,加载所述测试用例集合执行器;
所述测试用例集合执行器的所述预设的第二执行流程包括:
执行第二节点拦截器链,加载所述测试用例执行器;
所述测试用例执行器的所述预设的第三执行流程包括:
执行第三节点拦截器链;
其中,所述第一节点拦截器链、所述第二节点拦截器链和所述第三节点拦截器链,均为具有执行顺序的节点拦截器的集合,所述节点拦截器用于将所述预设项加载至预设的模板逻辑,并执行加载后的所述预设的模板逻辑。
8.一种任务测试装置,其特征在于,包括:
加载单元,用于将测试数据作为对应的预设项的数值,得到测试对象模型,所述预设项包括测试任务的信息和测试用例的信息,所述测试对象模型指示测试任务的信息,所述测试任务的信息包括所述测试任务、所述测试任务下的测试用例的信息和所述测试用例之间的执行顺序;
执行单元,用于至少响应于测试请求,采用预设的执行器,执行所述测试任务,所述预设的执行器用于运行预设的执行流程。
9.一种计算机存储介质,其特征在于,所述计算机存储介质包括存储的程序,其中,所述程序执行权利要求1-7任意一项所述的任务测试方法。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-7任意一项所述的任务测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010200702.XA CN111324546A (zh) | 2020-03-20 | 2020-03-20 | 一种任务测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010200702.XA CN111324546A (zh) | 2020-03-20 | 2020-03-20 | 一种任务测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111324546A true CN111324546A (zh) | 2020-06-23 |
Family
ID=71167582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010200702.XA Pending CN111324546A (zh) | 2020-03-20 | 2020-03-20 | 一种任务测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324546A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609352A (zh) * | 2011-01-19 | 2012-07-25 | 阿里巴巴集团控股有限公司 | 一种并行测试方法及并行测试服务器 |
US20160342501A1 (en) * | 2015-05-18 | 2016-11-24 | Hcl Technologies Limited | Accelerating Automated Testing |
CN107015903A (zh) * | 2016-01-27 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种界面测试程序的生成方法、装置及电子设备 |
CN107368408A (zh) * | 2017-05-31 | 2017-11-21 | 中国船舶工业综合技术经济研究院 | 一种面向接口的软件故障注入自动化测试方法 |
CN109408393A (zh) * | 2018-11-07 | 2019-03-01 | 深圳市腾讯网络信息技术有限公司 | 应用测试方法、装置及设备和计算机可读存储介质 |
CN109446068A (zh) * | 2018-09-26 | 2019-03-08 | 平安健康保险股份有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN109471796A (zh) * | 2018-10-16 | 2019-03-15 | 平安证券股份有限公司 | 接口测试方法、装置、计算机设备及存储介质 |
CN109766280A (zh) * | 2019-01-16 | 2019-05-17 | 广东飞企互联科技股份有限公司 | 软件测试方法及软件测试平台 |
CN109885476A (zh) * | 2018-12-14 | 2019-06-14 | 平安万家医疗投资管理有限责任公司 | 自动化测试方法及装置、终端和计算机可读存储介质 |
CN110232024A (zh) * | 2019-05-26 | 2019-09-13 | 必成汇(成都)科技有限公司 | 软件自动化测试框架及测试方法 |
CN110309071A (zh) * | 2019-06-27 | 2019-10-08 | 杭州数梦工场科技有限公司 | 测试代码的生成方法及模块、测试方法及系统 |
CN110795334A (zh) * | 2019-09-09 | 2020-02-14 | 连连银通电子支付有限公司 | 一种测试装置和方法 |
-
2020
- 2020-03-20 CN CN202010200702.XA patent/CN111324546A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609352A (zh) * | 2011-01-19 | 2012-07-25 | 阿里巴巴集团控股有限公司 | 一种并行测试方法及并行测试服务器 |
US20160342501A1 (en) * | 2015-05-18 | 2016-11-24 | Hcl Technologies Limited | Accelerating Automated Testing |
CN107015903A (zh) * | 2016-01-27 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种界面测试程序的生成方法、装置及电子设备 |
CN107368408A (zh) * | 2017-05-31 | 2017-11-21 | 中国船舶工业综合技术经济研究院 | 一种面向接口的软件故障注入自动化测试方法 |
CN109446068A (zh) * | 2018-09-26 | 2019-03-08 | 平安健康保险股份有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN109471796A (zh) * | 2018-10-16 | 2019-03-15 | 平安证券股份有限公司 | 接口测试方法、装置、计算机设备及存储介质 |
CN109408393A (zh) * | 2018-11-07 | 2019-03-01 | 深圳市腾讯网络信息技术有限公司 | 应用测试方法、装置及设备和计算机可读存储介质 |
CN109885476A (zh) * | 2018-12-14 | 2019-06-14 | 平安万家医疗投资管理有限责任公司 | 自动化测试方法及装置、终端和计算机可读存储介质 |
CN109766280A (zh) * | 2019-01-16 | 2019-05-17 | 广东飞企互联科技股份有限公司 | 软件测试方法及软件测试平台 |
CN110232024A (zh) * | 2019-05-26 | 2019-09-13 | 必成汇(成都)科技有限公司 | 软件自动化测试框架及测试方法 |
CN110309071A (zh) * | 2019-06-27 | 2019-10-08 | 杭州数梦工场科技有限公司 | 测试代码的生成方法及模块、测试方法及系统 |
CN110795334A (zh) * | 2019-09-09 | 2020-02-14 | 连连银通电子支付有限公司 | 一种测试装置和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446190B (zh) | 接口测试方法及装置 | |
US8756460B2 (en) | Test selection based on an N-wise combinations coverage | |
Elbaum et al. | Carving differential unit test cases from system test cases | |
US10089218B2 (en) | Methods circuits apparatuses systems and associated computer executable code for generating a software unit test | |
US20110126179A1 (en) | Method and System for Dynamic Patching Software Using Source Code | |
US10592703B1 (en) | Method and system for processing verification tests for testing a design under test | |
CN110543427B (zh) | 测试用例存储方法、装置、电子设备及存储介质 | |
US9396097B2 (en) | Methods, circuits, devices, systems and associated computer executable code for testing software code | |
CN103186463B (zh) | 确定软件的测试范围的方法和系统 | |
Tiwari et al. | Reuse: reducing test effort | |
Derakhshanfar et al. | Botsing, a search-based crash reproduction framework for java | |
Wahler et al. | CAST: Automating software tests for embedded systems | |
CN110928777B (zh) | 测试用例的处理方法、装置、设备及存储介质 | |
Wiederseiner et al. | An open-source tool for automated generation of black-box xunit test code and its industrial evaluation | |
Vogel-Heuser et al. | Key maturity indicators for module libraries for PLC-based control software in the domain of automated Production Systems | |
Lipka et al. | A method for semi-automated generation of test scenarios based on use cases | |
WO2016190869A1 (en) | Determining potential test actions | |
CN111324546A (zh) | 一种任务测试方法及装置 | |
Ulewicz et al. | System regression test prioritization in factory automation: Relating functional system tests to the tested code using field data | |
US20190121624A1 (en) | Distributed agent to collect input and output data along with source code for scientific kernels of single-process and distributed systems | |
Salmon et al. | Scheduling real-time systems with periodic tasks using a model-checking approach | |
Salva et al. | Autofunk, a fast and scalable framework for building formal models from production systems | |
Potuzak et al. | Interface-based semi-automated testing of software components | |
US20220207438A1 (en) | Automatic creation and execution of a test harness for workflows | |
CN110795142A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200623 |
|
RJ01 | Rejection of invention patent application after publication |