本申请涉及软件测试技术领域,特别是涉及一种测试用例生成方法、装置、计算机设备和存储介质。
背景技术:
随着软件测试技术的发展,在测试过程中为衡量某个特殊目标,通常针对该特殊目标编写测试用例进行自动化测试。
然而,自动化测试用例的编写难度很大,尤其对于接口的自动化测试,由于需要进行测试的接口数量较多且增减不定,测试人员在接口自动化测试用例编写上需要投入大量的人力和时间,这不仅要求测试人员具有较强的编码能力,而且测试用例的生成效率也较低,从而影响接口自动化测试的实施。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种能够提高测试用例生成效率的测试用例生成方法、装置、计算机设备和存储介质。
一种测试用例生成方法,上述方法包括:
在接收到测试用例生成指令时,获取目标接口以及目标接口的接口信息;
获取用例代码模板,用例代码模板为预先编写的用于进行接口测试的测试用例的通用代码模板;
获取目标接口对应的测试数据;
通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例。
在一个实施例中,获取用例代码模板,包括:获取被选定的自定义的用例代码模板。
在一个实施例中,获取用例代码模板,包括:获取被选定的目标测试框架,根据目标测试框架获取与目标测试框架的编程语言所对应的用例代码模板。
在一个实施例中,通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例,包括:
将接口信息以及测试数据插入至用例代码模板中对应的标记字段中,根据插入接口信息以及测试数据后的用例代码模板生成目标接口的测试用例。
在一个实施例中,将接口信息以及测试数据插入至用例代码模板中对应的标记字段,包括:
将接口信息插入至用例代码模板中表征接口的标记字段;
将测试数据中的请求数据插入至用例代码模板中表征请求的标记字段;
将测试数据对应插入至用例代码模板中表征响应的标记字段。
在一个实施例中,目标接口为多个,上述方法还包括:
获取多个目标接口之间的串联关系信息;
通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例,包括:
通过用例代码模板、各目标接口的接口信息、各目标接口的测试数据以及串联关系信息生成多个目标接口的测试用例。
在一个实施例中,通过用例代码模板、各目标接口的接口信息、各目标接口的测试数据以及串联关系信息生成多个目标接口的测试用例,包括:
将各接口信息、各测试数据以及串联关系信息插入至目标用例代码模板中对应的标记字段,根据插入各接口信息、各测试数据、以及串联关系信息后的用例代码模板生成串联的多个目标接口的测试用例。
在一个实施例中,将串联关系信息插入至用例代码模板中对应的标记字段,包括:
将串联关系信息插入至用例代码模板中表征接口测试执行顺序的标记字段。
在一个实施例中,获取目标接口的测试数据,包括:
获取通过用户界面输入的目标接口的测试数据。
在一个实施例中,获取目标接口的测试数据,包括:
从目标接口对应的备用测试数据集中调取预先录制的备用测试数据,根据备用测试数据生成目标接口的测试数据。
在一个实施例中,根据备用测试数据生成目标接口的测试数据,包括:
将备用测试数据在显示界面进行展示;
根据通过显示界面触发的对备用测试数据进行剔除、修改和/或添加的操作指令生成目标接口的测试数据。
一种测试用例生成装置,上述装置包括:
目标接口获取模块,用于在接收到测试用例生成指令时,获取目标接口以及目标接口的接口信息;
代码模板获取模块,用于获取用例代码模板,用例代码模板为预先编写的用于进行接口测试的测试用例的通用代码模板;
测试数据获取模块,用于获取目标接口对应的测试数据;
测试用例生成模块,用于通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的测试用例生成方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的测试用例生成方法的步骤。
上述测试用例生成方法,在接收到测试用例生成指令时,通过获取目标接口、目标接口的接口信息和测试数据,并基于预先编写的用于进行接口测试的通用的用例代码模板结合获取的接口信息和测试数据,可以快速、高效地生成目标接口对应的测试用例。
附图说明
图1为一个实施例中测试用例生成方法的应用环境图;
图2为一个实施例中测试用例生成方法的流程示意图;
图3为一个应用实施例中通过用户界面配置用例生成相关数据的技术构架图;
图4为一个实施例中测试用例生成装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或者”的关系。
本申请提供的测试用例生成方法,可以应用于如图1所示的应用环境中。其中,终端100在接收到通过用户界面触发的测试用例生成指令时,通过处理器执行应用程序,以实现获取目标接口以及目标接口的接口信息,获取用例代码模板,用例代码模板为预先编写的用于进行接口测试的测试用例的通用代码模板,获取目标接口对应的测试数据,通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备和终端服务器。
在一个实施例中,如图2所示,提供了一种测试用例生成方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤s202:在接收到测试用例生成指令时,获取目标接口以及目标接口的接口信息。
其中,目标接口指的是被选定进行测试用例自动化生成的接口。测试用例生成指令用于指示终端设备生成测试用例,测试用例生成指令中可以携带用户通过终端选定或配置的用例相关信息,例如,可以包括被选定的目标接口的接口标识信息。
具体地,在接收到测试用例生成指令时,根据测试用例生成指令确定被选定的接口,并将该被选定的接口作为目标接口,调取该目标接口对应的接口信息。
步骤s204:获取用例代码模板,用例代码模板为预先编写的用于进行接口测试的测试用例的通用代码模板。
其中,用例代码模板为预先基于编程语言编写的代码模板,是用于进行接口测试的测试用例的通用模板。代码模板定义了具体的代码结构,例如,类的继承,变量的继承,公共参数配置的方式,一些通用的公共方法,方法的异常处理,方法的入参和返回类型,根据接口类型的不同,还会定义接口的调用方式、接口响应的校验方式等。
具体地,在接收到测试用例生成指令时获取用例代码模板,该用例代码模板可以是用户自定义的代码模板,也可以是系统默认的代码模板。
步骤s206:获取目标接口对应的测试数据。
其中,测试数据包括生成测试用例所需的接口的请求数据以及该请求数据对应的响应数据。具体地,目标接口的测试数据的来源不限,可以是通过用户界面输入的测试数据,也可以是从数据库中调取的预先录制的适用于目标接口的测试数据等。
步骤s208:通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例。
具体地,在获取到目标接口的接口信息以及测试数据后,可以基于预先编写的通用的用例代码模板,并结合接口信息和测试数据快速地将通用的用例代码模板中的代码修改为适配于目标接口的代码,根据修改后的用例代码模板生成目标接口的测试用例。
上述测试用例生成方法,在接收到测试用例生成指令时,通过获取目标接口、目标接口的接口信息和测试数据,并基于预先编写的用于进行接口测试的通用的用例代码模板结合获取的接口信息和测试数据,可以快速、高效地生成目标接口对应的测试用例。
在一个实施例中,获取用例代码模板,包括:获取被选定的自定义的用例代码模板。
具体地,用户可以通过终端从自定义的用例代码模板中进行自由选择,选取适用于目标接口的自定义的用例代码模板。根据用户的选择操作获取被选定的自定义的用例代码模板。在本实施例中,支持自定义模板的灵活选取,以实现对用例代码模板的自定义扩展,从而可以丰富本方案的适用场景。
在一个实施例中,获取用例代码模板,包括:获取被选定的目标测试框架,根据目标测试框架获取与目标测试框架的编程语言所对应的用例代码模板。
具体地,用户首先可以通过用户界面自由选择测试框架,终端可以将被选定的测试框架作为目标测试框架,并获取与目标测试框架对应的用例代码模板,与目标测试框架对应的用例代码模板是基于目标测试框架的编程语言和定义进行编写的代码模板,不同的测试框架对应有不同编程语言的用例代码模板。其中,测试框架可以包括测试java程序的基于testng的测试框架、基于selenium的测试框架、测试python程序的robotframework、pytest或其他内部业务的测试框架等。
本实施例,可以支持和兼容多种不同的测试框架,不同的测试框架对应有各自对应的用例代码模板,用户可以根据业务需求和测试风格选择合适的目标测试框架,终端可以根据用户的选择快速生成适配于被选定的目标测试框架的自动化测试用例,在提高测试用例生成速度的同时,实现了测试框架的多样化,且可以兼容多种编码语言的测试。
在一个实施例中,获取目标接口的测试数据,包括:获取通过用户界面输入的目标接口的测试数据。
在本实施例中,还可以提供用于输入自定义数据的用户界面,用户可以通过该用户界面进行数据输入、修改或编写等,终端获取通过该用户界面输入的数据,将该数据作为被选定的目标接口所对应的测试数据。
在一个实施例中,获取目标接口的测试数据,包括:从目标接口对应的备用测试数据集中调取预先录制的备用测试数据,根据备用测试数据生成目标接口的测试数据。
在本实施例中,目标接口对应有备用测试数据集,备用测试数据集中包括至少一个适用于目标接口的备用测试数据。备用测试数据可以是在目标接口以往的测试过程中进行录制的历史测试数据。具体地,终端可以根据目标接口的接口信息从数据库中查找目标接口对应的备用测试数据集,并根据预设挑选规则从备用测试数据集中挑选备用测试数据作为目标接口的测试数据,也可以将备用测试数据集中的备用测试数据反馈至终端进行交互,供用户进行人工挑选,然后将被选定的备用测试数据作为目标接口的测试数据。
本实施例,通过调取目标接口的备用测试数据,并根据备用测试数据生成目标接口的测试数据,不需要用户单独进行测试数据的构造,可以减轻用户编写测试数据的工作量和压力,从而进一步提高测试用例生成的效率。
在一个实施例中,根据备用测试数据生成目标接口的测试数据,包括:将备用测试数据在显示界面进行展示;根据通过显示界面触发的对备用测试数据进行剔除、修改和/或添加的操作指令生成目标接口的测试数据。
在本实施例中,还可以将调取到的目标接口的备用测试数据在显示界面上进行展示,用户可以通过显示界面对备用测试数据进行编辑,例如,可以对测试数据的请求字段和/或响应字段中的字段值进行修改等,以实现对备用测试数据的剔除、修改和/或添加操作,终端根据通过显示界面触发的该些操作指令生成修改完善后的目标接口的测试数据。
本实施例,通过将备用测试数据在显示界面进行展示,并支持人机交互,可以得到更加准确的测试数据,提高测试用例生成的准确性。特别是当存在多个目标接口时,还可以将各目标接口的备用测试数据都在显示界面进行展示,用户可以根据业务需求修改各接口备用测试数据中请求字段和响应字段的值,以实现多个接口之间测试数据的快速关联。例如,可以将接口a的响应字段的值作为接口b的请求入参替换接口b的备用测试数据中请求字段的值。
在一个实施例中,通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例,包括:将接口信息以及测试数据插入至用例代码模板中对应的标记字段中,根据插入接口信息以及测试数据后的用例代码模板生成目标接口的测试用例。
在本实施例中,对用例代码模板中具有特异性的非通用字段可以预先进行标记,例如,非通用字段可以包括表征接口的字段、表征测试数据的字段等,在构建用例代码模板时,可以预先使用占位数据对该些非通用字段占位,并可以将获取到的目标接口的接口信息以及测试数据插入至对应的标记字段,替换掉对应的标记字段上的占位数据,插入了接口信息以及测试数据的用例代码模板即可认为是针对目标接口的具有特异性的用例代码模板,根据该具有特异性的用例代码模板可以生成适用于目标接口的测试用例。
本实施例,通过将目标接口的接口信息以及测试数据插入至通用的用例代码模板,不仅可以提高测试用例生成的速度,而且,因为对于不同的目标接口除了接口信息和测试数据等非通用字段的代码不同以外,代码模板中其他部分基本相似,因此在提高测试用例生成效率的同时,也可以保证不同接口的测试用例的风格和格式相互统一。
在一个实施例中,将接口信息以及测试数据插入至用例代码模板中对应的标记字段,包括:将接口信息插入至用例代码模板中表征接口的标记字段;将测试数据中的请求数据插入至用例代码模板中表征请求的标记字段;将测试数据对应插入至用例代码模板中表征响应的标记字段。
在本实施例中,测试数据可以包括目标接口的请求数据以及该请求数据对应的响应数据,具体地可以将接口信息插入至表征接口的标记字段,将请求数据插入至表征请求的标记字段,将响应数据插入至表征响应的标记字段。例如,在java程序的基于testng框架的测试时,可以在测试方法上定义具体的测试数据所在字段(通常是excel)的路径,根据本实施例可以将目标接口的测试数据插入对应的excel中。
在一个实施例中,如果目标接口为多个,上述方法还可以包括:获取多个目标接口之间的串联关系信息;通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例,包括:通过用例代码模板、各目标接口的接口信息、各目标接口的测试数据以及串联关系信息生成多个目标接口的测试用例。
进一步地,通过用例代码模板、各目标接口的接口信息、各目标接口的测试数据以及串联关系信息生成多个目标接口的测试用例,包括:将各接口信息、各测试数据以及串联关系信息插入至目标用例代码模板中对应的标记字段,根据插入各接口信息、各测试数据、以及串联关系信息后的用例代码模板生成串联的多个目标接口的测试用例。
进一步地,将串联关系信息插入至用例代码模板中对应的标记字段,包括:将串联关系信息插入至用例代码模板中表征接口测试执行顺序的标记字段。
当目标接口为多个时,非通用字段还可以包括表征接口测试执行顺序的字段。在构建用例代码模板时,还可以预先使用占位数据对表征接口测试执行顺序的字段占位。在测试用例生成时,终端可以将获取到的目标接口的接口信息、测试数据以及串联关系信息插入至对应的标记字段,具体地,可以将接口信息插入至表征接口的标记字段,将请求数据插入至表征请求的标记字段,将响应数据插入至表征响应的标记字段,将串联关系信息插入至表征接口测试执行顺序的字段。
本实施例,在被选定的接口的数量为多个时,用户可以按照业务流程对多个接口进行串联,在终端获取到多个接口之间的串联关系信息后可以将该串联关系信息插入至用例代码模板中的相应字段,从而可以快速地生成包含多个接口的端到端的测试用例。
下面,结合一个应用实例,对本申请涉及测试用例生成方法进行进一步详细说明。参考图3所示,图3示出了一个应用实例的通过用户界面配置测试用例相关数据的技术构架图。
1、用户打开终端用户界面,终端从数据库读取并展示已被该用户录制的接口列表和相关数据。
2、用户选取需要生成自动化测试用例的一个或多个接口,并按需要调整接口串联的顺序。
3、用户从预定义列表中选择自动化测试用例的基础框架类型(测试框架)。
4、用户可选择使用自定义的代码模板(如有),或系统默认代码模板。
5、用户可输入测试数据,或对展示在用户界面上的被选定接口对应的备用测试数据的请求和响应中的字段内容进行剔除、修改和/或添加。
6、用户点击“开始生成”按钮,终端将按照用户如上的配置生成自动化测试用例(包括代码和对应的测试数据)。
7、生成完成后,用户可对生成的自动化用例的代码进行进一步修改、运行或上传至代码库等。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种测试用例生成装置,包括:目标接口获取模块10、代码模板获取模块20、测试数据获取模块30和测试用例生成模块40,其中:
目标接口获取模块10,用于在接收到测试用例生成指令时,获取目标接口以及目标接口的接口信息;
代码模板获取模块20,用于获取用例代码模板,用例代码模板为预先编写的用于进行接口测试的测试用例的通用代码模板;
测试数据获取模块30,用于获取目标接口对应的测试数据;
测试用例生成模块40,用于通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例。
在一个实施例中,代码模板获取模块20获取被选定的自定义的用例代码模板。
在一个实施例中,代码模板获取模块20获取被选定的目标测试框架,根据目标测试框架获取与目标测试框架的编程语言所对应的用例代码模板。
在一个实施例中,代码模板获取模块20将接口信息以及测试数据插入至用例代码模板中对应的标记字段中,根据插入接口信息以及测试数据后的用例代码模板生成目标接口的测试用例。
在一个实施例中,代码模板获取模块20将接口信息插入至用例代码模板中表征接口的标记字段;将测试数据中的请求数据插入至用例代码模板中表征请求的标记字段;将测试数据对应插入至用例代码模板中表征响应的标记字段。
在一个实施例中,目标接口为多个,目标接口获取模块10还用于获取多个目标接口之间的串联关系信息;测试用例生成模块40通过用例代码模板、各目标接口的接口信息、各目标接口的测试数据以及串联关系信息生成多个目标接口的测试用例。
在一个实施例中,测试用例生成模块40将各接口信息、各测试数据以及串联关系信息插入至目标用例代码模板中对应的标记字段,根据插入各接口信息、各测试数据、以及串联关系信息后的用例代码模板生成串联的多个目标接口的测试用例。
在一个实施例中,测试用例生成模块40将串联关系信息插入至用例代码模板中表征接口测试执行顺序的标记字段。
在一个实施例中,测试数据获取模块30获取通过用户界面输入的目标接口的测试数据。
在一个实施例中,测试数据获取模块30从目标接口对应的备用测试数据集中调取预先录制的备用测试数据,根据备用测试数据生成目标接口的测试数据。
在一个实施例中,测试数据获取模块30将备用测试数据在显示界面进行展示;根据通过显示界面触发的对备用测试数据进行剔除、修改和/或添加的操作指令生成目标接口的测试数据。
关于测试用例生成装置的具体限定可以参见上文中对于测试用例生成方法的限定,在此不再赘述。上述测试用例生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种测试用例生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:在接收到测试用例生成指令时,获取目标接口以及目标接口的接口信息;获取用例代码模板,用例代码模板为预先编写的用于进行接口测试的测试用例的通用代码模板;获取目标接口对应的测试数据;通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例。
在一个实施例中,处理器执行计算机程序实现获取用例代码模板时,具体实现以下步骤:获取被选定的自定义的用例代码模板。
在一个实施例中,处理器执行计算机程序实现获取用例代码模板时,具体实现以下步骤:获取被选定的目标测试框架,根据目标测试框架获取与目标测试框架的编程语言所对应的用例代码模板。
在一个实施例中,处理器执行计算机程序实现通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例时,具体实现以下步骤:将接口信息以及测试数据插入至用例代码模板中对应的标记字段中,根据插入接口信息以及测试数据后的用例代码模板生成目标接口的测试用例。
在一个实施例中,处理器执行计算机程序实现将接口信息以及测试数据插入至用例代码模板中对应的标记字段时,具体实现以下步骤:将接口信息插入至用例代码模板中表征接口的标记字段;将测试数据中的请求数据插入至用例代码模板中表征请求的标记字段;将测试数据对应插入至用例代码模板中表征响应的标记字段。
在一个实施例中,目标接口为多个,处理器执行计算机程序还实现获取多个目标接口之间的串联关系信息;处理器执行计算机程序实现通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例时,具体实现以下步骤:通过用例代码模板、各目标接口的接口信息、各目标接口的测试数据以及串联关系信息生成多个目标接口的测试用例。
在一个实施例中,处理器执行计算机程序实现通过用例代码模板、各目标接口的接口信息、各目标接口的测试数据以及串联关系信息生成多个目标接口的测试用例时,具体实现以下步骤:将各接口信息、各测试数据以及串联关系信息插入至目标用例代码模板中对应的标记字段,根据插入各接口信息、各测试数据、以及串联关系信息后的用例代码模板生成串联的多个目标接口的测试用例。
在一个实施例中,处理器执行计算机程序实现将串联关系信息插入至用例代码模板中对应的标记字段时,具体实现以下步骤:将串联关系信息插入至用例代码模板中表征接口测试执行顺序的标记字段。
在一个实施例中,处理器执行计算机程序实现获取目标接口的测试数据时,具体实现以下步骤:获取通过用户界面输入的目标接口的测试数据。
在一个实施例中,处理器执行计算机程序实现获取目标接口的测试数据时,具体实现以下步骤:从目标接口对应的备用测试数据集中调取预先录制的备用测试数据,根据备用测试数据生成目标接口的测试数据。
在一个实施例中,处理器执行计算机程序实现根据备用测试数据生成目标接口的测试数据时,具体实现以下步骤:将备用测试数据在显示界面进行展示;根据通过显示界面触发的对备用测试数据进行剔除、修改和/或添加的操作指令生成目标接口的测试数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:在接收到测试用例生成指令时,获取目标接口以及目标接口的接口信息;获取用例代码模板,用例代码模板为预先编写的用于进行接口测试的测试用例的通用代码模板;获取目标接口对应的测试数据;通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例。
在一个实施例中,计算机程序被处理器执行实现获取用例代码模板时,具体实现以下步骤:获取被选定的自定义的用例代码模板。
在一个实施例中,计算机程序被处理器执行实现获取用例代码模板时,具体实现以下步骤:获取被选定的目标测试框架,根据目标测试框架获取与目标测试框架的编程语言所对应的用例代码模板。
在一个实施例中,计算机程序被处理器执行实现通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例时,具体实现以下步骤:将接口信息以及测试数据插入至用例代码模板中对应的标记字段中,根据插入接口信息以及测试数据后的用例代码模板生成目标接口的测试用例。
在一个实施例中,计算机程序被处理器执行实现将接口信息以及测试数据插入至用例代码模板中对应的标记字段时,具体实现以下步骤:将接口信息插入至用例代码模板中表征接口的标记字段;将测试数据中的请求数据插入至用例代码模板中表征请求的标记字段;将测试数据对应插入至用例代码模板中表征响应的标记字段。
在一个实施例中,目标接口为多个,计算机程序被处理器执行还实现获取多个目标接口之间的串联关系信息;计算机程序被处理器执行实现通过用例代码模板、接口信息以及测试数据生成目标接口的测试用例时,具体实现以下步骤:通过用例代码模板、各目标接口的接口信息、各目标接口的测试数据以及串联关系信息生成多个目标接口的测试用例。
在一个实施例中,计算机程序被处理器执行实现通过用例代码模板、各目标接口的接口信息、各目标接口的测试数据以及串联关系信息生成多个目标接口的测试用例时,具体实现以下步骤:将各接口信息、各测试数据以及串联关系信息插入至目标用例代码模板中对应的标记字段,根据插入各接口信息、各测试数据、以及串联关系信息后的用例代码模板生成串联的多个目标接口的测试用例。
在一个实施例中,计算机程序被处理器执行实现将串联关系信息插入至用例代码模板中对应的标记字段时,具体实现以下步骤:将串联关系信息插入至用例代码模板中表征接口测试执行顺序的标记字段。
在一个实施例中,计算机程序被处理器执行实现获取目标接口的测试数据时,具体实现以下步骤:获取通过用户界面输入的目标接口的测试数据。
在一个实施例中,计算机程序被处理器执行实现获取目标接口的测试数据时,具体实现以下步骤:从目标接口对应的备用测试数据集中调取预先录制的备用测试数据,根据备用测试数据生成目标接口的测试数据。
在一个实施例中,计算机程序被处理器执行实现根据备用测试数据生成目标接口的测试数据时,具体实现以下步骤:将备用测试数据在显示界面进行展示;根据通过显示界面触发的对备用测试数据进行剔除、修改和/或添加的操作指令生成目标接口的测试数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
1.一种测试用例生成方法,所述方法包括:
在接收到测试用例生成指令时,获取目标接口以及所述目标接口的接口信息;
获取用例代码模板,所述用例代码模板为预先编写的用于进行接口测试的测试用例的通用代码模板;
获取所述目标接口对应的测试数据;
通过所述用例代码模板、所述接口信息以及所述测试数据生成所述目标接口的测试用例。
2.根据权利要求1所述的方法,其特征在于,所述获取用例代码模板,包括:
获取被选定的自定义的用例代码模板;或,获取被选定的目标测试框架,根据所述目标测试框架获取与所述目标测试框架的编程语言所对应的用例代码模板。
3.根据权利要求1所述的方法,其特征在于,所述通过所述用例代码模板、所述接口信息以及所述测试数据生成所述目标接口的测试用例,包括:
将所述接口信息以及所述测试数据插入至所述用例代码模板中对应的标记字段中,根据插入所述接口信息以及所述测试数据后的用例代码模板生成所述目标接口的测试用例。
4.根据权利要求3所述的方法,其特征在于,所述将所述接口信息以及所述测试数据插入至所述用例代码模板中对应的标记字段,包括:
将所述接口信息插入至所述用例代码模板中表征接口的标记字段;
将所述测试数据中的请求数据插入至所述用例代码模板中表征请求的标记字段;
将所述测试数据对应插入至所述用例代码模板中表征响应的标记字段。
5.根据权利要求1所述的方法,其特征在于,所述目标接口为多个,所述方法还包括:获取多个目标接口之间的串联关系信息;
所述通过所述用例代码模板、所述接口信息以及所述测试数据生成所述目标接口的测试用例,包括:通过所述用例代码模板、各所述目标接口的接口信息、各所述目标接口的测试数据以及所述串联关系信息生成多个目标接口的测试用例;
优选的,所述通过所述用例代码模板、各所述目标接口的接口信息、各所述目标接口的测试数据以及所述串联关系信息生成多个目标接口的测试用例,包括:将各所述接口信息、各所述测试数据以及所述串联关系信息插入至所述目标用例代码模板中对应的标记字段,根据插入各所述接口信息、各所述测试数据、以及所述串联关系信息后的用例代码模板生成串联的多个目标接口的测试用例;
优选的,所述将所述串联关系信息插入至所述用例代码模板中对应的标记字段,包括:将所述串联关系信息插入至所述用例代码模板中表征接口测试执行顺序的标记字段。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述获取所述目标接口的测试数据,包括:
获取通过用户界面输入的所述目标接口的测试数据;或,从所述目标接口对应的备用测试数据集中调取预先录制的备用测试数据,根据所述备用测试数据生成所述目标接口的测试数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述备用测试数据生成所述目标接口的测试数据,包括:
将所述备用测试数据在显示界面进行展示;
根据通过所述显示界面触发的对所述备用测试数据进行剔除、修改和/或添加的操作指令生成所述目标接口的测试数据。
8.一种测试用例生成装置,其特征在于,所述装置包括:
目标接口获取模块,用于在接收到测试用例生成指令时,获取目标接口以及所述目标接口的接口信息;
代码模板获取模块,用于获取用例代码模板,所述用例代码模板为预先编写的用于进行接口测试的测试用例的通用代码模板;
测试数据获取模块,用于获取所述目标接口对应的测试数据;
测试用例生成模块,用于通过所述用例代码模板、所述接口信息以及所述测试数据生成所述目标接口的测试用例。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结