CN117687903A - 测试用例的生成方法及装置、存储介质、电子装置 - Google Patents
测试用例的生成方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN117687903A CN117687903A CN202311583073.3A CN202311583073A CN117687903A CN 117687903 A CN117687903 A CN 117687903A CN 202311583073 A CN202311583073 A CN 202311583073A CN 117687903 A CN117687903 A CN 117687903A
- Authority
- CN
- China
- Prior art keywords
- test
- interface
- target
- generating
- corpus
- 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 341
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 230000004048 modification Effects 0.000 abstract description 9
- 238000012986 modification Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请实施例提供了一种测试用例的生成方法及装置、存储介质及电子设备,其中,该方法包括:获取测试信息,其中,测试信息至少包括:测试语料集合,目标参数;目标参数用于指示是否生成非参数化用例;通过目标程序,根据测试信息生成第一目标文件,其中,第一目标文件为接口测试工具生成测试用例所需的文件;将第一目标文件发送至接口测试工具,以指示接口测试工具根据第一目标文件生成多个测试用例,多个测试用例中的每个测试用例与测试语料集合中的每个测试语料具有一一对应关系。采用上述技术方案,解决了利用接口测试工具的复制功能手动修改生成新用例,导致无法快速批量生成测试用例的问题。
Description
技术领域
本申请涉及计算机软件领域,具体而言,涉及一种测试用例的生成方法及装置、存储介质、电子装置。
背景技术
接口测试是指对计算机系统中不同组件之间的接口进行测试的过程。接口是两个或多个组件之间进行通信和交互的地方,可以是硬件与软件之间的接口,也可以是软件与软件之间的接口。进行接口测试是为了确保不同组件之间的数据传输和交互能够正常进行,以确保系统的功能和性能达到预期。常见的测试对象包括API接口、网络接口、数据库接口等。
目前常用的接口测试工具是Postman,具备多协议请求、用例集粒度的执行及监控、参数化的变量、对返回结果的断言等优点。其创建用例的步骤包括新建请求,设置请求类型、请求统一资源定位符(Uniform Resource Locator,简称为url)、请求头、请求体。虽然postman提供单条用例及用例集粒度的复制功能,但创建大量用例的修改工作也需要耗费不少的时间。在人工智能(Artificial Intelligence,简称为AI)领域,像自动语音识别(Automatic Speech Recognition,简称为ASR)、自然语言处理(Natural LanguageProcessing,简称为NLP)、文本到语言(Text-to-Speech,简称为TTS)等应用程序编程接口(Application Programming Interface,简称为API)请求其接口参数主要包括主控设备参数、语料等。
目前主要使用接口测试用例进行不同组件之间的接口测试,通过postman手动复制修改或者抓包工具粘贴用例的方式来写测试用例,这种方法存在写用例请求集耗时长、维护性差、复用性差的缺陷。
针对相关技术中,利用接口测试工具的复制功能手动修改生成新用例,导致无法快速批量生成测试用例的问题,目前尚未提出有效的解决方案。
因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。
发明内容
本申请实施例提供了一种测试用例的生成方法及装置、存储介质及电子装置,以至少解决利用接口测试工具的复制功能手动修改生成新用例,导致无法快速批量生成测试用例的问题。
根据本申请的一个实施例,提供了一种测试用例的生成方法,包括:获取测试信息,其中,所述测试信息至少包括:测试语料集合,目标参数;所述目标参数的参数值用于指示是否生成非参数化用例;通过目标程序,根据所述测试信息生成第一目标文件,其中,所述第一目标文件为接口测试工具生成测试用例所需的文件;将所述第一目标文件发送至接口测试工具,以指示所述接口测试工具根据所述第一目标文件生成多个测试用例,其中,所述多个测试用例中的每个测试用例与所述测试语料集合中的每个测试语料具有一一对应关系。
可选地,在所述目标参数的参数值用于指示生成非参数化用例的情况下,所述测试信息还包括测试接口的接口信息。
可选地,根据所述测试信息生成第一目标文件,包括:生成第一字段的第一字段内容,其中,所述第一字段内容包括用例集合的用例集名称,所述用例集合包括所述多个测试用例;以及根据所述测试语料集合生成第二字段的第二字段内容;根据所述第一字段内容和所述第二字段内容生成所述第一目标文件。
可选地,根据所述测试语料集合生成第二字段的第二字段内容,包括:生成所述测试语料集合中的每一条测试语料对应的第二子字段内容,得到所述测试语料集合对应的多个第二子字段内容;将所述多个第二子字段内容进行拼接,得到所述第二字段内容。
可选地,生成所述测试语料集合中的每一条测试语料对应的第二子字段内容,包括:在所述目标参数的参数值用于指示生成非参数化用例的情况下,利用所述测试接口的接口信息生成所述测试语料集合中的每一条测试语料对应的第二子字段内容;在所述目标参数的参数值用于指示生成参数化用例的情况下,利用目标变量生成所述测试语料集合中的每一条测试语料对应的第二子字段内容,其中,在所述接口测试工具根据所述第一目标文件中的第二子字段内容生成测试用例的过程中,所述第二字段内容中的所述目标变量允许被赋值。
可选地,指示所述接口测试工具根据所述第一目标文件生成多个测试用例,包括:指示所述接口测试工具在确定所述第一目标文件中携带有所述测试接口的接口信息的情况下,直接根据所述第一目标文件生成多个测试用例;指示所述接口测试工具在确定所述第一目标文件中未携带有所述测试接口的接口信息的情况下,显示提示信息,其中,所述提示信息用于提示目标对象确定待测试接口;指示所述接口测试工具在获取到待测试接口的接口信息的情况下,根据所述待测试接口的接口信息和所述第一目标文件生成多个测试用例。
可选地,所述方法还包括:调用所述接口测试工具的用例生成接口,获取第二目标文件,其中,所述接口测试工具根据所述第二目标文件生成了目标测试用例集合;解析所述第二目标文件,确定所述接口测试工具生成所述目标测试用例集合所使用的测试语料。
根据本申请的另一个实施例,提供了一种测试用例的生成装置,包括:获取模块,用于获取测试信息,其中,所述测试信息至少包括:测试语料集合,目标参数;所述目标参数的参数值用于指示是否生成非参数化用例;生成模块,用于通过目标程序,根据所述测试信息生成第一目标文件,其中,所述第一目标文件为接口测试工具生成测试用例所需的文件;发送模块,用于将所述第一目标文件发送至接口测试工具,以指示所述接口测试工具根据所述第一目标文件生成多个测试用例,其中,所述多个测试用例中的每个测试用例与所述测试语料集合中的每个测试语料具有一一对应关系。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
本申请,由于通过目标程序(例如,python脚本)根据测试信息(包含多个测试语料)生成第一目标文件,进而接口测试工具可以根据第一目标文件快速生成多个测试用例,进而解决了利用接口测试工具的复制功能手动修改生成新用例,导致无法快速批量生成测试用例的问题,进而达到了快速批量生成测试用例,提升了接口测试的效率的技术效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种测试用例的生成方法的硬件环境示意图;
图2是本申请实施例的一种测试用例的生成方法的流程图;
图3是本申请实施例的一种测试用例的生成方法的实施场景示意图;
图4是本申请实施例的一种测试用例的生成方法的整体流程图。
图5是本申请实施例的一种json文件的示意图;
图6是本申请实施例的一种测试用例的生成装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
根据本申请实施例的一个方面,提供了一种测试用例的生成方法。该测试用例的生成方法广泛应用于智慧家庭(Smart Home)、智能家居、智能家用设备生态、智慧住宅(Intelligence House)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述测试用例的生成方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端设备102可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、冰箱设备、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
为了解决上述问题,在本实施例中提供了一种测试用例的生成方法,包括但不限于由目标程序(例如python脚本)执行上述测试用例的生成方法,图2是本申请实施例的一种测试用例的生成方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取测试信息,其中,所述测试信息至少包括:测试语料集合,目标参数;所述目标参数的参数值用于指示是否生成非参数化用例;
需要说明的是,测试语料的是用来测试接口的输入数据、期望输出和预期行为的集合。测试语料包括了各种可能的输入情况和边界情况,用于验证接口的正确性、稳定性和可靠性。测试语料可以是具体的数据值、数据集、数据流或者是一系列操作序列。测试语料集合中的每一条测试语料独立一行存储在TXT文件中。
作为可选的示例,目标参数的参数值包括0和1,其中,0用于指示生成参数化用例,1用于指示生成非参数化用例。
需要说明的是,参数化用例是指在测试过程中使用不同的数据或参数来执行同一个测试用例。这样可以有效地减少测试用例的数量,提高测试效率。例如,对于一个输入用户名和密码的登录功能的测试用例,可以通过参数化,使用不同的用户名和密码组合来执行多次测试。
非参数化用例是指在测试过程中使用固定的数据或参数来执行测试用例。这种测试用例适用于那些不需要使用不同数据或参数来进行测试的情况。例如,对于一个固定的页面布局测试用例,不需要使用不同的数据或参数来进行测试。
在一个示例性的实施例中,在所述目标参数的参数值用于指示生成非参数化用例的情况下,所述测试信息还包括测试接口的接口信息。
作为一种可选的示例,测试信息还可以包括测试用例名称集合,其中,测试用例名称集合包括生成的多个测试用例中的每一个测试用例的名称,测试用例名称集合中的每一个测试用例名称与所述测试语料集合中的每一个测试语料具有一一对应关系。
步骤S204,通过目标程序,根据所述测试信息生成第一目标文件,其中,所述第一目标文件为接口测试工具生成测试用例所需的文件;
作为一种可选的示例,目标测试程序包括但不限于python脚本。
作为一种可选的示例,第一目标文件的文件类型包括但不限于json文件。需要说明的是,json文件是一种用于存储和交换数据的轻量级文件格式,易于阅读和编写同时易于解析和生成,常用于程序之间的数据存储和传输。
此外,json文件具有清晰的结构软件开发人员可以便捷的表示用例的各种属性和参数,同时由于其本身是文本格式的,进而软件开发人员可以直接对于json文件进行编辑、添加、修改或删除用例信息,无需依赖特定的工具包或编程语言,进一步提高了用例的可维护性。
步骤S206,将所述第一目标文件发送至接口测试工具,以指示所述接口测试工具根据所述第一目标文件生成多个测试用例,其中,所述多个测试用例中的每个测试用例与所述测试语料集合中的每个测试语料具有一一对应关系。
作为一种可选的示例,接口测试工具包括但不限于Postman,Postman支持多种类型的数据请求,同时有丰富的断言和测试工具,在进行接口测试的过程中功能强大。
通过上述步骤S202-S206,由于通过目标程序(例如,python脚本)根据测试信息(包含多个测试语料)生成第一目标文件,进而接口测试工具可以根据第一目标文件快速生成多个测试用例,进而解决了利用接口测试工具的复制功能手动修改生成新用例,导致无法快速批量生成测试用例的问题,进而达到了快速批量生成测试用例,提升了接口测试的效率的技术效果。
在一个示例性的实施例中,根据所述测试信息生成第一目标文件,还可以通过以下步骤S11-S12实现:
步骤S11:生成第一字段的第一字段内容,其中,所述第一字段内容包括用例集合的用例集名称,所述用例集合包括所述多个测试用例;以及根据所述测试语料集合生成第二字段的第二字段内容;
需要说明的是,在第一目标文件的文件类型为json类型的情况下,第一字段为json文件中的关键字info,用于存储一些信息或原数据,可以是具体的对象也可以是字符串或者其他的数据类型,生成的第一字段内容中包括用例集合的用例集名称。第二字段为json文件另一个关键字item,用来表示列表或数据组中每个元素的名称。生成的第二字段内容是由多个小json(每一个小json对应测试预料集合中的一条测试语料)组成的列表。每个json包含用例名称、请求方式、请求头信息、url、请求体等。
作为一种可选的示例,生成的第一字段内容可以如图5中的info字段的内容所示,生成的第二字段内容可以如图5中的item字段的内容所示。
步骤S12:根据所述第一字段内容和所述第二字段内容生成所述第一目标文件。
作为一种可选的示例,上述可以将第一字段内容和第二字段内容进行拼接,得到第一目标文件。
需要说明的是,如图4所示,python脚本包括语料改造模块,item生成模块和Json文件生成模块、语料提取模块。上述步骤S12可以通过python脚本中的Json文件生成模块实现。
在一个示例性的实施例中,根据所述测试语料集合生成第二字段的第二字段内容,还可以通过以下步骤S21-S22实现:
步骤S21:生成所述测试语料集合中的每一条测试语料对应的第二子字段内容,得到所述测试语料集合对应的多个第二子字段内容;
需要说明的是,第二字段内容是由多个小json组成,即一个第二子字段内容对应一个小json。Postman生成的多个测试用例中的每个测试用例对应第二字段内容中的一条json数据。
步骤S22:将所述多个第二子字段内容进行拼接,得到所述第二字段内容。
需要说明的是,根据测试信息生成json文件时,每一条语料对应一个第二子字段内容,所以将多条测试语料对应多个第二子字段内容进行拼接以后才可以得到完整的第二字段对应的内容。
需要说明的是,上述步骤S21-S22可以通过python脚本中的语料改造模块,item生成模块实现,其中,语料改造模块逐行读取TXT文件中的语料,转化成接口请求体body的格式,item生成模块将语料改造模块的结果和测试信息中的接口信息转化成item列表中的数据。
在一个示例性的实施例中,还可以通过以下步骤S31-S33生成所述测试语料集合中的每一条测试语料对应的第二子字段内容:
步骤S31:在所述目标参数的参数值用于指示生成非参数化用例的情况下,利用所述测试接口的接口信息生成所述测试语料集合中的每一条测试语料对应的第二子字段内容;
需要说明的是,由于非参数化用例是指在测试过程中使用固定的数据或参数来执行测试用例。进而在生成非参数化用例的情况下,需要利用测试接口的接口信息生成每一条测试语料对应的第二子字段内容。
步骤S32:在所述目标参数的参数值用于指示生成参数化用例的情况下,利用目标变量生成所述测试语料集合中的每一条测试语料对应的第二子字段内容,其中,在所述接口测试工具根据所述第一目标文件中的第二子字段内容生成测试用例的过程中,所述第二字段内容中的所述目标变量允许被赋值。
需要说明的是,由于参数化用例是指在测试过程中使用不同的数据或参数来执行同一个测试用例,进而需要使用变量来替换具体的数据,通过变量生成测试语料集合中的每一条测试语料对应的第二子字段内容。
在一个示例性的实施例中,还可以通过以下步骤S41-S42指示所述接口测试工具根据所述第一目标文件生成多个测试用例:
步骤S41:指示所述接口测试工具在确定所述第一目标文件中携带有所述测试接口的接口信息的情况下,直接根据所述第一目标文件生成多个测试用例;
步骤S42:指示所述接口测试工具在确定所述第一目标文件中未携带有所述测试接口的接口信息的情况下,显示提示信息,其中,所述提示信息用于提示目标对象确定待测试接口;指示所述接口测试工具在获取到待测试接口的接口信息的情况下,根据所述待测试接口的接口信息和所述第一目标文件生成多个测试用例。
需要说明的是,Postman支持参数化的用例,参数可以在设置->管理环境中设置,用户在执行用例时选择自己创建的环境,这样就可以用环境中定义的变量值替换掉用例中的变量。
在一个示例性的实施例中,上述方法还包括以下步骤S51-S52:
步骤S51:调用所述接口测试工具的用例生成接口,获取第二目标文件,其中,所述接口测试工具根据所述第二目标文件生成了目标测试用例集合;
作为一种可选的示例,第二目标文件的文件类型为json文件。
步骤S52:解析所述第二目标文件,确定所述接口测试工具生成所述目标测试用例集合所使用的测试语料。
也就是说,python脚本还可以从postman中导出json文件,通过解析json数据提取语料,确定postman生成测试用例集合所使用的语料。
显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。为了更好的理解上述方法,以下结合实施例对上述过程进行说明,但不用于限定本发明实施例的技术方案,具体地:测试用例的生成方法
作为一种可选地示例,图3示意出了一种测试用例的生成方法的实施场景示意图,图4示意出了一种测试用例的生成方法的整体流程图。整个流程的具体实施步骤如下:
步骤1、准备脚本入参(即图4中的请求参数信息):测试语料和测试接口信息:
(1)根据需求写好与设备交互的语料,将每条语料独立1行存储在TXT文件中;
(2)绑定需要测试的设备,进行交互,然后到日志系统获取要测试接口的相关信息。
步骤2、选择生成用例的类型,包括参数化用例和非参数化用例,本申请中所使用的脚本测试工具Postman支持参数化的用例,参数可以在设置-管理环境中进行设置。在执行用例时选择目标对象自己创建的环境便于用环境中定义的变量值替换掉用例中的变量。同时python脚本通过入参中的一个参数区分创建的是参数化用例还是非参数化用例:
(1)创建参数化用例集时,不需要在脚本入参输入接口信息,只需要在postman中创建环境;
(2)创建非参数化用例集时,需要在脚本入参输入测试接口信息。
步骤3、生成可以导入postman的json文件,图5示意出了一种json文件的示意图:
(1)通过语料改造模块,逐行读取TXT文件中的语料,转化成接口请求体body的格式;
(2)由于Postman用例集中的每条请求对应的是item列表中的一条json数据,可以利用Item生成模块将语料改造模块的结果和脚本入参获取的请求信息转化成item列表中的数据;
(3)Json文件主要由info和item两个关键字组成,Info主要包含用例集名称等信息。Item是由多个小json组成的列表。每个json包含用例名称、请求方式、请求头信息、url、请求体等,利用生成模块生成json文件,其中,在生成文件的过程中,设置用例名称和语料相同。
步骤4、将json文件导入postman生成用例集:
通过输入脚本入参,读取语料文件后,一键执行python脚本,生成json文件,导入到postman中,快速获取用例集。
步骤5、从postman提取语料:
从接口测试工具中postman导出json文件,通过解析json文件中的数据从而提取语料,输出到文件中。
需要说明的是,本申请通过python自动化脚本,实现了只需要提供测试语料、相关请求参数,即可快速生成json文件,创建基于postman的AI接口用例集的功能。具有快速创建用例集、维护性简单、用例复用性高等优点,极大的提高了接口测试效率。
此外,本申请还提供了参数化的用例生成方式,在postman中修改不同环境,即可实现不同参数的请求;提供了非参数化的用例生成方式,只需要修改脚本入参也可实现不同参数的请求。
需要说明的是,本申请只需要修改TXT文件,就可以一键执行生成不同语料的请求用例集,且实现了解析postman中AI接口提取测试语料。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种测试用例的生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是本申请实施例的一种测试用例的生成装置的结构框图,如图6,该装置包括:
获取模块62,用于获取测试信息,其中,所述测试信息至少包括:测试语料集合,目标参数;所述目标参数的参数值用于指示是否生成非参数化用例;
生成模块64,用于通过目标程序,根据所述测试信息生成第一目标文件,其中,所述第一目标文件为接口测试工具生成测试用例所需的文件;
发送模块66,用于将所述第一目标文件发送至接口测试工具,以指示所述接口测试工具根据所述第一目标文件生成多个测试用例,其中,所述多个测试用例中的每个测试用例与所述测试语料集合中的每个测试语料具有一一对应关系。
通过上述装置,由于通过目标程序(例如,python脚本)根据测试信息(包含多个测试语料)生成第一目标文件,进而接口测试工具可以根据第一目标文件快速生成多个测试用例,进而解决了利用接口测试工具的复制功能手动修改生成新用例,导致无法快速批量生成测试用例的问题,进而达到了快速批量生成测试用例,提升了接口测试的效率的技术效果。
在一个示例性的实施例中,在所述目标参数的参数值用于指示生成非参数化用例的情况下,所述测试信息还包括测试接口的接口信息。
在一个示例性的实施例中,生成模块64,还用于生成第一字段的第一字段内容,其中,所述第一字段内容包括用例集合的用例集名称,所述用例集合包括所述多个测试用例;以及根据所述测试语料集合生成第二字段的第二字段内容;根据所述第一字段内容和所述第二字段内容生成所述第一目标文件。
在一个示例性的实施例中,生成模块64,还用于生成所述测试语料集合中的每一条测试语料对应的第二子字段内容,得到所述测试语料集合对应的多个第二子字段内容;将所述多个第二子字段内容进行拼接,得到所述第二字段内容。
在一个示例性的实施例中,生成模块64,还用于在所述目标参数的参数值用于指示生成非参数化用例的情况下,利用所述测试接口的接口信息生成所述测试语料集合中的每一条测试语料对应的第二子字段内容;在所述目标参数的参数值用于指示生成参数化用例的情况下,利用目标变量生成所述测试语料集合中的每一条测试语料对应的第二子字段内容,其中,在所述接口测试工具根据所述第一目标文件中的第二子字段内容生成测试用例的过程中,所述第二字段内容中的所述目标变量允许被赋值。
在一个示例性的实施例中,发送模块66,还用于指示所述接口测试工具在确定所述第一目标文件中携带有所述测试接口的接口信息的情况下,直接根据所述第一目标文件生成多个测试用例;指示所述接口测试工具在确定所述第一目标文件中未携带有所述测试接口的接口信息的情况下,显示提示信息,其中,所述提示信息用于提示目标对象确定待测试接口;指示所述接口测试工具在获取到待测试接口的接口信息的情况下,根据所述待测试接口的接口信息和所述第一目标文件生成多个测试用例。
在一个示例性的实施例中,所述装置还包括:处理模块,用于调用所述接口测试工具的用例生成接口,获取第二目标文件,其中,所述接口测试工具根据所述第二目标文件生成了目标测试用例集合;解析所述第二目标文件,确定所述接口测试工具生成所述目标测试用例集合所使用的测试语料。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种测试用例的生成方法,其特征在于,包括:
获取测试信息,其中,所述测试信息至少包括:测试语料集合,目标参数;
所述目标参数的参数值用于指示是否生成非参数化用例;
通过目标程序,根据所述测试信息生成第一目标文件,其中,所述第一目标文件为接口测试工具生成测试用例所需的文件;
将所述第一目标文件发送至所述接口测试工具,以指示所述接口测试工具根据所述第一目标文件生成多个测试用例,其中,所述多个测试用例中的每个测试用例与所述测试语料集合中的每个测试语料具有一一对应关系。
2.根据权利要求1所述的方法,其特征在于,在所述目标参数的参数值用于指示生成非参数化用例的情况下,所述测试信息还包括测试接口的接口信息。
3.根据权利要求2所述的方法,其特征在于,根据所述测试信息生成第一目标文件,包括:
生成第一字段的第一字段内容,其中,所述第一字段内容包括用例集合的用例集名称,所述用例集合包括所述多个测试用例;以及
根据所述测试语料集合生成第二字段的第二字段内容;
根据所述第一字段内容和所述第二字段内容生成所述第一目标文件。
4.根据权利要求3所述的方法,其特征在于,根据所述测试语料集合生成第二字段的第二字段内容,包括:
生成所述测试语料集合中的每一条测试语料对应的第二子字段内容,得到所述测试语料集合对应的多个第二子字段内容;
将所述多个第二子字段内容进行拼接,得到所述第二字段内容。
5.根据权利要求4所述的方法,其特征在于,生成所述测试语料集合中的每一条测试语料对应的第二子字段内容,包括:
在所述目标参数的参数值用于指示生成非参数化用例的情况下,利用所述测试接口的接口信息生成所述测试语料集合中的每一条测试语料对应的第二子字段内容;
在所述目标参数的参数值用于指示生成参数化用例的情况下,利用目标变量生成所述测试语料集合中的每一条测试语料对应的第二子字段内容,其中,在所述接口测试工具根据所述第一目标文件中的第二子字段内容生成测试用例的过程中,所述第二字段内容中的所述目标变量允许被赋值。
6.根据权利要求2所述的方法,其特征在于,指示所述接口测试工具根据所述第一目标文件生成多个测试用例,包括:
指示所述接口测试工具在确定所述第一目标文件中携带有所述测试接口的接口信息的情况下,直接根据所述第一目标文件生成多个测试用例;
指示所述接口测试工具在确定所述第一目标文件中未携带有所述测试接口的接口信息的情况下,显示提示信息,其中,所述提示信息用于提示目标对象确定待测试接口;指示所述接口测试工具在获取到待测试接口的接口信息的情况下,根据所述待测试接口的接口信息和所述第一目标文件生成多个测试用例。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
调用所述接口测试工具的用例生成接口,获取第二目标文件,其中,所述接口测试工具根据所述第二目标文件生成了目标测试用例集合;
解析所述第二目标文件,确定所述接口测试工具生成所述目标测试用例集合所使用的测试语料。
8.一种测试用例的生成装置,其特征在于,包括:
获取模块,用于获取测试信息,其中,所述测试信息至少包括:测试语料集合,目标参数;所述目标参数的参数值用于指示是否生成非参数化用例;
生成模块,用于通过目标程序,根据所述测试信息生成第一目标文件,其中,所述第一目标文件为接口测试工具生成测试用例所需的文件;
发送模块,用于将所述第一目标文件发送至接口测试工具,以指示所述接口测试工具根据所述第一目标文件生成多个测试用例,其中,所述多个测试用例中的每个测试用例与所述测试语料集合中的每个测试语料具有一一对应关系。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至7中任一项所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311583073.3A CN117687903A (zh) | 2023-11-23 | 2023-11-23 | 测试用例的生成方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311583073.3A CN117687903A (zh) | 2023-11-23 | 2023-11-23 | 测试用例的生成方法及装置、存储介质、电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117687903A true CN117687903A (zh) | 2024-03-12 |
Family
ID=90125560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311583073.3A Pending CN117687903A (zh) | 2023-11-23 | 2023-11-23 | 测试用例的生成方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687903A (zh) |
-
2023
- 2023-11-23 CN CN202311583073.3A patent/CN117687903A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060265469A1 (en) | XML based scripting framework, and methods of providing automated interactions with remote systems | |
CN110276074B (zh) | 自然语言处理的分布式训练方法、装置、设备及存储介质 | |
CN104156313A (zh) | 一种Web服务测试用例自动生成方法 | |
CN109460358B (zh) | 基于Cmdb的配置管理方法及系统 | |
CN110727429B (zh) | 一种前端页面的生成方法、装置及设备 | |
CN108923997B (zh) | 一种基于python的云服务节点自动测试方法及装置 | |
CN110532182B (zh) | 一种虚拟化平台的自动化测试方法及装置 | |
CN111200523A (zh) | 中台系统配置方法、装置、设备及存储介质 | |
CN110297637A (zh) | 全平台客户端软件适用的资源文件热重载开发工具及方法 | |
CN115757014A (zh) | 一种功耗测试方法及装置 | |
CN113778897B (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
CN108897588B (zh) | 一种用于模块间通信的路由方法和路由装置 | |
CN113268232B (zh) | 一种页面皮肤生成方法、装置和计算机可读存储介质 | |
US20110004865A1 (en) | Serializing a templated markup language representation of test artifacts | |
CN111580821B (zh) | 脚本绑定方法、装置、电子设备及计算机可读存储介质 | |
CN114911535B (zh) | 应用程序组件配置方法、存储介质及电子装置 | |
CN117687903A (zh) | 测试用例的生成方法及装置、存储介质、电子装置 | |
US20090066984A1 (en) | Device setting apparatus, device setting method, information acquiring apparatus, information acquiring method, storage medium, and program | |
CN114924963A (zh) | 网页兼容性测试的分布式执行方法、装置、设备及介质 | |
CN113760734A (zh) | 一种数据准备方法及装置、设备、存储介质 | |
CN112699042A (zh) | 一种单元测试案例的生成方法及装置 | |
García-Pérez et al. | Extensive and repeatable experimentation in mobile communications with programmable instruments | |
CN111182012B (zh) | 一种智能设备的管理方法、装置及系统 | |
CN116521673A (zh) | 数据库操作方法及装置、存储介质及电子装置 | |
CN117201219A (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 |