CN110399284A - 一种测试用例编写与执行方法及装置 - Google Patents
一种测试用例编写与执行方法及装置 Download PDFInfo
- Publication number
- CN110399284A CN110399284A CN201810371466.0A CN201810371466A CN110399284A CN 110399284 A CN110399284 A CN 110399284A CN 201810371466 A CN201810371466 A CN 201810371466A CN 110399284 A CN110399284 A CN 110399284A
- Authority
- CN
- China
- Prior art keywords
- test case
- biography value
- test
- case step
- biography
- 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 360
- 238000000034 method Methods 0.000 title claims abstract description 98
- 241000208340 Araliaceae Species 0.000 claims abstract description 37
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims abstract description 37
- 235000003140 Panax quinquefolius Nutrition 0.000 claims abstract description 37
- 235000008434 ginseng Nutrition 0.000 claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 230000032258 transport Effects 0.000 claims 2
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012956 testing procedure Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 239000007787 solid Substances 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
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种测试用例编写与执行方法及装置,用以解决现有的测试用例编写方法复用性低以及手动传值效率及准确度低的问题。所述测试用例编写方法包括:根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,所述测试用例集合中还包含有测试用例步骤之间的传值关系;根据选取的测试用例步骤、所述测试用例步骤之间的传值关系以及所述选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及一种测试用例编写与执行方法及装置。
背景技术
接口自动化测试方案一般考虑四个方面:需要测试的数据以及相应的请求;需要发送请求,把请求发送到被测试接口服务中;对返回的结果进行校验;对本次测试结果进行统计。
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例是将软件测试的行为活动做一个科学化的组织归纳,目的是能够将软件测试的行为转化成可管理的模式。
现有技术中,根据软件的类别不同编写测试用例,不同的测试用例的复用性低,且测试用例步骤的执行结果的传递为手动传值,其效率及准确度低。
发明内容
为了解决现有的测试用例编写方法复用性低以及手动传值效率及准确度低的问题,本发明实施例提供了一种测试用例编写与执行方法及装置。
第一方面,本发明实施例提供了一种测试用例编写方法,包括:
根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,所述测试用例集合中还包含有测试用例步骤之间的传值关系;
根据选取的测试用例步骤、所述测试用例步骤之间的传值关系以及所述选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例。
采用本发明实施例提供的测试用例编写方法,根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,测试用例集合中还包含有测试用例步骤之间的传值关系,根据选取的测试用例步骤、测试用例步骤之间的传值关系以及选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例,上述流程中,可以根据不同的业务类型预先编写测试用例步骤,生成测试用例步骤集合并存储,且预先设置测试用例步骤之间的传值关系,用户可以根据业务需要从测试用例步骤集合中选取需要的步骤,并结合测试用例步骤之间的传值关系以及选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序组成相应的测试用例,使得执行测试用例时,可以根据预设的传值关系自动进行传值,而无需手工设置传值关系,有效地提高了测试效率及准确率,并且,简化了测试用例编写的过程。
较佳地,所述测试用例步骤集合中的每一测试用例步骤至少包括业务逻辑信息、被测***的环境地址信息以及所述测试用例步骤所属的项目模块信息。
在进行测试用例步骤封装时,至少需要包含以下信息:步骤需要包含的主要的业务逻辑、业务逻辑需要的参数、步骤所属的项目模块信息和被测***的环境地址信息,使得用户在编写用例时,只需根据项目模块和步骤描述进行步骤的选择,组织形成业务逻辑,给出需要填写的入参、设置期望值就可以完成一条测试用例的编写,在线调试成功后,进行保存,有效提高了用例编写的效率。
较佳地,所述传值关系通过以下公式获得:
TR=(inP,TList,SList)
其中,TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
第二方面,本发明实施例提供了一种测试用例编写装置,包括:
选取单元,用于根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,所述测试用例集合中还包含有测试用例步骤之间的传值关系;
生成单元,用于根据选取的测试用例步骤、所述测试用例步骤之间的传值关系以及所述选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例。
较佳地,所述测试用例步骤集合中的每一测试用例步骤至少包括业务逻辑信息、被测***的环境地址信息以及所述测试用例步骤所属的项目模块信息。
较佳地,所述传值关系通过以下公式获得:
TR=(inP,TList,SList)
其中,TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
本发明第二方面提供的测试用例编写装置,其技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第三方面,本发明实施例提供了一种测试用例执行方法,所述测试用例为利用本发明实施例提供的测试用例编写方法编写的测试用例,包括:
遍历测试用例的步骤执行任务列表中的测试用例步骤;
当确定所述步骤执行任务列表中有未执行的测试用例步骤时,获取一个未执行的测试用例步骤并执行,得到执行结果;
判断所述执行结果是否和所述测试用例步骤的期望值一致;
如果是,则当确定需要执行传值时,根据测试用例步骤之间的传值关系进行传值;
如果否,继续执行所述步骤执行任务列表中未执行的下一测试用例步骤。
采用本发明实施例提供的测试用例执行方法,遍历利用本发明实施例提供的测试用例编写方法生成的测试用例的步骤执行任务列表中的测试用例步骤,判断步骤执行任务列表中是否有未执行的测试用例步骤,如果有,则按顺序获取一个未执行的测试用例步骤并执行,得到执行结果并保存,判断该执行结果是否和该测试用例步骤的期望值一致,如果一致,则判断是否需要执行传值,如果是,则根据预先存储的测试用例步骤之间的传值关系进行传值,如果否,则不进行传值,继续执行任务列表中的下一未执行的测试用例步骤,直至步骤执行任务列表中的各测试用例步骤均执行完毕,完成该测试用例的执行过程,输出执行结果,上述流程中,当执行测试用例步骤获得执行结果后,需要执行传值操作时,可以根据预设的传值关系自动进行传值,而无需手工设置传值关系,有效地提高了测试效率及准确率。
较佳地,根据测试用例步骤之间的传值关系进行传值,具体包括:
通过以下传值算法进行传值:
Rc=Gv(sKey,TR)
TR=(inP,TList,SList)
其中,Rc表示索取者;
Gv表示值源集合;
sKey表示当前步骤的本地唯一标识;
TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
第四方面,本发明实施例提供了一种测试用例执行装置,所述测试用例为利用本发明实施例提供的测试用例编写方法编写的测试用例,包括:
遍历单元,用于遍历测试用例的步骤执行任务列表中的测试用例步骤;
执行单元,用于当确定所述步骤执行任务列表中有未执行的测试用例步骤时,获取一个未执行的测试用例步骤并执行,得到执行结果;
判断单元,用于判断所述执行结果是否和所述测试用例步骤的期望值一致;如果是,则当确定需要执行传值时,根据测试用例步骤之间的传值关系进行传值;如果否,继续执行所述步骤执行任务列表中未执行的下一测试用例步骤。
较佳地,所述判断单元,具体用于通过以下传值算法进行传值:
Rc=Gv(sKey,TR)
TR=(inP,TList,SList)
其中,Rc表示索取者;
Gv表示值源集合;
sKey表示当前步骤的本地唯一标识;
TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
本发明第四方面提供的测试用例执行装置,其技术效果可以参见上述第三方面或第三方面的各个实现方式的技术效果,此处不再赘述。
第五方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的测试用例编写方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的测试用例编写方法中的步骤。
第七方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的测试用例执行方法。
第八方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的测试用例执行方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中,测试用例编写与执行方法的应用场景示意图;
图2为本发明实施例提供的测试用例编写方法的实施流程示意图;
图3为本发明实施例提供的测试用例编写方法中,测试用例编辑界面示意图;
图4为本发明实施例提供的测试用例编写装置的结构示意图;
图5为本发明实施例提供的测试用例执行方法的实施流程示意图;
图6为本发明实施例提供的测试用例执行装置的结构示意图;
图7为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了解决现有的测试用例编写方法复用性低以及手动传值效率及准确度低的问题,本发明提出了一种测试用例编写与执行方法及装置。
本发明实施例提供的测试用例编写方法的实施原理是:本发明实施例提供的测试用例编写方法,根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,测试用例集合中还包含有测试用例步骤之间的传值关系,根据选取的测试用例步骤、测试用例步骤之间的传值关系以及选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例,上述流程中,可以根据不同的业务类型预先编写测试用例步骤,生成测试用例步骤集合并存储,且预先设置测试用例步骤之间的传值关系,用户可以根据业务需要从测试用例步骤集合中选取需要的步骤,并结合测试用例步骤之间的传值关系以及选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序组成相应的测试用例,使得执行测试用例时,可以根据预设的传值关系自动进行传值,而无需手工设置传值关系,有效地提高了测试效率及准确率,并且,简化了测试用例编写的过程。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
首先参考图1,其为本发明实施例提供的测试用例编写与执行方法的应用场景示意图。测试用例设计人员根据不同业务类型需要预先编写并封装若干测试用例步骤并存储于Step Server(步骤服务器)12中,每一测试用例步骤至少包括业务逻辑信息、被测***的环境地址信息、被测***的环境地址信息以及该测试用例步骤所述的项目模块等信息。使用时可以根据业务类型从StepServer12中存储的测试用例步骤集合中选取需要的测试用例步骤,StepServer12中还存储有预先设置的测试用例步骤之间的传值关系,根据选取的测试步骤用例步骤、测试用例步骤之间的传值关系以及选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例,并将生成的测试用例存储于DB(Database,数据库)13中,编写测试用例及将其存储至DB13中的过程由Console(控制接口/控制台)11进行控制。在执行生成的测试用例时,需要由Console11控制先从Step Server中提取选取的各步骤进行解析后再执行。
下面结合图1的应用场景,参考图2、3来描述根据本发明示例性实施方式的测试用例编写方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,其为本发明实施例提供的测试用例编写方法的实施流程示意图,可以包括以下步骤:
S21、根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,所述测试用例集合中还包含有测试用例步骤之间的传值关系。
具体实施时,测试用例设计人员根据不同业务类型需要预先编写并封装若干测试用例步骤并存储于步骤服务器中,对每一测试用例步骤进行封装时,用例步骤应至少包括业务逻辑信息、被测***的环境地址信息、被测***的环境地址信息以及该测试用例步骤所述的项目模块等信息,本发明实施例中的测试用例步骤复用性高。使用时可以根据业务类型从步骤服务器中存储的测试用例步骤集合中选取需要的测试步骤用例,其中,所述测试用例集合中还包含有测试用例步骤之间的传值关系,所述传值关系表征测试用例步骤的执行结果的传递关系。具体地,传值关系可以通过以下公式获得:
TR=(inP,TList,SList)
其中,TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
进一步地,使得在测试用例执行时,根据传值关系进行建模,即对值的给予者、索取者、传值关系和传值实施进行归纳总结,形成通用模型。
较佳地,可以根据以下传值算法进行传值:
Rc=Gv(sKey,TR)
其中,Rc表示索取者;
Gv表示值源集合;
sKey表示当前步骤的本地唯一标识。
其中,值源集合为当前步骤的执行结果,传值即为将当前步骤的执行结果传递给索取者的过程。
S22、根据选取的测试用例步骤、所述测试用例步骤之间的传值关系以及所述选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例。
具体实施时,测试用例以<key,value>(<关键字,值>)的形式进行编写,根据选取的测试用例步骤、测试用例步骤之间的传值关系以及选取的各测试步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例,其中,步骤顺序表可以根据需要将选取的测试用例步骤按照执行顺序进行排序获得。具体实施时,可以手动填写每一测试用例步骤的期望值和入参,在线调试成功后进行保存。较佳地,手动入参输入支持常量表,常量表和入参的关联只需点击调用即可完成,即手动输入的项也可以通过点击方式完成,提高了测试效率。
较佳地,测试用例生成以后,可以同时生成一个测试用例描述文件,可以包括但不限于以下信息:用例名称、用例存储路径、用例分组标识、用例描述、用例步骤、入参、期望值、传值Key、传值者即给予者、索取者等信息。以选取4个测试用例步骤生成的测试用例为例,设置步骤执行顺序为:步骤1、loginByPassword,步骤2、addRole,步骤3、queryRole,步骤4、delRole,生成步骤顺序表,并存储,生成的测试用例描述文件如表1所示:
如表1所示,用例步骤一栏中按照步骤执行顺序排列分别为:loginByPassword、addRole、queryRole、delRole。各步骤入参分别如表1中所示,例如:步骤1的入参为:{1:password:1234},{1:username:zhang},其中,1代表步骤序号。表1中,传值者为传递其执行结果的步骤,“1,1,3”即分别表示“步骤1、步骤1、步骤3”,同理,索取者为接收其它步骤执行结果的步骤,索取者一栏中的“2、3、4”分别代表“步骤2、步骤3、步骤4”。传值Key与传值者以及索取者为一一对应的关系,即传值关系如下:将步骤1中的“cookie”传递给步骤2、3、4,将步骤1中的“csrftoken”传递给步骤2、3、4,将步骤3中的“roleId”传递给步骤4。
上述用例描述文件可以通过编辑界面进行编辑获得,其对应的编辑界面如图3所示,可以通过编辑界面对入参、期望值进行编辑,还可以直接通过增加或减少测试用例步骤,对测试用例进行修改等,简化了用例编写过程。
本发明实施例提供的测试用例编写方法中,根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,测试用例集合中还包含有测试用例步骤之间的传值关系,根据选取的测试用例步骤、测试用例步骤之间的传值关系以及选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例,上述流程中,可以根据不同的业务类型预先编写测试用例步骤,生成测试用例步骤集合并存储,且预先设置测试用例步骤之间的传值关系,用户可以根据业务需要从测试用例步骤集合中选取需要的步骤,并结合测试用例步骤之间的传值关系以及选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序组成相应的测试用例,使得执行测试用例时,可以根据预设的传值关系自动进行传值,而无需手工设置传值关系,有效地提高了测试效率及准确率,并且,简化了用例编写的过程。
基于同一发明构思,本发明实施例还提供了一种测试用例编写装置,由于上述测试用例编写装置解决问题的原理与测试用例编写方法相似,因此上述***的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,其为本发明实施例提供的测试用例编写装置的结构示意图,可以包括:
选取单元31,用于根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,所述测试用例集合中还包含有测试用例步骤之间的传值关系;
生成单元32,用于根据选取的测试用例步骤、所述测试用例步骤之间的传值关系以及所述选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例。
较佳地,所述测试用例步骤集合中的每一测试用例步骤至少包括业务逻辑信息、被测***的环境地址信息以及所述测试用例步骤所属的项目模块信息。
较佳地,所述传值关系通过以下公式获得:
TR=(inP,TList,SList)
其中,TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
针对利用本发明实施例提供的上述测试用例编写方法编写的测试用例,本发明实施例还提供了一种测试用例执行方法,其中与测试用例编写方法相同的步骤的实施,可以参见上述测试用例编写方法的实施,重复之处不再赘述。
如图5所示,其为本发明实施例提供的测试用例执行方法的实施流程示意图,可以包括以下步骤:
S41、遍历测试用例的步骤执行任务列表中的测试用例步骤。
S42、判断所述步骤执行任务列表中是否有未执行的测试用例步骤,如果是,则执行步骤S43,如果否,则流程结束。
S43、获取一个未执行的测试用例步骤并执行,得到执行结果。
具体实施时,按照测试用例中各步骤的顺序获取一个未执行的测试用例步骤并执行,得到执行结果,存储执行结果。
S44、判断所述执行结果是否和所述测试用例步骤的期望值一致,如果是,则执行步骤S45,否则,返回执行步骤S42。
S45、判断是否需要传值,如果是,则执行步骤S46,否则,返回执行步骤S42。
具体实施时,判断当前步骤是否需要传值,如果是,则执行步骤S46,否则,返回执行步骤S42,继续获取并执行步骤执行任务列表中的下一个未执行的测试用例步骤。
S46、根据测试用例步骤之间的传值关系进行传值。
较佳地,可以通过以下传值算法进行传值:
Rc=Gv(sKey,TR)
TR=(inP,TList,SList)
其中,Rc表示索取者;
Gv表示值源集合;
sKey表示当前步骤的本地唯一标识;
TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
具体实施过程可以参见步骤S22中的实例,此处不再赘述。
进一步地,传值完毕后,返回执行步骤S42,继续获取并执行步骤执行任务列表中的下一个未执行的测试用例步骤,直至步骤执行任务列表中的所有任务均执行完毕,输出执行结果,至此,测试用例执行过程结束。
本发明实施例提供的测试用例执行方法,遍历利用本发明实施例提供的测试用例编写方法生成的测试用例的步骤执行任务列表中的测试用例步骤,判断步骤执行任务列表中是否有未执行的测试用例步骤,如果有,则按顺序获取一个未执行的测试用例步骤并执行,得到执行结果并保存,判断该执行结果是否和该测试用例步骤的期望值一致,如果一致,则判断是否需要执行传值,如果是,则根据预先存储的测试用例步骤之间的传值关系进行传值,如果否,则不进行传值,继续执行任务列表中的下一未执行的测试用例步骤,直至步骤执行任务列表中的各测试用例步骤均执行完毕,完成该测试用例的执行过程,输出执行结果,上述流程中,当执行测试用例步骤获得执行结果后,需要执行传值操作时,可以根据预设的传值关系自动进行传值,而无需手工设置传值关系,有效地提高了测试效率及准确率。
基于同一发明构思,本发明实施例还提供了一种测试用例执行装置,由于上述测试用例执行装置解决问题的原理与测试用例执行方法相似,因此上述***的实施可以参见方法的实施,重复之处不再赘述。
如图6所示,其为本发明实施例提供的测试用例执行装置的结构示意图,其中,所述测试用例为利用本发明实施例提供的测试用例编写方法编写的测试用例,可以包括:
遍历单元51,用于遍历测试用例的步骤执行任务列表中的测试用例步骤;
执行单元52,用于当确定所述步骤执行任务列表中有未执行的测试用例步骤时,获取一个未执行的测试用例步骤并执行,得到执行结果;
判断单元53,用于判断所述执行结果是否和所述测试用例步骤的期望值一致;如果是,则当确定需要执行传值时,根据测试用例步骤之间的传值关系进行传值;如果否,继续执行所述步骤执行任务列表中未执行的下一测试用例步骤。
较佳地,所述判断单元,具体用于通过以下传值算法进行传值:
Rc=Gv(sKey,TR)
TR=(inP,TList,SList)
其中,Rc表示索取者;
Gv表示值源集合;
sKey表示当前步骤的本地唯一标识;
TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
基于同一技术构思,本发明实施例还提供了一种电子设备600,参照图7所示,电子设备600用于实施上述方法实施例记载的测试用例编写方法,该实施例的电子设备600可以包括:存储器601、处理器602以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如测试用例编写程序。所述处理器执行所述计算机程序时实现上述各个测试用例编写方法实施例中的步骤,例如图2所示的步骤S21。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如31。
本发明实施例中不限定上述存储器601、处理器602之间的具体连接介质。本申请实施例在图7中以存储器601、处理器602之间通过总线603连接,总线603在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器601也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器601是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器601可以是上述存储器的组合。
处理器602,用于实现如图2所示的一种测试用例编写方法,包括:
所述处理器602,用于调用所述存储器601中存储的计算机程序执行如图4中所示的步骤S21、根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,所述测试用例集合中还包含有测试用例步骤之间的传值关系,和步骤S22、根据选取的测试用例步骤、所述测试用例步骤之间的传值关系以及所述选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本发明提供的测试用例编写方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的测试用例编写方法中的步骤,例如,所述电子设备可以执行如图2中所示的步骤S21、根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,所述测试用例集合中还包含有测试用例步骤之间的传值关系,和步骤S22、根据选取的测试用例步骤、所述测试用例步骤之间的传值关系以及所述选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式的用于测试用例编写的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明实施例所述的测试用例执行方法。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所述的测试用例执行方法中的步骤。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种测试用例编写方法,其特征在于,包括:
根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,所述测试用例集合中还包含有测试用例步骤之间的传值关系;
根据选取的测试用例步骤、所述测试用例步骤之间的传值关系以及所述选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例。
2.如权利要求1所述的方法,其特征在于,所述测试用例步骤集合中的每一测试用例步骤至少包括业务逻辑信息、被测***的环境地址信息以及所述测试用例步骤所属的项目模块信息。
3.如权利要求1所述的方法,其特征在于,所述传值关系通过以下公式获得:
TR=(inP,TList,SList)
其中,TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
4.一种测试用例执行方法,所述测试用例为利用如权利要求1~3任一项所述的方法编写的测试用例,其特征在于,包括:
遍历测试用例的步骤执行任务列表中的测试用例步骤;
当确定所述步骤执行任务列表中有未执行的测试用例步骤时,获取一个未执行的测试用例步骤并执行,得到执行结果;
判断所述执行结果是否和所述测试用例步骤的期望值一致;
如果是,则当确定需要执行传值时,根据测试用例步骤之间的传值关系进行传值;
如果否,继续执行所述步骤执行任务列表中未执行的下一测试用例步骤。
5.如权利要求4所述的方法,其特征在于,根据测试用例步骤之间的传值关系进行传值,具体包括:
通过以下传值算法进行传值:
Rc=Gv(sKey,TR)
TR=(inP,TList,SList)
其中,Rc表示索取者;
Gv表示值源集合;
sKey表示当前步骤的本地唯一标识;
TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
6.一种测试用例编写装置,其特征在于,包括:
选取单元,用于根据业务类型从预先存储的测试用例步骤集合中选取需要的测试用例步骤,其中,所述测试用例集合中还包含有测试用例步骤之间的传值关系;
生成单元,用于根据选取的测试用例步骤、所述测试用例步骤之间的传值关系以及所述选取的各测试用例步骤的期望值和入参按照预设的步骤顺序表中的测试用例步骤执行顺序生成测试用例。
7.如权利要求6所述的装置,其特征在于,所述测试用例步骤集合中的每一测试用例步骤至少包括业务逻辑信息、被测***的环境地址信息以及所述测试用例步骤所属的项目模块信息。
8.如权利要求6所述的装置,其特征在于,所述传值关系通过以下公式获得:
TR=(inP,TList,SList)
其中,TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
9.一种测试用例执行装置,所述测试用例为利用如权利要求1~3任一项所述的方法编写的测试用例,其特征在于,包括:
遍历单元,用于遍历测试用例的步骤执行任务列表中的测试用例步骤;
执行单元,用于当确定所述步骤执行任务列表中有未执行的测试用例步骤时,获取一个未执行的测试用例步骤并执行,得到执行结果;
判断单元,用于判断所述执行结果是否和所述测试用例步骤的期望值一致;如果是,则当确定需要执行传值时,根据测试用例步骤之间的传值关系进行传值;如果否,继续执行所述步骤执行任务列表中未执行的下一测试用例步骤。
10.如权利要求9所述的装置,其特征在于,
所述判断单元,具体用于通过以下传值算法进行传值:
Rc=Gv(sKey,TR)
TR=(inP,TList,SList)
其中,Rc表示索取者;
Gv表示值源集合;
sKey表示当前步骤的本地唯一标识;
TR表示传值关系,inP表示入参分类,TList表示传值表,SList表示步骤顺序表。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~3任一项所述的测试用例编写方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~3任一项所述的测试用例编写方法中的步骤。
13.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求4或5所述的测试用例执行方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求4或5所述的测试用例执行方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810371466.0A CN110399284A (zh) | 2018-04-24 | 2018-04-24 | 一种测试用例编写与执行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810371466.0A CN110399284A (zh) | 2018-04-24 | 2018-04-24 | 一种测试用例编写与执行方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110399284A true CN110399284A (zh) | 2019-11-01 |
Family
ID=68320222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810371466.0A Pending CN110399284A (zh) | 2018-04-24 | 2018-04-24 | 一种测试用例编写与执行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399284A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459824A (zh) * | 2020-04-01 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 并发服务的测试用例处理方法及装置 |
CN113360406A (zh) * | 2021-07-01 | 2021-09-07 | 上海哔哩哔哩科技有限公司 | 应用程序的JSBridge方法的测试方法及装置 |
CN113704103A (zh) * | 2021-08-24 | 2021-11-26 | 网易(杭州)网络有限公司 | 测试用例推荐方法、装置、介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060179386A1 (en) * | 2005-02-04 | 2006-08-10 | Microsoft Corporation | Metadata-Facilitated software testing |
US20070079280A1 (en) * | 2005-08-30 | 2007-04-05 | Motorola, Inc. | Method and apparatus for generating pairwise combinatorial tests from a graphic representation |
US20110231708A1 (en) * | 2010-03-18 | 2011-09-22 | Salesforce.Com, Inc. | System, method and computer program product for automated test case generation and scheduling |
CN107704392A (zh) * | 2017-09-30 | 2018-02-16 | 华为技术有限公司 | 一种测试用例的处理方法及服务器 |
CN107729243A (zh) * | 2017-10-12 | 2018-02-23 | 上海携程金融信息服务有限公司 | 应用编程接口自动化测试方法、***、设备及存储介质 |
-
2018
- 2018-04-24 CN CN201810371466.0A patent/CN110399284A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060179386A1 (en) * | 2005-02-04 | 2006-08-10 | Microsoft Corporation | Metadata-Facilitated software testing |
US20070079280A1 (en) * | 2005-08-30 | 2007-04-05 | Motorola, Inc. | Method and apparatus for generating pairwise combinatorial tests from a graphic representation |
US20110231708A1 (en) * | 2010-03-18 | 2011-09-22 | Salesforce.Com, Inc. | System, method and computer program product for automated test case generation and scheduling |
CN107704392A (zh) * | 2017-09-30 | 2018-02-16 | 华为技术有限公司 | 一种测试用例的处理方法及服务器 |
CN107729243A (zh) * | 2017-10-12 | 2018-02-23 | 上海携程金融信息服务有限公司 | 应用编程接口自动化测试方法、***、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李庆义: "软件测试技术", 中国铁道出版社, pages: 210 - 217 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459824A (zh) * | 2020-04-01 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 并发服务的测试用例处理方法及装置 |
CN111459824B (zh) * | 2020-04-01 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 并发服务的测试用例处理方法及装置 |
CN113360406A (zh) * | 2021-07-01 | 2021-09-07 | 上海哔哩哔哩科技有限公司 | 应用程序的JSBridge方法的测试方法及装置 |
CN113360406B (zh) * | 2021-07-01 | 2022-08-02 | 上海哔哩哔哩科技有限公司 | 应用程序的JSBridge方法的测试方法及装置 |
CN113704103A (zh) * | 2021-08-24 | 2021-11-26 | 网易(杭州)网络有限公司 | 测试用例推荐方法、装置、介质及电子设备 |
CN113704103B (zh) * | 2021-08-24 | 2023-08-04 | 网易(杭州)网络有限公司 | 测试用例推荐方法、装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9916230B1 (en) | White box testing | |
JP2017097862A (ja) | セーフティクリティカルソフトウェア自動要求ベーステストケース生成のためのシステムおよび方法 | |
CN109960653A (zh) | 回归测试方法、装置、设备和存储介质 | |
CN105279090A (zh) | 应用于金融领域的测试脚本生成方法和装置 | |
CN104699601A (zh) | 用于执行状态机驱动的注入的方法和*** | |
US9582403B2 (en) | Testing of combined code changesets in a software product | |
CN110399284A (zh) | 一种测试用例编写与执行方法及装置 | |
CN108763091A (zh) | 用于回归测试的方法、装置及*** | |
US20060101383A1 (en) | Bi-directional product development process simulation | |
EP1548581A2 (en) | Methods, apparatus and programs for system development | |
CN108595336A (zh) | 一种基于以太网的计算机软件测试*** | |
Tahvili et al. | Functional dependency detection for integration test cases | |
CN103218297B (zh) | 测试数据的筛选方法及装置 | |
Panigrahi et al. | An approach to prioritize the regression test cases of object-oriented programs | |
CN110490132A (zh) | 数据处理方法和装置 | |
CN109947642A (zh) | 基于案例分类的自动化分层测试方法、装置及*** | |
US20170220449A1 (en) | Infrastructure rule generation | |
KR20150128711A (ko) | 컴퓨터 시스템 활동의 트레이스 타임라인을 분석하기 위한 방법 및 시스템 | |
US10585779B2 (en) | Systems and methods of requirements chaining and applications thereof | |
US11681511B2 (en) | Systems and methods for building and deploying machine learning applications | |
EP2820547B1 (en) | Debugging method and computer program product | |
CN105045698A (zh) | 使用python的matplotlib分析芯片验证进度的方法 | |
US10733345B1 (en) | Method and system for generating a validation test | |
Schwarz et al. | Towards an integrated sustainability evaluation of energy scenarios with automated information exchange | |
Weiß et al. | Towards establishing formal verification and inductive code synthesis in the PLC domain |
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: 20191101 |
|
RJ01 | Rejection of invention patent application after publication |