CN109992508A - 测试用例自动化生成方法、装置和电子设备 - Google Patents
测试用例自动化生成方法、装置和电子设备 Download PDFInfo
- Publication number
- CN109992508A CN109992508A CN201910222872.5A CN201910222872A CN109992508A CN 109992508 A CN109992508 A CN 109992508A CN 201910222872 A CN201910222872 A CN 201910222872A CN 109992508 A CN109992508 A CN 109992508A
- Authority
- CN
- China
- Prior art keywords
- interface
- parameter name
- parameter
- test
- 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
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
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为本实施例提出的用于执行自动化执行方法的电子设备的结构示意图。
具体实施方式
为使本申请的结构和优点更加清楚,下面将结合附图对本申请的结构作进一步地描述。
实施例一
为了解决现有技术中测试人员在编写测试用例时,需要进行大量手工数据填写的弊端,本实施例提出了测试用例自动化生成方法,将测试用例的编写简化为接口选取以及参数值自动填写两个部分,从而节省测试用例编写过程中数据填写的时间和精力。
本实施例提供了测试用例自动化生成方法,如图1所示具体包括:
11、接收测试需求;
12、在已有的接口列表中选取与测试需求对应的接口,根据预设的接口与参数名的对应关系生成与已选接口一一对应的接口用例模板;
13、在接口用例模板中对每个参数名进行参数值填写,得到填写完成后的测试用例。
在实施中,本实施例提出的测试用例自动化生成方法,包括接口选取和参数值自动填充两个部分,在接口选取过程中以复选框勾选的方式确定需要测试的接口,在接口用例模板中以数据库调用语句的方式实现测试用例中参数值的自动选取,继而基于上述两步完成测试用例的自动化生成步骤。
具体的,在进行接口选取前,需要对测试过程中常用的接口进行整理,得到已有的接口列表,在接口列表中,每个接口按名称依次排列,且在每个接口名称前设置复选框。
基于上述设置,步骤12的具体内容为:
121、根据测试需求在已有的接口列表中选取与测试需求相关的接口;
122、确定接口的参数名信息,将得到的参数名信息进行存储;
123、根据接口以及已存储的参数名信息构建与接口一一对应的接口用例模板。
在实施中,为了缩短接口选取时间,在确定已有的接口列表后,测试人员可以直接根据当前的测试需求,在接口列表中选取此次测试设计到的接口名称,并以勾选复选框的形式表示对接口的选中操作。在执行步骤121选定接口的操作后,程序会执行参数名信息的自动加载操作,以便在后续步骤中能够根据自动加载的参数名信息进行参数值的填写流程。
这里的自动加载操作即步骤122的具体内容为:
1221、加载接口基础数据,在基础数据中选取与已选取接口对应的参数名信息;
1222、将参数名信息存储至数组。
在实施中,这里所加载的接口基础数据包括针对每个接口对应的参数名信息,以及每个参数名下参数值的选取范围或选取条件。例如当接口为登录接口时,对应的参数名信息为“username:”、“password:”以及“result:”,针对username的参数值选取条件为规定长度的字符串、password的参数值选取条件为字母数字组合,result的参数值选取条件为代表成功的0或1等。其中“username:”、“password:”作为入参,“result:”作为出参。
在获取到参数名信息后,为了便于后续步骤中的参数值填写,还需要将参数名信息进行导出存储操作。较为简单的是将参数名信息存储至数组中,从而可以从数组中找到参数相关的信息,进而完成对应多个接口的参数名信息导出操作。
在参数名信息存储完成后,需要执行步骤123所示的接口用例模板组合操作,包括:
1231、对已存储的参数名信息进行遍历,确定与接口对应的参数名信息;
1232、将参数名信息与接口组合,得到与接口一一对应的接口用例模板。
在实施中,如果在步骤121中选取了多个需要测试的接口,在生成接口用例模板前还需要对已存储的参数名信息进行遍历,以便确定每个接口与参数名信息的对应关系。
例如当前需要测试的接口包括登陆接口、验证接口,就需要在已有的数组中进行遍历确定分别对应登陆接口和验证接口的参数名信息,这样才能将接口与对应的参数名信息进行组合,得到与接口一一对应的接口用例模板。在每个接口用例模板中包括一个接口名称以及与该接口对应的参数名信息,参数名信息中的参数值位置进行置空处理,以便于在后续步骤中进行参数值填写。
典型的,这里的接口用例模板为.xml格式,其中包括接口名称,入参字段,字段类型,出参字段,字段类型等信息。
在执行完前述步骤后,可以得到针对每个接口的包括具体参数名信息的接口用例模板,接下来需要在已有的接口用例模板中进行参数值填写的操作,以便得到最终可用的测试用例。
考虑到测试用例编写过程中会涉及到正例测试以及反例测试,步骤13中的内容涉及到上述两个方面的参数填写步骤,进行正例测试的具体步骤包括:
131、根据测试需求确定与每个参数名对应的正例参数值;
132、将确定的正例参数值填写至对应的参数名处,在填写完成后得到测试用例。
在实施中,根据当前测试需求确定接口中符合每个参数名选取条件的数值作为正例参数值。正例参数值为符合参数标准的参数值,与实际使用时的数值一致,能代表程序是否能够正常完成预定功能。
具体的步骤132包括:
1321、以手动填写的方式在参数名处填入正例参数值,得到测试用例;或
1322、加载接口基础数据,在基础数据中获取正例参数值的选取范围,以数据库调用语句的形式从数据库中调用符合选取范围的参数值添加至参数名处,得到测试用例。
在实施中,根据测试需求不同,参数值的具体填写方式分为手工填写和自动加载两种。顾名思义前者是在测试量较小的情况下,测试人员直接以手工填写的方式将参数值填写至前文已生成的接口用例模板中,得到测试用例即可。
在其他情况下,在测试用例的编写过程中需要填写大量的参数值,为了节省测试人员在填写参数值过程中的时间和精力,这里还给出了基于数据库调用的参数值填写方式。
这里以图2为例进行说明。
在图2中的参数名包含作为入参的“产品”、“单元”、“证券代码”、“委托价格”以及“委托数量”,还包含作为出参的“错误号”、“错误信息”以及“委托金额”。
基于前述正例参数的手工填写方式,这里在图2的手工设置列中,分别填写有“测试产品一号”的产品用例、“测试单元一号”的单元用例、“600570”的证券代码、“50”的委托价格、“10000”的委托数量以及“500000”的委托金额,从而得到手工填写下的测试用例。
另外在图2中的自动随机查询sql列中,还给出了针对每个参数名的数据库调用语句,以“产品”参数名为例,对应的调用语句含义为在预设集合{1,3,5}中选取一个变量作为fundname,即指定预设集合{1,3,5}中的一个元素作为测试用例中填写的对应产品的参数值。
对应参数名“单元”填写的语句含义为从1、3、5中选出一个测试单元。
对应参数名“证券代码”填写的语句含义为从600570、600571中选取证券代码。
对应参数名“委托价格”填写语句含义为是获取当前时刻下的行情价格,并在此基础上做上下浮动5%的调整。
而对应参数名“委托数量”填写的则是基数100乘以(1,10)中随意选取一个值得到的乘积。
委托金额=委托价格*委托数量,实际委托金额并没有填写具体的金额,而是根据入参中的委托价格*委托数量来计算出委托金额的。
通过上述语句能够完成参数值在规定下的自动填写,相对于手工填写方式能够节省测试人员在编写测试用例时候的精力和时间。
值得注意的是,如果在测试需求中存在反例测试的要求,还要按如下方式进行反例测试,具体步骤包括:
133、如果测试需求中存在反例测试需求,则根据反例测试需求确定与每个参数名对应的反例参数值;
134、将确定的反例参数值填写至对应的参数名处,在填写完成后得到测试用例。
在实施中,根据当前测试需求确定接口中符合每个参数名选取条件的数值作为正例参数值。正例参数值为符合参数标准的参数值,与实际使用时的数值一致,能代表程序是否能够正常完成预定功能。
具体的步骤133包括:
1331、当测试需求中存在反例测试需求时,加载接口基础数据,确定每个参数名的字段类型;
1332、基于每个参数名的字段类型生成反例参数值。
在实施中,作为正例的反向设置验证,反例参数值的生成规则需要根据之前生成用例模板获取的字段类型数据描述来确定,包含字段类型,字典字段值域,字段长度,字段精度,基础数据等,根据这些数据描述来描述生成反例的算法,数字类为取负值的方式,字典类型为取值域边界值+1的方式,而字符串则可以是取字母类的方式。
例如:生成委托价格反向测试用例的时候,则在整理的参数基础上将委托价格调整为-50,这个时候用例的参数数据出了委托价格不正确,其它参数都是正例的标准参数。同理委托数量,委托金额都是这样的方式去生成单独的测试用例。这里的用例数量为设置N个字段生成反例则生成N个测试用例。
设置基础参数的校验,校验接口的一般性规则校验是否有控制,非空,类型,超长等都是属于基础反例设置,根据勾选的N个字段生成N个测试用例。图3为针对不同参数值在填写时可勾选的反例生成方式。
本实施例提供了测试用例自动化生成方法,包括接收测试需求,在已有的接口列表中选取与测试需求对应的接口,根据预设的接口与参数名的对应关系生成与已选接口一一对应的接口用例模板,在接口用例模板中对每个参数名进行参数值填写,得到填写完成后的测试用例。由于在生成接口用例模板的过程中基于对应关系引入对应每个接口的参数名,后期可以自由选择手动填写或者调用数据库数据的方式完成参数值填写操作,相对于现有技术需要测试人员主要逐项填写参数名完成测试用例编写的操作,借助模板填充的方式可以有效减少时间和精力的占用,从而在确保用例可用的前提下完成用例编写。
本实施例提供了测试用例自动化生成装置2,如图4所示,所述自动化生成装置包括:
测试需求接收单元21,用于接收测试需求;
接口选取单元22,用于在已有的接口列表中选取与测试需求对应的接口,根据预设的接口与参数名的对应关系生成与已选接口一一对应的接口用例模板;
参数值填写单元23,用于在接口用例模板中对每个参数名进行参数值填写,得到填写完成后的测试用例。
在实施中,本实施例提出的测试用例自动化生成方法,包括接口选取和参数值自动填充两个部分,在接口选取过程中以复选框勾选的方式确定需要测试的接口,在接口用例模板中以数据库调用语句的方式实现测试用例中参数值的自动选取,继而基于上述两步完成测试用例的自动化生成步骤。
具体的,在进行接口选取前,需要对测试过程中常用的接口进行整理,得到已有的接口列表,在接口列表中,每个接口按名称依次排列,且在每个接口名称前设置复选框。
基于上述设置,所述接口选取单元22,包括:
接口确定单元221,用于根据测试需求在已有的接口列表中选取与测试需求相关的接口;
信息存储单元222,用于确定接口的参数名信息,将得到的参数名信息进行存储;
模板构建单元223,用于根据接口以及已存储的参数名信息构建与接口一一对应的接口用例模板。
在实施中,为了缩短接口选取时间,在确定已有的接口列表后,测试人员可以直接根据当前的测试需求,在接口列表中选取此次测试设计到的接口名称,并以勾选复选框的形式表示对接口的选中操作。在执行步骤121选定接口的操作后,程序会执行参数名信息的自动加载操作,以便在后续步骤中能够根据自动加载的参数名信息进行参数值的填写流程。
这里的自动加载操作即信息存储单元222具体包括:
参数名选取子单元2221,用于加载接口基础数据,在基础数据中选取与已选取接口对应的参数名信息;
参数名存储子单元2222,用于将参数名信息存储至数组。
在实施中,这里所加载的接口基础数据包括针对每个接口对应的参数名信息,以及每个参数名下参数值的选取范围或选取条件。例如当接口为登录接口时,对应的参数名信息为“username:”、“password:”以及“result:”,针对username的参数值选取条件为规定长度的字符串、password的参数值选取条件为字母数字组合,result的参数值选取条件为代表成功的0或1等。其中“username:”、“password:”作为入参,“result:”作为出参。
在获取到参数名信息后,为了便于后续步骤中的参数值填写,还需要将参数名信息进行导出存储操作。较为简单的是将参数名信息存储至数组中,从而可以从数组中找到参数相关的信息,进而完成对应多个接口的参数名信息导出操作。
可选的,在参数名信息存储完成后,需要模板构建单元223执行接口用例模板组合操作,所述模板构建单元223,包括:
参数名信息确定子单元2231,用于对已存储的参数名信息进行遍历,确定与接口对应的参数名信息;
模板组合子单元2232,用于将参数名信息与接口组合,得到与接口一一对应的接口用例模板。
在实施中,如果在步骤121中选取了多个需要测试的接口,在生成接口用例模板前还需要对已存储的参数名信息进行遍历,以便确定每个接口与参数名信息的对应关系。
例如当前需要测试的接口包括登陆接口、验证接口,就需要在已有的数组中进行遍历确定分别对应登陆接口和验证接口的参数名信息,这样才能将接口与对应的参数名信息进行组合,得到与接口一一对应的接口用例模板。在每个接口用例模板中包括一个接口名称以及与该接口对应的参数名信息,参数名信息中的参数值位置进行置空处理,以便于在后续步骤中进行参数值填写。
典型的,这里的接口用例模板为.xml格式,其中包括接口名称,入参字段,字段类型,出参字段,字段类型等信息。
在执行完前述步骤后,可以得到针对每个接口的包括具体参数名信息的接口用例模板,接下来需要在已有的接口用例模板中进行参数值填写的操作,以便得到最终可用的测试用例。
考虑到测试用例编写过程中会涉及到正例测试以及反例测试,还需要参数值填写单元23对上述两个方面的参数填写步骤,参数值填写单元23具体包括:
正例参数确定单元231,用于根据测试需求确定与每个参数名对应的正例参数值;
正例参数值填写单元232,用于将确定的正例参数值填写至对应的参数名处,在填写完成后得到测试用例。
在实施中,根据当前测试需求确定接口中符合每个参数名选取条件的数值作为正例参数值。正例参数值为符合参数标准的参数值,与实际使用时的数值一致,能代表程序是否能够正常完成预定功能。
具体的正例参数值填写单元232包括:
手工填写第一子单元2321,用于以手动填写的方式在参数名处填入正例参数值,得到测试用例;或
数据库调用第一子单元2322,用于加载接口基础数据,在基础数据中获取正例参数值的选取范围,以数据库调用语句的形式从数据库中调用符合选取范围的参数值添加至参数名处,得到测试用例。
在实施中,根据测试需求不同,参数值的具体填写方式分为手工填写和自动加载两种。顾名思义前者是在测试量较小的情况下,测试人员直接以手工填写的方式将参数值填写至前文已生成的接口用例模板中,得到测试用例即可。
在其他情况下,在测试用例的编写过程中需要填写大量的参数值,为了节省测试人员在填写参数值过程中的时间和精力,这里还给出了基于数据库调用的参数值填写方式。
这里以图2为例进行说明。
在图2中的参数名包含作为入参的“产品”、“单元”、“证券代码”、“委托价格”以及“委托数量”,还包含作为出参的“错误号”、“错误信息”以及“委托金额”。
基于前述正例参数的手工填写方式,这里在图2的手工设置列中,分别填写有“测试产品一号”的产品用例、“测试单元一号”的单元用例、“600570”的证券代码、“50”的委托价格、“10000”的委托数量以及“500000”的委托金额,从而得到手工填写下的测试用例。
另外在图2中的自动随机查询sql列中,还给出了针对每个参数名的数据库调用语句,以“产品”参数名为例,对应的调用语句含义为在预设集合{1,3,5}中选取一个变量作为fundname,即指定预设集合{1,3,5}中的一个元素作为测试用例中填写的对应产品的参数值。
对应参数名“单元”填写的语句含义为从1、3、5中选出一个测试单元。
对应参数名“证券代码”填写的语句含义为从600570、600571中选取证券代码。
对应参数名“委托价格”填写语句含义为是获取当前时刻下的行情价格,并在此基础上做上下浮动5%的调整。
而对应参数名“委托数量”填写的则是基数100乘以(1,10)中随意选取一个值得到的乘积。
委托金额=委托价格*委托数量,实际委托金额并没有填写具体的金额,而是根据入参中的委托价格*委托数量来计算出委托金额的。
通过上述语句能够完成参数值在规定下的自动填写,相对于手工填写方式能够节省测试人员在编写测试用例时候的精力和时间。
可选的,所述反例参数确定单元,包括:
反例参数名确定子单元,用于当测试需求中存在反例测试需求时,加载接口基础数据,确定每个参数名的字段类型;
反例参数值生成子单元,用于基于每个参数名的字段类型生成反例参数值。
值得注意的是,如果在测试需求中存在反例测试的要求,还要按如下方式进行反例测试,所述参数值填写单元23,还包括:
反例参数确定单元233,用于如果测试需求中存在反例测试需求,则根据反例测试需求确定与每个参数名对应的反例参数值;
反例参数值填写单元234,用于将确定的反例参数值填写至对应的参数名处,在填写完成后得到测试用例。
在实施中,根据当前测试需求确定接口中符合每个参数名选取条件的数值作为正例参数值。正例参数值为符合参数标准的参数值,与实际使用时的数值一致,能代表程序是否能够正常完成预定功能。
反例参数确定单元233包括:
反例参数名确定子单元2331,用于当测试需求中存在反例测试需求时,加载接口基础数据,确定每个参数名的字段类型;
反例参数值生成子单元2332,用于基于每个参数名的字段类型生成反例参数值。
在实施中,作为正例的反向设置验证,反例参数值的生成规则需要根据之前生成用例模板获取的字段类型数据描述来确定,包含字段类型,字典字段值域,字段长度,字段精度,基础数据等,根据这些数据描述来描述生成反例的算法,数字类为取负值的方式,字典类型为取值域边界值+1的方式,而字符串则可以是取字母类的方式。
例如:生成委托价格反向测试用例的时候,则在整理的参数基础上将委托价格调整为-50,这个时候用例的参数数据出了委托价格不正确,其它参数都是正例的标准参数。同理委托数量,委托金额都是这样的方式去生成单独的测试用例。这里的用例数量为设置N个字段生成反例则生成N个测试用例。
设置基础参数的校验,校验接口的一般性规则校验是否有控制,非空,类型,超长等都是属于基础反例设置,根据勾选的N个字段生成N个测试用例。图3为针对不同参数值在填写时可勾选的反例生成方式。
本实施例提供了测试用例自动化生成装置,用于执行包括接收测试需求,在已有的接口列表中选取与测试需求对应的接口,根据预设的接口与参数名的对应关系生成与已选接口一一对应的接口用例模板,在接口用例模板中对每个参数名进行参数值填写,得到填写完成后的测试用例。由于在生成接口用例模板的过程中基于对应关系引入对应每个接口的参数名,后期可以自由选择手动填写或者调用数据库数据的方式完成参数值填写操作,相对于现有技术需要测试人员主要逐项填写参数名完成测试用例编写的操作,借助模板填充的方式可以有效减少时间和精力的占用,从而在确保用例可用的前提下完成用例编写。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现木公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本示例实施方式中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例中所述测试用例自动化生成方法的步骤。所述测试用例自动化生成方法的具体步骤可参考前述实施例中关于上述数据处理步骤的详细描述,此处不再赘述。所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本示例实施方式中,还提供一种电子设备,该电子设备可以包括处理器以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任一实施例中所述测试用例自动化生成方法的步骤。该生成方法的步骤可参考前述方法实施例中的详细描述,此处不再赘述。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
图5示出根据本公开示例实施方式中一种电子设备的示意图。例如,装置可以被提供为一服务器或客户端。参照图5,设备包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述方法。
装置800还可以包括一个电源组件426被配置为执行装置400的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(I/O)接口458。装置800可以操作基于存储在存储器432的操作系统,例如Windows Server TM,Mac OS XTM,Unix TM、Linux TM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本实施例旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (11)
1.测试用例自动化生成方法,其特征在于,所述自动化生成方法,包括:
接收测试需求;
在已有的接口列表中选取与测试需求对应的接口,根据预设的接口与参数名的对应关系生成与已选接口一一对应的接口用例模板;
在接口用例模板中对每个参数名进行参数值填写,得到填写完成后的测试用例。
2.根据权利要求1所述的测试用例自动化生成方法,其特征在于,所述在已有的接口列表中选取与测试需求对应的接口,根据预设的接口与参数名的对应关系生成与已选接口一一对应的接口用例模板,包括:
根据测试需求在已有的接口列表中选取与测试需求相关的接口;
确定接口的参数名信息,将得到的参数名信息进行存储;
根据接口以及已存储的参数名信息构建与接口一一对应的接口用例模板。
3.根据权利要求2所述的测试用例自动化生成方法,其特征在于,所述确定接口的参数名信息,将得到的参数名信息进行存储,包括:
加载接口基础数据,在基础数据中选取与已选取接口对应的参数名信息;
将参数名信息存储至数组。
4.根据权利要求2所述的测试用例自动化生成方法,其特征在于,所述根据接口以及已存储的参数名信息构建与接口一一对应的接口用例模板,包括:
对已存储的参数名信息进行遍历,确定与接口对应的参数名信息;
将参数名信息与接口组合,得到与接口一一对应的接口用例模板。
5.根据权利要求1所述的测试用例自动化生成方法,其特征在于,所述在接口用例模板中对每个参数名进行参数值填写,得到填写完成后的测试用例,包括:
根据测试需求确定与每个参数名对应的正例参数值;
将确定的正例参数值填写至对应的参数名处,在填写完成后得到测试用例。
6.根据权利要求5所述的测试用例自动化生成方法,其特征在于,所述将确定的正例参数值填写至对应的参数名处,在填写完成后得到测试用例,包括:
以手动填写的方式在参数名处填入正例参数值,得到测试用例;或
加载接口基础数据,在基础数据中获取正例参数值的选取范围,以数据库调用语句的形式从数据库中调用符合选取范围的参数值添加至参数名处,得到测试用例。
7.根据权利要求1所述的测试用例自动化生成方法,其特征在于,所述在接口用例模板中对每个参数名进行参数值填写,得到填写完成后的测试用例,还包括:
如果测试需求中存在反例测试需求,则根据反例测试需求确定与每个参数名对应的反例参数值;
将确定的反例参数值填写至对应的参数名处,在填写完成后得到测试用例。
8.根据权利要求7所述的测试用例自动化生成方法,其特征在于,所述如果测试需求中存在反例测试需求,则根据反例测试需求确定与每个参数名对应的反例参数值,包括:
当测试需求中存在反例测试需求时,加载接口基础数据,确定每个参数名的字段类型;
基于每个参数名的字段类型生成反例参数值。
9.测试用例自动化生成装置,其特征在于,所述自动化生成装置包括:
测试需求接收单元,用于接收测试需求;
接口选取单元,用于在已有的接口列表中选取与测试需求对应的接口,根据预设的接口与参数名的对应关系生成与已选接口一一对应的接口用例模板;
参数值填写单元,用于在接口用例模板中对每个参数名进行参数值填写,得到填写完成后的测试用例。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至8任一项所述测试用例自动化生成方法的步骤。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行根据权利要求1至8任一项所述测试用例自动化生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910222872.5A CN109992508A (zh) | 2019-03-22 | 2019-03-22 | 测试用例自动化生成方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910222872.5A CN109992508A (zh) | 2019-03-22 | 2019-03-22 | 测试用例自动化生成方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109992508A true CN109992508A (zh) | 2019-07-09 |
Family
ID=67130860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910222872.5A Pending CN109992508A (zh) | 2019-03-22 | 2019-03-22 | 测试用例自动化生成方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992508A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177007A (zh) * | 2019-12-31 | 2020-05-19 | 中国银行股份有限公司 | 一种基于测试数据自动生成bdd测试案例的方法及系统 |
CN111651358A (zh) * | 2020-06-05 | 2020-09-11 | 北京金山云网络技术有限公司 | 生成测试用例的方法、软件测试方法、装置和服务器 |
CN111752834A (zh) * | 2020-06-24 | 2020-10-09 | 京东数字科技控股有限公司 | 自动化测试方法和装置 |
CN112131127A (zh) * | 2020-09-28 | 2020-12-25 | 北京同邦卓益科技有限公司 | 接口测试方法、装置、系统及电子设备 |
CN112463586A (zh) * | 2020-10-29 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种自动化生成应用程序接口测试用例的方法及介质 |
CN112905446A (zh) * | 2020-12-29 | 2021-06-04 | 深圳前海微众银行股份有限公司 | 测试用例的生成方法、装置、设备和存储介质 |
CN112988555A (zh) * | 2019-12-13 | 2021-06-18 | 中移信息技术有限公司 | 接口测试方法、装置、设备及存储介质 |
WO2022237253A1 (zh) * | 2021-05-11 | 2022-11-17 | 华为云计算技术有限公司 | 一种测试用例生成方法、装置及设备 |
CN116627851A (zh) * | 2023-07-24 | 2023-08-22 | 恒生电子股份有限公司 | 接口测试方法以及装置 |
CN117573566A (zh) * | 2024-01-16 | 2024-02-20 | 麒麟软件有限公司 | 多系统测试用例生成方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766190A (zh) * | 2017-10-31 | 2018-03-06 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN107844421A (zh) * | 2017-10-31 | 2018-03-27 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN108399130A (zh) * | 2018-02-28 | 2018-08-14 | 平安科技(深圳)有限公司 | 自动生成测试案例的方法、装置、设备及可读存储介质 |
CN108446190A (zh) * | 2017-02-16 | 2018-08-24 | 杭州海康威视数字技术股份有限公司 | 接口测试方法及装置 |
CN108897687A (zh) * | 2018-06-29 | 2018-11-27 | 泰华智慧产业集团股份有限公司 | 一种基于数据驱动的api自动化测试方法和系统 |
CN109446068A (zh) * | 2018-09-26 | 2019-03-08 | 平安健康保险股份有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
-
2019
- 2019-03-22 CN CN201910222872.5A patent/CN109992508A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446190A (zh) * | 2017-02-16 | 2018-08-24 | 杭州海康威视数字技术股份有限公司 | 接口测试方法及装置 |
CN107766190A (zh) * | 2017-10-31 | 2018-03-06 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN107844421A (zh) * | 2017-10-31 | 2018-03-27 | 平安科技(深圳)有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
CN108399130A (zh) * | 2018-02-28 | 2018-08-14 | 平安科技(深圳)有限公司 | 自动生成测试案例的方法、装置、设备及可读存储介质 |
CN108897687A (zh) * | 2018-06-29 | 2018-11-27 | 泰华智慧产业集团股份有限公司 | 一种基于数据驱动的api自动化测试方法和系统 |
CN109446068A (zh) * | 2018-09-26 | 2019-03-08 | 平安健康保险股份有限公司 | 接口测试方法、装置、计算机设备和存储介质 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988555B (zh) * | 2019-12-13 | 2024-05-24 | 中移信息技术有限公司 | 接口测试方法、装置、设备及存储介质 |
CN112988555A (zh) * | 2019-12-13 | 2021-06-18 | 中移信息技术有限公司 | 接口测试方法、装置、设备及存储介质 |
CN111177007A (zh) * | 2019-12-31 | 2020-05-19 | 中国银行股份有限公司 | 一种基于测试数据自动生成bdd测试案例的方法及系统 |
CN111177007B (zh) * | 2019-12-31 | 2023-09-22 | 中国银行股份有限公司 | 一种基于测试数据自动生成bdd测试案例的方法及系统 |
CN111651358A (zh) * | 2020-06-05 | 2020-09-11 | 北京金山云网络技术有限公司 | 生成测试用例的方法、软件测试方法、装置和服务器 |
CN111651358B (zh) * | 2020-06-05 | 2024-04-12 | 北京金山云网络技术有限公司 | 生成测试用例的方法、软件测试方法、装置和服务器 |
CN111752834A (zh) * | 2020-06-24 | 2020-10-09 | 京东数字科技控股有限公司 | 自动化测试方法和装置 |
CN112131127A (zh) * | 2020-09-28 | 2020-12-25 | 北京同邦卓益科技有限公司 | 接口测试方法、装置、系统及电子设备 |
CN112131127B (zh) * | 2020-09-28 | 2024-04-16 | 北京同邦卓益科技有限公司 | 接口测试方法、装置、系统及电子设备 |
CN112463586A (zh) * | 2020-10-29 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种自动化生成应用程序接口测试用例的方法及介质 |
CN112463586B (zh) * | 2020-10-29 | 2022-09-20 | 苏州浪潮智能科技有限公司 | 一种自动化生成应用程序接口测试用例的方法及介质 |
CN112905446A (zh) * | 2020-12-29 | 2021-06-04 | 深圳前海微众银行股份有限公司 | 测试用例的生成方法、装置、设备和存储介质 |
CN112905446B (zh) * | 2020-12-29 | 2024-05-14 | 深圳前海微众银行股份有限公司 | 测试用例的生成方法、装置、设备和存储介质 |
WO2022237253A1 (zh) * | 2021-05-11 | 2022-11-17 | 华为云计算技术有限公司 | 一种测试用例生成方法、装置及设备 |
CN116627851B (zh) * | 2023-07-24 | 2023-10-20 | 恒生电子股份有限公司 | 接口测试方法以及装置 |
CN116627851A (zh) * | 2023-07-24 | 2023-08-22 | 恒生电子股份有限公司 | 接口测试方法以及装置 |
CN117573566B (zh) * | 2024-01-16 | 2024-04-12 | 麒麟软件有限公司 | 多系统测试用例生成方法、装置及存储介质 |
CN117573566A (zh) * | 2024-01-16 | 2024-02-20 | 麒麟软件有限公司 | 多系统测试用例生成方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992508A (zh) | 测试用例自动化生成方法、装置和电子设备 | |
CN103838672B (zh) | 一种通用报表的自动化测试方法及装置 | |
US8196113B2 (en) | Realtime creation of datasets in model based testing | |
CN110309283A (zh) | 一种智能问答的答案确定方法及装置 | |
CN111722839B (zh) | 一种代码生成方法、装置、电子设备及存储介质 | |
CN107423214A (zh) | 软件回归测试用例获取方法、装置及存储介质和电子设备 | |
CN106886406A (zh) | 开发代码或文档的生成方法和装置 | |
CN107844424A (zh) | 基于模型的测试系统及方法 | |
WO2016060547A1 (en) | Emulating manual system of filing using electronic document and electronic file | |
US8311794B2 (en) | Testing executable logic | |
CA2952093A1 (en) | Visual software modeling method based on software meta-view fore constructing software view | |
CN110309099A (zh) | 接口管理方法、装置、设备及计算机可读存储介质 | |
CN111190814B (zh) | 软件测试用例的生成方法、装置、存储介质及终端 | |
CN104471530B (zh) | 可执行软件规程生成 | |
CN109948050B (zh) | 信息处理方法和装置,存储介质和电子设备 | |
CN112541692B (zh) | 科学数据管理计划生成方法及装置 | |
CN116561003A (zh) | 测试数据生成方法、装置、计算机设备和存储介质 | |
YiFei | [Retracted] Design of Network‐Assisted Teaching of Ideological and Political Courses for College Students Based on Android System | |
CN115203300A (zh) | 一种数据验证方法及装置 | |
CN109697161A (zh) | 一种存储过程的测试方法、存储介质和数据库服务器 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
CN111090638A (zh) | 一种数据库迁移中交易功能的对比方法及装置 | |
US10089414B2 (en) | System architecture generation | |
CN113190463B (zh) | 一种代码测试方法,节点及系统 | |
Marotta et al. | Data Quality Management in Web Warehouses using BPM. |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190709 |