CN116795689A - 一种工具包的测试方法、装置、计算机设备及存储介质 - Google Patents
一种工具包的测试方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116795689A CN116795689A CN202310620571.4A CN202310620571A CN116795689A CN 116795689 A CN116795689 A CN 116795689A CN 202310620571 A CN202310620571 A CN 202310620571A CN 116795689 A CN116795689 A CN 116795689A
- Authority
- CN
- China
- Prior art keywords
- test
- current interface
- interface
- test case
- main control
- 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 354
- 238000000034 method Methods 0.000 title claims description 36
- 238000013100 final test Methods 0.000 claims abstract description 46
- 238000013101 initial test Methods 0.000 claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010998 test method Methods 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 10
- 238000011161 development Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical compound [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 229910052697 platinum Inorganic materials 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000012502 risk assessment Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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
-
- 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/3692—Test management for test results analysis
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
技术领域
本申请涉及软件工程开发技术领域,尤其涉及一种工具包的测试方法、工具包的装置、计算机设备及计算机可读存储介质。
背景技术
近年来金融类业务快速发展,金融类项目后台架构的种类越来越多,接口测试的难度以及工作量大大增加,SDK是第三方开发者提供的软件开发工具包,基于SDK接口调用的自动化测试,能有效保证金融类产品的质量,因此在业内被广泛实践。
传统的SDK接口的自动化测试,主要是通过硬编码的方式对SDK中的每个接口进行测试。其中,一个测试用例对应于一个主控程序(或测试函数),开发难度较高,且需要有一定开发基础的人员,才能编写测试用例。同时由于金融业务的业务场景越来越多样化,需要自动化测试的测试场景尽可能地模拟真实场景或异常场景,也即需要测试用例和主控程序高度耦合,因此二者的开发效率较低。若SDK中的接口或测试用例有变更,则需开发人员重新编写对应的主控程序,维护成本高。
有鉴于此,本发明提出一种工具包的测试方法、工具包的测试装置、计算机设备及计算机可读存储介质,能够通过将测试用例文件与主控程序解耦,实现增加测试用例文件与主控程序的灵活性,降低维护成本。
发明内容
本申请提供了一种工具包的测试方法、工具包的装置、计算机设备及计算机可读存储介质,实现增加测试用例文件与主控程序的灵活性,降低维护成本。
第一方面,本申请提供了一种工具包的测试方法,所述工具包包括多个接口,所述方法包括:
获取当前接口对应的测试用例文件;
利用主控程序解析所述测试用例文件,得到对应的测试信息,其中,所述测试信息至少包括所述当前接口对应的接口对象、输入参数和预期结果;其中,所述主控程序与所述测试用例文件解耦,所述主控程序被配置为解析任一接口的测试用例文件;
利用所述主控程序通过所述当前接口对应的接口对象和所述输入参数调用所述当前接口进行测试,得到初始测试结果;
比较所述预期测试结果和所述初始测试结果,得到当前接口的最终测试结果,并返回执行确定下一个当前接口对应的测试用例文件的步骤直到所述多个接口都执行完,得到所述多个接口的最终测试结果。
第二方面,本申请还提供了一种工具包的测试装置,其特征在于,所述装置包括:
获取模块,用于获取当前接口对应的测试用例文件;
处理模块,用于利用主控程序解析所述测试用例文件,得到对应的测试信息,其中,所述测试信息至少包括所述当前接口对应的接口对象、输入参数和预期结果;其中,所述主控程序与所述测试用例文件解耦,所述主控程序被配置为解析任一接口的测试用例文件;
所述处理模块还用于利用所述主控程序通过所述当前接口对应的接口对象和所述输入参数调用所述当前接口进行测试,得到初始测试结果;
实现模块,用于比较所述预期测试结果和所述初始测试结果,得到当前接口的最终测试结果,并返回执行确定下一个当前接口对应的测试用例文件的步骤直到所述多个接口都执行完,得到所述多个接口的最终测试结果。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括:
存储器和处理器;
其中,所述存储器与所述处理器连接,用于存储程序;
所述处理器用于通过运行所述存储器中存储的程序,实现如本申请实施例提供的任一项所述的实现客制化需求的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如本申请实施例提供的任一项所述的工具包的测试方法的步骤。
本申请公开的工具包的测试方法、工具包的测试装置、计算机设备及计算机可读存储介质,能够通过将测试用例与主控程序解耦,实现增加测试用例与主控程序的灵活性,降低维护成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的实施例提供的一种工具包的测试方法的场景示意图;
图2是本申请的实施例提供的一种工具包的测试方法的步骤示意图;
图3是本申请的实施例提供的一种工具包的测试方法的流程示意图;
图4是本申请的实施例提供的工具包的测试装置的结构示意图;
图5是本申请的实施例提供的一种计算机设备的示意框图。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
应当理解,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一识别模型和第二识别模型仅仅是为了区分不同的回调函数,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
还应当进理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在详细介绍本申请提供的接口测试方法的实施例之前,先对所涉及的相关技术术语进行说明:
接口(或API接口),在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合。本申请中的接口是指通过HTTP协议进行通信的接口。
接口测试:一般是指接口测试的自动化,接口测试就是在预设条件下运行系统或应用程序得到运行结果,然后评估该运行结果,预先条件应包括正常条件和异常条件。
测试用例文件:是为某个特殊目标而编制的一组包含测试输入、执行条件以及预期结果的文件,以便测试某个程序路径,或者核实被测对象是否满足某个特定需求。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图1所示,图1是本申请的实施例提供的一种工具包的测试方法的场景示意图。本申请实施例提供的工具包的测试方法,可以应用于如图1所示的应用环境中。该应用环境中包含有终端设备110和服务器120,其中,终端设备110可以通过网络与服务器120进行通信。具体地,服务器120获取当前接口对应的测试用例文件,服务器120利用主控程序解析所述测试用例文件,得到对应的测试信息,其中,所述测试信息至少包括所述当前接口对应的接口对象、输入参数和预期结果;其中,所述主控程序与所述测试用例文件解耦,所述主控程序被配置为解析任一接口的测试用例文件,利用所述主控程序通过所述当前接口对应的接口对象和所述输入参数调用所述当前接口进行测试,得到初始测试结果;进而比较所述预期测试结果和所述初始测试结果,得到当前接口的最终测试结果,并返回执行确定下一个当前接口对应的测试用例文件的步骤直到所述多个接口都执行完,得到所述多个接口的最终测试结果。并将最终测试结果发送至终端设备110。其中,服务器120可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
请参阅图2,图2是本申请的实施例提供的一种工具包的测试方法的步骤示意图。该方法可以应用于计算机设备,用于工具包的测试。如图2所示,该工具包的测试方法包括步骤S11至步骤S14。
S11:获取当前接口对应的测试用例文件。
计算机设备可获取当前接口对应的测试用例文件,以实现对当前接口进行测试。其中,该测试用例为对当前接口进行测试的测试模块,该测试用例可包括至少一个预先配置的测试对象以及测试流程。该测试对象也即需要进行测试的当前接口;测试流程是指对该测试对象进行接口自动化测试的测试流程,如加解密操作、协议转换操作、登录操作以及远程执行操作等。
需要说明的是,本申请对于测试用例文件的类型不加以限定,例如可以为金融业务的测试用例文件,本申请以此为例进行说明。
进一步的,本申请对于当前接口的类型不做限定,例如可以为如金融类的用户界面接口、通用网关接口、底层服务接口以及定时脚本接口等。可以理解的,由于工具包包括多个接口,因此可对每个接口进行测试,并基于每个接口的测试结果综合判断得到工具包的测试结果,从而实现金融业务的测试,本申请以测试某个应用的白金用户的贷款金额调整情况为例进行说明。
可选地,在获取当前接口对应的测试用例文件后,计算机设备还可以设置当前接口测试对应的运行环境和/或运行账号。其中,运行环境是指测试用例文件的运行终端的环境或运行地址,由于测试用例文件最终需要在客户端上运行,因此这里需要使用多种运行环境对测试用例文件进行测试,如开发环境、测试环境或预发布环境等,如此方便测试人员在不同的运行环境下对该金融类的测试用例文件进行调整。
进一步的,上述运行账号是指测试用例文件运行需要使用的业务账号、用户账号或订单账号等业务数据。如测试某个应用的白金用户的贷款金额调整情况,则需要使用白金用户账号登录该应用进行测试。该测试用例文件的运行不需要使用任何运行账号数据,也可不设置运行账号。
可选地,为了得到当前接口对应的测试用例文件,可获取测试用例集合,其中,接口测试用例集合中包括具有预设执行顺序的多个接口各自对应的测试用例文件;依据预设执行顺序,从测试用例集合中确定当前接口对应的测试用例文件。
可以理解的,由于工具包内的多个接口具有执行顺序的限制。因此,计算机设备可获取具有执行顺序的多个接口各自对应的测试用例集合,并根据该执行顺序从测试用例集合中获取当前测试的接口对应的测试用例文件,进而对当前的接口进行测试,进而实现测试某个应用的白金用户的贷款金额调整情况等金融业务的测试。
需要说明的是,本申请对上述预设执行顺序不加以限定。例如测试用例集合中包括的多个接口测试用例文件包括:A、B、C、D、E,这五个接口测试用例文件的执行顺序可以是:A的执行顺序必须在B的前面,C的执行顺序必须在D、E的前面,而A、B一组和C、D、E一组的执行顺序可以随意,D和E之间的执行顺序可以随意,执行顺序随意是指可以是串行执行,也可以是并行执行。
可选地,测试用例文件与主控程序需遵循约定的协议,上述获取测试用例集合之前,还可以包括:获取多个接口的文档信息;基于多个接口的文档信息编写多个接口对应的测试用例文件。
具体的,上述测试用例文件与主控程序需遵循约定的协议。进一步的,测试人员可获取多个接口的文档信息,并基于该文档信息编写测试用例文件。基于此方法得到的测试用例文件,测试人员无需编码或少量编码即可完成测试用例文件的编写,在一定程度上降低了金融类的测试用例文件的编写难度,且降低了金融业务测试的维护成本。
需要说明的是,本申请对于上述测试用例文件与主控程序约定的协议内容不加以限定。例如该约定的协议可以包括字段名信息、字段含义信息、必传字段信息以及选传字段信息等。
进一步的,本申请对于上述主控程序的存在形态不加以限定,例如主控程序的存在形态可以为执行脚本、工具、APP等。此外,上述测试用例文件的格式可以为yaml格式或json格式等,本申请对此不加以限定。
在本申请实施例中,计算机设备可获取工具包内的多个接口对应的测试用例文件,并基于预设执行顺序获取当前待测试的接口对应的测试用例文件,以使得计算机设备能够按照执行顺序对工具包内的接口进行测试,从而实现金融业务的测试。
S12:利用主控程序解析测试用例文件,得到对应的测试信息,其中,测试信息至少包括当前接口对应的接口对象、输入参数和预期结果;其中,主控程序与测试用例文件解耦,主控程序被配置为解析任一接口的测试用例文件。
计算机设备能够利用主控程序解析测试用例文件,得到当前测试接口对应的测试信息。其中,该测试信息至少包括当前待测试接口对应的接口对象、输入参数以及预期结果等,本申请对此不加以限定。
进一步的,上述主控程序与测试用例文件解耦,也即主控程序被配置为能解析工具包内任一接口对应的测试用例文件。如此,当测试用例文件或主控程序有变更时,二者只需要遵循上述约定的协议,另一方即可通过少量变更或无变更即可满足接口的测试需求。也即主控程序可以与测试用例文件分开维护或同时开发,降低了维护成本,提升了金融类业务测试的工具包测试的效率。
可选地,为了生成主控程序以使得计算机设备能够利用主控程序解析测试用例文件,上述在获取当前接口对应的测试用例文件之后,还可以包括:基于测试用例文件得到对应的树形节点的节点值及节点层级;将节点值映射为主控程序的脚本值;将节点层级映射为主控程序的运行逻辑;根据脚本值及运行逻辑,生成主控程序。
其中,上述节点值是指树形节点中的功能测试参数和环境测试参数,上述节点层级是指树形节点中参数属性的测试逻辑,即节点测试顺序,一个可选实施例中,所述脚本值及运行逻辑的映射通过Java语言编译。
可选地,存在接口测试用例包括:username:xiaoming and password:ABC123,获取接口测试用例的节点值包括:xiaoming和ABC123的功能测试参数,及username和password的测试环境参数,节点测试顺序为xiaoming和ABC123的参数同时测试,采用Java语言将所述“username:xiaoming and password:ABC123,映射为主控程序的脚本值和运行逻辑包括:{ScriptEngineManager manager=new ScriptEngineManager();ScriptEngine scriptEngine=manager.getEngineByName("js");scriptEngine==username:xiaoming and password:ABC123)javaScriptEngine=scriptEngine}。如此,可基于测试用例文件得到的节点值以及节点层级生成主控程序。
在本申请实施例中,计算机设备可预先基于测试用例文件生成主控程序,并利用主控程序解析测试用例文件,得到当前测试接口对应的测试信息。进一步的,主控程序与测试用例文件解耦,如此,主控程序与测试用例文件可分开维护或同时开发,降低了金融类业务测试的维护成本,提升了金融类业务测试工具包测试的效率。
S13:利用主控程序通过当前接口对应的接口对象和输入参数调用当前接口进行测试,得到初始测试结果,也即金融业务的测试结果。
在对当前的接口进行测试时,计算机设备可利用主控程序通过当前待测试的接口对应的接口对象和输入参数调用当前接口进行测试,得到当前接口的初始测试结果。
可选地,上述利用主控程序通过当前接口对应的接口对象和输入参数调用当前接口进行测试,得到初始测试结果,包括:基于当前接口对应的接口对象和输入参数,调用当前接口对应的测试页面;将主控程序接入测试页面中;基于测试页面,利用测试指令执行主控程序的接口测试,得到初始测试结果。
具体的,计算机设备可基于当前接口对应的接口对象和输入参数,调用当前接口对应的测试测试页面。进一步的,可将主控程序接入至该测试页面中,并在接收到测试指令后,基于测试页面利用测试指令执行主控程序的接口测试,进而得到初始测试结果。
需要说明的是,上述测试页面是指需要进行功能测试的页面,例如可以为web页面。进一步的,测试结果可包括当前接口的返回值测试结果以及状态码测试结果等,本申请对此不加以限定。
可选地,当计算机设备在对工具包的其他接口进行测试时,可将待测试的接口对应的接口对象替换主控程序中已测试完毕的接口对象,进而实现其他接口的测试。
在本申请实施例中,计算机设备可利用主控程序通过当前接口对应的接口对象和输入参数调用当前接口进行测试,得到当前接口对应的初始测试结果。此外,在对工具包的其他接口进行测试时,可将待测试的接口对应的接口对象替换主控程序中已测试完毕的接口对象,进而实现其他接口的测试。
S14:比较预期测试结果和初始测试结果,得到当前接口的最终测试结果,并返回执行确定下一个当前接口对应的测试用例文件的步骤直到多个接口都执行完,得到多个接口的最终测试结果。
计算机设备可将解析得到的当前接口对应的预期测试结果以及测试得到的初始测试结果进行比较得到当前接口的最终测试结果,并返回执行确定下一个当前接口对应的测试用例文件的步骤直到工具包内的多个接口都执行完,得到多个接口的最终测试结果。由此,计算机设备可综合工具包内的多个接口的最终测试结果得到工具包的测试结果。
可选地,上述返回执行确定下一个当前接口对应的测试用例文件的步骤直到多个接口都执行完,得到多个接口的最终测试结果的步骤,可以包括:依据预设执行顺序,分别得到多个接口对应的预期测试结果和初始测试结果;根据多个接口对应的预期测试结果和初始测试结果得到多个接口对应的最终测试结果。
可选地,当得到当前接口测试用例文件的测试结果后,还可以判断当前接口测试用例集合中是否还存在未执行的接口测试用例,如果存在,则基于预设执行顺序继续确定下一当前接口测试用例文件,直到当前接口测试用例集合中的全部接口测试用例都执行完。进一步的,在当前接口测试用例集合中的全部接口测试用例都执行完乎可获取多个接口对应的预期测试结果以及初始测试结果,计算机设备可综合预期测试结果以及初始测试结果,以得到工具包的测试结果。
可选地,在返回执行确定下一个当前接口对应的测试用例文件的步骤直到多个接口都执行完,得到多个接口的最终测试结果之后,可以包括:若预期测试结果和初始测试结果一致,则测试成功,并生成测试成功的最终测试结果;若预期测试结果和初始测试结果不一致,则测试失败,并生成测试失败的最终测试结果。由此计算机设备可基于多个接口的最终测试结果得到工具包的测试结果。
具体的,工具包的最终测试结果可以分为测试成功和测试失败两种结果,测试成功或者测试失败具体可以根据预期测试结果和初始测试结果来确定。将预期测试结果和初始测试结果进行比对,根据比对结果生成工具包的最终测试结果。具体地,当预期测试结果和初始测试结果一致时,测试成功。此时,可以理解为工具包的最终测试结果通过测试标准。当预期测试结果和初始测试结果不一致,测试失败。此时,可以理解为工具包的最终测试结果没有通过测试标准。
可选地,工具包的最终测试结果为测试成功,则可以自动生成测试报告,并且整个测试流程完成。若工具包的最终测试结果为测试失败,则需要对相应的接口或者主控程序进行修复,并再次进行测试,直到测试成功。
可以看出,通过预期测试结果和初始测试结果可判断工具包的最终测试是否成功,并据此生成相应的测试结果。如此,可以直观判断是否成功,有助于提高金融业务的测试效率。
本申请提出的工具包的测试方法,将主控程序与测试用例文件解耦。如此,当测试用例文件或主控程序有变更时,二者只需要遵循上述约定的协议,另一方即可通过少量变更或无变更即可满足接口的测试需求。也即主控程序可以与测试用例文件分开维护或同时开发,降低了维护成本,提升了工具包测试的效率。此外,由于测试用例文件与主控程序只需遵循约定的协议。因此,测试人员无需编码或少量编码即可完成测试用例文件的编写,在一定程度上降低了测试用例文件的编写难度以及维护成本。
请参阅图3,图3是本申请的实施例提供的一种工具包的测试方法的流程示意图。如图3所示,在对工具包进行测试,也即对工具包的接口进行测试时,可按照执行顺序在测试用例集合中确定当前待测试接口的测试用例文件,并利用主控程序解析该测试用例文件,得到当前接口对应的测试信息。其中,测试信息至少包括当前接口对应的接口对象、输入参数和预期结果。进一步的,主控程序调用当前接口进行测试,得到当前接口的初始测试结果。通过比较预期测试结果和初始测试结果,可得到当前接口的最终测试结果。接着按照执行顺序返回执行确定下一个当前接口对应的测试用例文件的步骤直到多个接口都执行完,得到多个接口的最终测试结果,也即得到工具包的测试结果。
请继续参阅图4,图4是本申请的实施例提供的工具包的测试装置的结构示意图。该实现工具包的测试装置可以配置于服务器中,用于执行前述的工具包的测试方法。
如图4所示,本申请提出的工具包的测试装置100包括获取模块101、处理模块102、实现模块103。其中,获取模块101用于获取当前接口对应的测试用例文件;处理模块102用于利用主控程序解析测试用例文件,得到对应的测试信息,其中,测试信息至少包括当前接口对应的接口对象、输入参数和预期结果;其中,主控程序与测试用例文件解耦,主控程序被配置为解析任一接口的测试用例文件;处理模块102还用于利用主控程序通过当前接口对应的接口对象和输入参数调用当前接口进行测试,得到初始测试结果;实现模块103用于比较预期测试结果和初始测试结果,得到当前接口的最终测试结果,并返回执行确定下一个当前接口对应的测试用例文件的步骤直到所述多个接口都执行完,得到多个接口的最终测试结果。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的方法、装置可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费终端设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
示例性的,上述的方法、装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的计算机设备上运行。
请参阅图5,图5是本申请实施例提供的一种计算机设备的示意图。该计算机设备600可以是服务器。
如图5所示,该计算机设备600包括通过系统总线连接的处理器601、存储器602和网络接口(图未示),其中,存储器602可以包括易失性存储介质、非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种风险评估方法。
处理器601用于提供计算和控制能力,支撑整个计算机设备600的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器601执行任意一种风险评估方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,该计算机设备的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器601可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一些实施方式中,所述处理器601用于运行存储在存储器602中的计算机程序,以实现如下步骤:获取当前接口对应的测试用例文件;利用主控程序解析所述测试用例文件,得到对应的测试信息,其中,所述测试信息至少包括所述当前接口对应的接口对象、输入参数和预期结果;其中,所述主控程序与所述测试用例文件解耦,所述主控程序被配置为解析任一接口的测试用例文件;利用所述主控程序通过所述当前接口对应的接口对象和所述输入参数调用所述当前接口进行测试,得到初始测试结果;比较所述预期测试结果和所述初始测试结果,得到当前接口的最终测试结果,并返回执行确定下一个当前接口对应的测试用例文件的步骤直到所述多个接口都执行完,得到所述多个接口的最终测试结果。
在一些实施方式中,所述处理器601还用于获取测试用例集合,其中,所述接口测试用例集合中包括具有预设执行顺序的所述多个接口各自对应的测试用例文件;依据所述预设执行顺序,从所述测试用例集合中确定当前接口对应的测试用例文件。
在一些实施方式中,所述处理器601还用于依据所述预设执行顺序,分别得到所述多个接口对应的预期测试结果和初始测试结果;根据所述多个接口对应的预期测试结果和初始测试结果得到所述多个接口对应的最终测试结果。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时实现本申请实施例提供的任一种实现客制化需求的方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链语言模型的存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种工具包的测试方法,其特征在于,所述工具包包括多个接口,所述方法包括:
获取当前接口对应的测试用例文件;
利用主控程序解析所述测试用例文件,得到对应的测试信息,其中,所述测试信息至少包括所述当前接口对应的接口对象、输入参数和预期结果;其中,所述主控程序与所述测试用例文件解耦,所述主控程序被配置为解析任一接口的测试用例文件;
利用所述主控程序通过所述当前接口对应的接口对象和所述输入参数调用所述当前接口进行测试,得到初始测试结果;
比较所述预期测试结果和所述初始测试结果,得到当前接口的最终测试结果,并返回执行确定下一个当前接口对应的测试用例文件的步骤直到所述多个接口都执行完,得到所述多个接口的最终测试结果。
2.根据权利要求1所述的方法,其特征在于,所述获取当前接口对应的测试用例文件,包括:
获取测试用例集合,其中,所述接口测试用例集合中包括具有预设执行顺序的所述多个接口各自对应的测试用例文件;
依据所述预设执行顺序,从所述测试用例集合中确定当前接口对应的测试用例文件。
3.根据权利要求2所述的方法,其特征在于,所述测试用例文件与所述主控程序遵循约定的协议信息,所述获取测试用例集合之前,包括:
获取所述多个接口的文档信息;
基于所述多个接口的文档信息编写所述多个接口对应的测试用例文件。
4.根据权利要求3所述的方法,其特征在于,所述获取当前接口对应的测试用例文件之后,还包括:
基于所述测试用例文件得到对应的树形节点的节点值及节点层级;
将所述节点值映射为所述主控程序的脚本值;
将所述节点层级映射为所述主控程序的运行逻辑;
根据所述脚本值及运行逻辑,生成所述主控程序。
5.根据权利要求1所述的方法,其特征在于,所述利用所述主控程序通过所述当前接口对应的接口对象和所述输入参数调用所述当前接口进行测试,得到初始测试结果,包括:
根据所述当前接口对应的接口对象和所述输入参数,调用所述当前接口对应的测试页面;
将所述主控程序接入所述测试页面中;
基于所述测试页面,利用测试指令执行所述主控程序的接口测试,得到所述初始测试结果。
6.根据权利要求1所述的方法,其特征在于,所述比较所述预期测试结和所述初始测试结果,得到当前接口的最终测试结果,并返回执行确定下一个当前接口对应的测试用例文件的步骤直到所述多个接口都执行完,得到所述多个接口的最终测试结果,包括:
依据所述预设执行顺序,分别得到所述多个接口对应的预期测试结果和初始测试结果;
根据所述多个接口对应的预期测试结果和初始测试结果得到所述多个接口对应的最终测试结果。
7.根据权利要求5所述的方法,其特征在于,所述根据所述多个接口对应的最终测试结果得到所述多个接口的最终测试结果,包括:
若所述预期测试结果和所述初始测试结果一致,则测试成功,并生成测试成功的最终测试结果;
若所述预期测试结果和所述初始测试结果不一致,则测试失败,并生成测试失败的最终测试结果。
8.一种工具包的测试装置,其特征在于,所述装置包括:
获取模块,用于获取当前接口对应的测试用例文件;
处理模块,用于利用主控程序解析所述测试用例文件,得到对应的测试信息,其中,所述测试信息至少包括所述当前接口对应的接口对象、输入参数和预期结果;其中,所述主控程序与所述测试用例文件解耦,所述主控程序被配置为解析任一接口的测试用例文件;
所述处理模块还用于利用所述主控程序通过所述当前接口对应的接口对象和所述输入参数调用所述当前接口进行测试,得到初始测试结果;
实现模块,用于比较所述预期测试结果和所述初始测试结果,得到当前接口的最终测试结果,并返回执行确定下一个当前接口对应的测试用例文件的步骤直到所述多个接口都执行完,得到所述多个接口的最终测试结果。
9.一种计算机设备,其特征在于,所述计算机设备包括:
存储器和处理器;
其中,所述存储器与所述处理器连接,用于存储程序;
所述处理器用于通过运行所述存储器中存储的程序,实现如权利要求1-7中任一项所述的实现工具包的测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1-7中任一项所述的实现工具包的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310620571.4A CN116795689A (zh) | 2023-05-29 | 2023-05-29 | 一种工具包的测试方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310620571.4A CN116795689A (zh) | 2023-05-29 | 2023-05-29 | 一种工具包的测试方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116795689A true CN116795689A (zh) | 2023-09-22 |
Family
ID=88039058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310620571.4A Pending CN116795689A (zh) | 2023-05-29 | 2023-05-29 | 一种工具包的测试方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795689A (zh) |
-
2023
- 2023-05-29 CN CN202310620571.4A patent/CN116795689A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415832B (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
US10135936B1 (en) | Systems and methods for web analytics testing and web development | |
CN108829581B (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
US10467066B2 (en) | System and method for establishing common request processing | |
US20230091697A1 (en) | System and Method for Facilitating Performance Testing | |
US10452522B1 (en) | Synthetic data generation from a service description language model | |
WO2022095518A1 (zh) | 接口自动化测试方法、装置、计算机设备及存储介质 | |
CN111198797B (zh) | 操作监控方法及装置、操作分析方法及装置 | |
CN105915529A (zh) | 一种报文生成方法及装置 | |
US9823999B2 (en) | Program lifecycle testing | |
CN113051183A (zh) | 一种测试数据的推荐方法、系统、电子设备及存储介质 | |
CN113360300A (zh) | 接口调用链路生成方法、装置、设备及可读存储介质 | |
CN113191889A (zh) | 风控配置方法、配置系统、电子设备及可读存储介质 | |
CN112579453A (zh) | 任务测试方法、装置、设备及存储介质 | |
CN110990249B (zh) | 代码扫描结果处理方法、装置、计算机设备及存储介质 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN116795689A (zh) | 一种工具包的测试方法、装置、计算机设备及存储介质 | |
CN114385503A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN117009205A (zh) | 接口模拟方法、系统及计算机设备 | |
CN114564387A (zh) | 一种针对OpenStack云平台的场景式自动化测试方法及系统 | |
CN113495498A (zh) | 用于硬件设备的模拟方法、模拟器、设备和介质 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
CN114428723A (zh) | 测试系统、系统测试方法、相关设备及存储介质 | |
CN108366040B (zh) | 一种可编程防火墙的逻辑代码检测方法、装置及电子设备 | |
CN112699023B (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 |