CN117724989A - 一种接口的回归测试方法、装置、终端及存储介质 - Google Patents
一种接口的回归测试方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN117724989A CN117724989A CN202410179897.2A CN202410179897A CN117724989A CN 117724989 A CN117724989 A CN 117724989A CN 202410179897 A CN202410179897 A CN 202410179897A CN 117724989 A CN117724989 A CN 117724989A
- Authority
- CN
- China
- Prior art keywords
- interface
- test
- data
- script
- current version
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 219
- 238000000034 method Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 122
- 230000003993 interaction Effects 0.000 claims description 5
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 16
- 238000000586 desensitisation Methods 0.000 abstract description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009960 carding Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种接口的回归测试方法、装置、终端及存储介质,涉及接口测试技术领域。所述方法通过获取脚本数据,其中,所述脚本数据基于历史版本的测试接口的调用信息生成;通过当前版本的所述测试接口对所述脚本数据进行回放操作;获取当前版本的所述测试接口基于所述回放操作输出的测试数据,根据所述测试数据确定当前版本的所述测试接口的回归测试结果。本发明仅需通过测试接口在历史版本中的调用信息来构建脚本数据,然后通过当前版本的测试接口回放脚本数据即可得到回归测试结果。本发明无需接触用户的实际设计方案数据,可以有效减小用户的实际设计方案数据的泄露风险;并且本发明无需进行数据脱敏,可以实现全自动的测试链路。
Description
技术领域
本发明涉及接口测试技术领域,尤其涉及的是一种接口的回归测试方法、装置、终端及存储介质。
背景技术
计算机程序设计语言能够构建比较大型的应用程序或者功能相对独立的组件库,例如构建工业设计软件应用。针对这些应用程序/组件库的测试,往往需要持续收集用户的实际设计方案数据来构建测试用例,通过测试用例来复现问题和进行回归验证。然而采用实际设计方案数据构建测试用例具有一定的泄露/扩散风险,容易给用户带来巨大的损失。虽然存在数据脱敏方法,但是实际设计方案数据的脱敏难度较高,并且需要投入较高的人力成本,导致测试流程自动化程度低,难以接入持续集成系统。
因此,现有技术还有待改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种接口的回归测试方法、装置、终端及存储介质,旨在解决现有技术中通过用户设计方案数据构建的测试用例存在数据泄露风险,并且数据脱敏需要较高的人力成本,导致测试流程自动化程度低的问题。
本发明解决问题所采用的技术方案如下:
第一方面,本发明实施例提供一种接口的回归测试方法,所述方法包括:
获取脚本数据,其中,所述脚本数据基于历史版本的测试接口的调用信息生成;
通过当前版本的所述测试接口对所述脚本数据进行回放操作;
获取当前版本的所述测试接口基于所述回放操作输出的测试数据,根据所述测试数据确定当前版本的所述测试接口的回归测试结果。
在一种实施方式中,所述脚本数据的生成方法包括:
获取历史版本的所述测试接口的调用参数和调用函数,将所述调用参数和所述调用函数作为所述调用信息;
对所述调用信息进行序列化,将序列化后的数据输出到脚本文件中,得到所述脚本数据。
在一种实施方式中,所述通过当前版本的所述测试接口对所述脚本数据进行回放操作包括:
将当前版本的所述测试接口的接口函数注册至所述脚本数据对应的脚本语言环境中;
通过注册后的所述接口函数对所述脚本数据进行所述回放操作。
在一种实施方式中,所述将当前版本的所述测试接口的接口函数注册至所述脚本数据对应的脚本语言环境中包括:
根据所述脚本语言环境对应的函数格式对所述接口函数进行包装;
将包装后的所述接口函数注册至所述脚本语言环境中。
在一种实施方式中,所述将包装后的所述接口函数注册至所述脚本语言环境中包括:
将包装后的所述接口函数压入虚拟栈中,其中,所述虚拟栈用于进行计算机程序设计语言与脚本语言之间的数据交互;
通过所述虚拟栈将解析后的所述脚本数据与所述接口函数进行绑定。
在一种实施方式中,所述通过所述虚拟栈将解析后的所述脚本数据与所述接口函数进行绑定包括:
通过所述虚拟栈,将所述脚本数据中的若干脚本语言函数与所述接口函数中的若干计算机程序设计函数一一对应地建立绑定关系。
在一种实施方式中,所述通过当前版本的所述测试接口对所述脚本数据进行回放操作包括:
将解析后的所述脚本数据压入所述虚拟栈;
通过所述绑定关系调用对应的所述计算机程序设计函数执行所述脚本数据。
在一种实施方式中,所述根据所述测试数据确定当前版本的所述测试接口的回归测试结果包括:
将所述回归测试结果与预设的测试基线进行比较;
根据比较结果确定所述回归测试结果。
在一种实施方式中,所述测试基线的生成方法包括:
通过标准版本的所述测试接口对所述脚本数据进行所述回放操作;
获取标准版本的所述测试接口基于所述回放操作输出的标准测试数据,根据所述标准测试数据生成所述测试基线。
第二方面,本发明实施例还提供一种接口的回归测试装置,所述装置包括:
脚本获取模块,用于获取脚本数据,其中,所述脚本数据基于历史版本的测试接口的调用信息生成;
脚本回放模块,用于通过当前版本的所述测试接口对所述脚本数据进行回放操作;
数据分析模块,用于获取当前版本的所述测试接口基于所述回放操作输出的测试数据,根据所述测试数据确定当前版本的所述测试接口的回归测试结果。
第三方面,本发明实施例还提供一种终端,所述终端包括有存储器和一个以上处理器;所述存储器存储有一个以上的程序;所述程序包含用于执行如上述任一所述的接口的回归测试方法的指令;所述处理器用于执行所述程序。
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有多条指令,所述指令适用于由处理器加载并执行,以实现上述任一所述的接口的回归测试方法的步骤。
本发明的有益效果:本发明实施例通过获取脚本数据,其中,所述脚本数据基于历史版本的测试接口的调用信息生成;通过当前版本的所述测试接口对所述脚本数据进行回放操作;获取当前版本的所述测试接口基于所述回放操作输出的测试数据,根据所述测试数据确定当前版本的所述测试接口的回归测试结果。本发明仅需通过测试接口在历史版本中的调用信息来构建脚本数据,然后通过当前版本的测试接口回放脚本数据即可得到回归测试结果。本发明无需接触用户的实际设计方案数据,可以有效减小用户的实际设计方案数据的泄露风险;并且本发明无需进行数据脱敏,可以实现全自动的测试链路。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的接口的回归测试方法的流程示意图。
图2是本发明实施例提供的脚本录制和脚本回放的综合流程示意图。
图3是本发明实施例提供的回归测试的逻辑示意图。
图4是本发明实施例提供的接口的回归测试装置的模块示意图。
图5是本发明实施例提供的终端的原理框图。
具体实施方式
本发明公开了一种接口的回归测试方法、装置、终端及存储介质,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
针对现有技术的上述缺陷,本发明提供一种接口的回归测试方法,所述方法通过获取脚本数据,其中,所述脚本数据基于历史版本的测试接口的调用信息生成;通过当前版本的所述测试接口对所述脚本数据进行回放操作;获取当前版本的所述测试接口基于所述回放操作输出的测试数据,根据所述测试数据确定当前版本的所述测试接口的回归测试结果。本发明仅需通过测试接口在历史版本中的调用信息来构建脚本数据,然后通过当前版本的测试接口回放脚本数据即可得到回归测试结果。本发明无需接触用户的实际设计方案数据,可以有效减小用户的实际设计方案数据的泄露风险;并且本发明无需进行数据脱敏,可以实现全自动的测试链路。
举例说明,获取1.0版本的工业设计软件应用的调用信息,并基于该调用信息生成脚本数据。采用2.0版本的工业设计软件应用对该脚本数据进行回放操作。通过2.0版本的工业设计软件应用响应于回放操作输出的测试数据,可以计算出2.0版本的工业设计软件应用的回归测试结果。
如图1所示,所述方法包括:
步骤S100、获取脚本数据,其中,所述脚本数据基于历史版本的测试接口的调用信息生成。
具体地,本实施例中的测试接口可以为任意一个待测试的C++(计算机程序设计语言)应用程序/组件接口。为了避免接触用户的实际设计方案数据,本实施例选择采用测试接口在历史版本中的调用信息构建测试用例,进行后续的回归测试。在实际应用场景中,本实施例可以预先构建出测试用例,然后将测试用例存储至持续集成系统中循环使用。
在一种实现方式中,所述脚本数据的获取方法包括:
获取历史版本的所述测试接口的调用参数和调用函数,将所述调用参数和所述调用函数作为所述调用信息;
对所述调用信息进行序列化,将序列化后的数据输出到脚本文件中,得到所述脚本数据。
具体地,测试接口的调用参数和调用函数没有敏感数据,比如规范、标准、业务信息等数据,并且通过调用参数和调用函数也难以还原出用户的实际设计方案,因此本实施例采用调用参数和调用函数作为调用信息,并将其序列化为文本数据,然后将序列化后的数据写至脚本文件,即完成测试用例的生成过程。
举例说明,可以通过代码注入的方式来记录接口调用函数,以及接口调用函数使用到的具体接口调用参数,例如当前函数的函数名,参数列表以及返回值等等。然后将这些数据序列化为符合lua(脚本语言)语法的字符串,并输出到脚本文件里,即得到开源的脚本格式的数据。通过脚本文件记录的接口调用信息的数据如下所示:
。
可见,脚本文件记录的数据都是底层的代码执行参数与函数调用信息,完全不体现用户真实的设计方案数据,没有敏感信息,因此可以安全地使用。
如图2所示,本实施例示例一种脚本录制的详细流程:
首先启动接口调用脚本录制;
梳理c++应用程序/组件测试接口;
对每一测试接口,通过代码注入的方式记录调用参数和接口函数调用;
将接口调用参数与接口函数调用序列化为文本数据;
写出序列化数据到lua脚本文件;
接口调用录制结束。
步骤S200、通过当前版本的所述测试接口对所述脚本数据进行回放操作。
具体地,当前版本可以为更新版本,为了避免当前版本的接口功能出现衰退,影响上层用户使用,本实施例会将脚本数据作为测试用例,并在当前版本的测试接口中执行测试用例,从而对当前版本的接口功能进行检测。
在一种实现方式中,所述回放操作可以利用预先设定的基于C++嵌入lua脚本引擎的回放测试程序。通过该程序自动加载并执行脚本数据,可以提高测试流程的自动化程度,减少人力成本的投入。
在一种实现方式中,所述通过当前版本的所述测试接口对所述脚本数据进行回放操作包括:
将当前版本的所述测试接口的接口函数注册至所述脚本数据对应的脚本语言环境中;
通过注册后的所述接口函数对所述脚本数据进行所述回放操作。
具体地,为了完成脚本数据的回放操作,本实施例首先需要将当前版本的接口函数注册至脚本语言环境中,使得计算机程序设计语言与脚本语言之间可以实现数据互换。然后在脚本语言环境中,调用注册后的接口函数执行脚本数据,以实现脚本回放。
在一种实现方式中,所述将当前版本的所述测试接口的接口函数注册至所述脚本数据对应的脚本语言环境中包括:
根据所述脚本语言环境对应的函数格式对所述接口函数进行包装;
将包装后的所述接口函数注册至所述脚本语言环境中。
具体地,注册到脚本语言环境中的接口函数需要满足一定的函数格式,因此首先需要将基于计算机程序设计语言定义的接口函数包装成脚本语言环境认可的函数格式。然后再将包装后的接口函数注册至脚本语言环境中,包括但不限于函数名称、参数列表等信息。
举例说明,注册到脚本语言环境中的接口函数需要满足以下函数原型:
typedef int (*lua_CFunction) (lua_State *L);
根据上述函数原型,将接口函数包装成脚本语言环境认可的Lua_CFunction格式。函数的实现,即参数和返回值的传递遵从脚本语言和计算机程序设计语言的数据交互机制。
在一种实现方式中,所述将包装后的所述接口函数注册至所述脚本语言环境中包括:
将包装后的所述接口函数压入虚拟栈中,其中,所述虚拟栈用于进行计算机程序设计语言与脚本语言之间的数据交互;
通过所述虚拟栈将解析后的所述脚本数据与所述接口函数进行绑定。
具体地,脚本语言与计算机程序设计语言的交互机制的基础在于脚本语言环境中提供了一个虚拟栈(C对象lua_State),脚本语言和计算机程序设计语言之间的所有类型的数据交换都将通过虚拟栈完成。脚本数据的回放需要脚本数据的脚本语言解析以及脚本数据与接口函数的绑定。通过绑定来实现脚本语言对于接口函数的构建,进而完成相应的调用和执行。在实际应用场景中,将包装后的接口函数压入虚拟栈中,并将解析后的脚本数据绑定到接口函数与对应参数上,从而完成绑定。
在一种实现方式中,所述通过所述虚拟栈将解析后的所述脚本数据与所述接口函数进行绑定包括:
通过所述虚拟栈,将所述脚本数据中的若干脚本语言函数与所述接口函数中的若干计算机程序设计函数一一对应地建立绑定关系。
具体地,脚本数据由一系列的lua函数构成,接口函数则包含多个c++函数,绑定的目的是为了将脚本数据与接口函数建立引用关系,因此需要将这些脚本函数和计算机程序设计函数进行一一绑定。
举例说明,可以调用预设的lua_register(注册函数)将脚本数据和接口函数进行绑定:
#define lua_register(L,n,f)(lua_pushcfunction(L,(f)),lua_setglobal(L,(n)));
具体地,lua_register是一个宏定义,包括lua_pushcfunction(函数压栈操作)和lua_setglobal(栈顶元素赋值操作)两种函数。调用lua_pushcfunction函数可以将计算机程序设计函数(即c++函数)压入虚拟栈中;调用lua_setglobal函数可以设置栈顶元素对应的值。在实际应用场景中,lua_pushcfunction函数将计算机程序设计函数f压入虚拟栈L中,lua_setglobal函数会设置虚拟栈L的栈顶元素对应的值n,从而对脚本函数n和栈顶的计算机程序设计函数f建立一一绑定关系。
在一种实现方式中,所述通过当前版本的所述测试接口对所述脚本数据进行回放操作包括:
将解析后的所述脚本数据压入所述虚拟栈;
通过所述绑定关系调用对应的所述计算机程序设计函数执行所述脚本数据。
具体地,运行脚本数据时会对脚本数据进行解析,并将解析得到的函数参数和函数调用压入到虚拟栈中。然后通过注册时建立的绑定关系调用对应的计算机程序设计函数,计算机程序设计函数通过虚拟栈来接收并执行参数,从而完成脚本回放。
在一种实现方式中,解析后的所述脚本数据中的参数和所述计算机程序设计函数的返回值均以正序压入所述虚拟栈。
具体地,运行脚本数据时,将对脚本数据解析得到的函数参数和函数调用压入到虚拟栈中,其中,参数以正序入栈。然后通过注册时候建立的绑定关系调用对应的计算机程序设计函数。计算机程序设计函数执行参数成功以后,若需要向脚本语言环境返回值,只需将返回值以正序压到堆栈上。
举例说明,解析后的脚本数据中第一个参数首先被压入虚拟栈,lua_gettop(获取堆栈元素个数操作)函数可以返回函数收到的参数个数,若存在第一个参数,则该参数位于索引1的位置,最后一个参数则在索引lua_gettop处。计算机程序设计函数通过虚拟栈获取并执行参数成功以后,若需要向脚本语言环境返回值,则第一个返回值最先被压入虚拟栈。
如图2所示,本实施例示例一种脚本回放的详细流程:
首先接口调用脚本回放;
将测试c++接口函数(函数定义名称、参数列表)注册到脚本语言环境中;
解析lua脚本文件,并将解析后的数据绑定到注册的c++接口函数与对应参数上;
Lua调用注册好的c++接口函数完成接口函数执行;
接口调用回放结束。
步骤S300、获取当前版本的所述测试接口基于所述回放操作输出的测试数据,根据所述测试数据确定当前版本的所述测试接口的回归测试结果。
具体地,为了保障当前版本的接口功能不会影响上层用户使用,本实施例会收集测试接口在脚本回放过程中的输出数据作为测试数据。通过分析测试数据来获取当前版本的测试接口的回归测试结果。回归测试结果可以验证接口功能在更新迭代中是否衰退,即验证当前版本的执行结果和历史版本的结果是否一致。
在一种实现方式中,所述根据所述测试数据确定当前版本的所述测试接口的回归测试结果包括:
将所述回归测试结果与预设的测试基线进行比较;
根据比较结果确定所述回归测试结果。
具体地,如图3所示,测试基线可以反映测试接口所应具有的正常功能特征,因此将回归测试结果与测试基线进行比较,可以快速得到测试接口的回归测试结果。可以理解的是,本实施例中无论是脚本回放,亦或是测试基线的导出,又或是数据对比都可以实现自动化工作,无需人工干预,从而进一步提高测试链路的自动化程度。
在一种实现方式中,所述测试基线的生成方法包括:
通过标准版本的所述测试接口对所述脚本数据进行所述回放操作;
获取标准版本的所述测试接口基于回放输出的标准测试数据,根据所述标准测试数据生成所述测试基线。
具体地,本实施例将标准版本的接口函数基于脚本回放输出的测试数据作为标准测试数据,并将其保存作为测试基线,用于对后续的更新版本的接口函数进行接口功能回归验证。
本发明的优点在于:
1、通过针对测试接口录制脚本的方式,可以自动实现脱敏的用户真实场景数据的收集,并自动实现对于用户真实场景数据的回放和测试,可以显著地缩短测试周期和减少测试成本。
2、脚本数据只记录程序运行的参数和调用信息,可以快速批量收集脱敏的用户真实场景数据,方便后续对于接口的调用监控、测试验证。并且由于不会接触上层的用户敏感的设计方案数据,具有更高的安全性。
3、可以实现测试链路全自动化,加快接口函数的持续集成(CI)/(持续部署(CD)和发布流程,支撑应用/组件产品接口功能的快速迭代和成熟。
基于上述实施例,本发明还提供了一种接口的回归测试装置,如图4所示,所述装置包括:
脚本获取模块01,用于获取脚本数据,其中,所述脚本数据基于历史版本的测试接口的调用信息生成;
脚本回放模块02,用于通过当前版本的所述测试接口对所述脚本数据进行回放操作;
数据分析模块03,用于获取当前版本的所述测试接口基于所述回放操作输出的测试数据,根据所述测试数据确定当前版本的所述测试接口的回归测试结果。
基于上述实施例,本发明还提供了一种终端设备,所述终端设备的原理框图可以如图5所示。终端设备可以包括一个或多个处理器100(图5中仅示出一个),存储器101以及存储在存储器101中并可在一个或多个处理器100上运行的计算机程序102,例如,接口的回归测试的程序。一个或多个处理器100执行计算机程序102时可以实现接口的回归测试方法实施例中的各个步骤。或者,一个或多个处理器100执行计算机程序102时可以实现接口的回归测试装置实施例中各模块/单元的功能,此处不作限制。
在一个实施例中,所称处理器100可以是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在一个实施例中,存储器101可以是电子设备的内部存储单元,例如电子设备的硬盘或内存。存储器101也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,存储器101还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器101用于存储计算机程序以及终端设备所需的其他程序和数据。存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
本领域技术人员可以理解,图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)等。
综上所述,本发明公开了一种接口的回归测试方法、装置、终端及存储介质,所述方法通过获取脚本数据,其中,所述脚本数据基于历史版本的测试接口的调用信息生成;通过当前版本的所述测试接口对所述脚本数据进行回放操作;获取当前版本的所述测试接口基于所述回放操作输出的测试数据,根据所述测试数据确定当前版本的所述测试接口的回归测试结果。本发明仅需通过测试接口在历史版本中的调用信息来构建脚本数据,然后通过当前版本的测试接口回放脚本数据即可得到回归测试结果。本发明无需接触用户的实际设计方案数据,可以有效减小用户的实际设计方案数据的泄露风险;并且本发明无需进行数据脱敏,可以实现全自动的测试链路。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (12)
1.一种接口的回归测试方法,其特征在于,所述方法包括:
获取脚本数据,其中,所述脚本数据基于历史版本的测试接口的调用信息生成;
通过当前版本的所述测试接口对所述脚本数据进行回放操作;
获取当前版本的所述测试接口基于所述回放操作输出的测试数据,根据所述测试数据确定当前版本的所述测试接口的回归测试结果。
2.根据权利要求1所述的接口的回归测试方法,其特征在于,所述脚本数据的获取方法包括:
获取历史版本的所述测试接口的调用参数和调用函数,将所述调用参数和所述调用函数作为所述调用信息;
对所述调用信息进行序列化,将序列化后的数据输出到脚本文件中,得到所述脚本数据。
3.根据权利要求1所述的接口的回归测试方法,其特征在于,所述通过当前版本的所述测试接口对所述脚本数据进行回放操作包括:
将当前版本的所述测试接口的接口函数注册至所述脚本数据对应的脚本语言环境中;
通过注册后的所述接口函数对所述脚本数据进行所述回放操作。
4.根据权利要求3所述的接口的回归测试方法,其特征在于,所述将当前版本的所述测试接口的接口函数注册至所述脚本数据对应的脚本语言环境中包括:
根据所述脚本语言环境对应的函数格式对所述接口函数进行包装;
将包装后的所述接口函数注册至所述脚本语言环境中。
5.根据权利要求4所述的接口的回归测试方法,其特征在于,所述将包装后的所述接口函数注册至所述脚本语言环境中包括:
将包装后的所述接口函数压入虚拟栈中,其中,所述虚拟栈用于进行计算机程序设计语言与脚本语言之间的数据交互;
通过所述虚拟栈将解析后的所述脚本数据与所述接口函数进行绑定。
6.根据权利要求5所述的接口的回归测试方法,其特征在于,所述通过所述虚拟栈将解析后的所述脚本数据与所述接口函数进行绑定包括:
通过所述虚拟栈,将所述脚本数据中的若干脚本语言函数与所述接口函数中的若干计算机程序设计函数一一对应地建立绑定关系。
7.根据权利要求6所述的接口的回归测试方法,其特征在于,所述通过当前版本的所述测试接口对所述脚本数据进行回放操作包括:
将解析后的所述脚本数据压入所述虚拟栈;
通过所述绑定关系调用对应的所述计算机程序设计函数执行所述脚本数据。
8.根据权利要求1所述的接口的回归测试方法,其特征在于,所述根据所述测试数据确定当前版本的所述测试接口的回归测试结果包括:
将所述测试数据与预设的测试基线进行比较;
根据比较结果确定所述回归测试结果。
9.根据权利要求8所述的接口的回归测试方法,其特征在于,所述测试基线的生成方法包括:
通过标准版本的所述测试接口对所述脚本数据进行所述回放操作;
获取标准版本的所述测试接口基于所述回放操作输出的标准测试数据,根据所述标准测试数据生成所述测试基线。
10.一种接口的回归测试装置,其特征在于,所述装置包括:
脚本获取模块,用于获取脚本数据,其中,所述脚本数据基于历史版本的测试接口的调用信息生成;
脚本回放模块,用于通过当前版本的所述测试接口对所述脚本数据进行回放操作;
数据分析模块,用于获取当前版本的所述测试接口基于所述回放操作输出的测试数据,根据所述测试数据确定当前版本的所述测试接口的回归测试结果。
11.一种终端,其特征在于,所述终端包括有存储器和一个以上处理器;所述存储器存储有一个以上的程序;所述程序包含用于执行如权利要求1-9中任一所述的接口的回归测试方法的指令;所述处理器用于执行所述程序。
12.一种计算机可读存储介质,其上存储有多条指令,其特征在于,所述指令适用于由处理器加载并执行,以实现上述权利要求1-9任一所述的接口的回归测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410179897.2A CN117724989B (zh) | 2024-02-18 | 一种接口的回归测试方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410179897.2A CN117724989B (zh) | 2024-02-18 | 一种接口的回归测试方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117724989A true CN117724989A (zh) | 2024-03-19 |
CN117724989B CN117724989B (zh) | 2024-06-11 |
Family
ID=
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335155A (zh) * | 2015-10-20 | 2016-02-17 | 华东师范大学 | 一种仅需配置云端脚本即可实现不同IoT应用的方法 |
CN106339312A (zh) * | 2015-07-17 | 2017-01-18 | 腾讯科技(深圳)有限公司 | Api测试方法和系统 |
CN108345458A (zh) * | 2018-01-25 | 2018-07-31 | 微梦创科网络科技(中国)有限公司 | 一种静态编译语言与脚本语言的调用方法及系统 |
CN109960653A (zh) * | 2019-02-18 | 2019-07-02 | 天津五八到家科技有限公司 | 回归测试方法、装置、设备和存储介质 |
WO2022134915A1 (zh) * | 2020-12-25 | 2022-06-30 | 中兴通讯股份有限公司 | 一种接口测试方法、计算机设备及计算机可读存储介质 |
CN116149977A (zh) * | 2021-11-22 | 2023-05-23 | 北京字跳网络技术有限公司 | Sdk测试方法、装置、电子设备及存储介质 |
CN116662186A (zh) * | 2023-06-02 | 2023-08-29 | 中国工商银行股份有限公司 | 基于逻辑回归的日志回放断言方法及其装置、电子设备 |
CN117493188A (zh) * | 2023-11-07 | 2024-02-02 | 天翼电子商务有限公司 | 接口测试方法及装置、电子设备及存储介质 |
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339312A (zh) * | 2015-07-17 | 2017-01-18 | 腾讯科技(深圳)有限公司 | Api测试方法和系统 |
CN105335155A (zh) * | 2015-10-20 | 2016-02-17 | 华东师范大学 | 一种仅需配置云端脚本即可实现不同IoT应用的方法 |
CN108345458A (zh) * | 2018-01-25 | 2018-07-31 | 微梦创科网络科技(中国)有限公司 | 一种静态编译语言与脚本语言的调用方法及系统 |
CN109960653A (zh) * | 2019-02-18 | 2019-07-02 | 天津五八到家科技有限公司 | 回归测试方法、装置、设备和存储介质 |
WO2022134915A1 (zh) * | 2020-12-25 | 2022-06-30 | 中兴通讯股份有限公司 | 一种接口测试方法、计算机设备及计算机可读存储介质 |
CN116149977A (zh) * | 2021-11-22 | 2023-05-23 | 北京字跳网络技术有限公司 | Sdk测试方法、装置、电子设备及存储介质 |
CN116662186A (zh) * | 2023-06-02 | 2023-08-29 | 中国工商银行股份有限公司 | 基于逻辑回归的日志回放断言方法及其装置、电子设备 |
CN117493188A (zh) * | 2023-11-07 | 2024-02-02 | 天翼电子商务有限公司 | 接口测试方法及装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
党琦;董广然;苟茹君;秦勃;: "测控设备运行流程远程定制技术研究", 无线电工程, vol. 34, no. 01, 31 January 2016 (2016-01-31), pages 16 - 19 * |
石琦;: "Lua在自动测试中的应用", 自动化技术与应用, no. 12, 25 December 2009 (2009-12-25), pages 31 - 34 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459962B (zh) | 代码规范性检测方法、装置、终端设备及存储介质 | |
CN110879781B (zh) | 程序调试方法、装置、电子设备及计算机可读存储介质 | |
CN110209520B (zh) | 一种提高ssd测试效率的方法、装置、计算机设备及存储介质 | |
CN107943702B (zh) | 硬件兼容性测试方法及装置 | |
CN117724989B (zh) | 一种接口的回归测试方法、装置、终端及存储介质 | |
CN116701208A (zh) | 一种芯片中内核模块的验证方法、系统、芯片和设备 | |
CN117724989A (zh) | 一种接口的回归测试方法、装置、终端及存储介质 | |
CN109684205B (zh) | 系统测试方法、装置、电子设备及存储介质 | |
CN114443375A (zh) | 测试方法及装置、电子装置及计算机可读存储介质 | |
CN114238119A (zh) | 用于安卓应用的自动化测试方法和系统以及存储介质 | |
CN113485919A (zh) | 测试方法、测试装置及计算机可读存储介质 | |
TWI766419B (zh) | 測試方法及裝置、電子裝置及電腦可讀存儲介質 | |
CN115495388B (zh) | 用于ai推理芯片的芯片验证方法、装置、设备及介质 | |
CN117236277B (zh) | 用于检查寄存器的方法及装置、电子设备 | |
CN115659342B (zh) | 一种无害执行pe文件的方法、装置、电子设备及存储介质 | |
CN113312080B (zh) | 芯片eda仿真中更新芯片软硬件配置的系统、装置及方法 | |
CN113408845B (zh) | 生产流程的处理方法、装置、计算机设备和存储介质 | |
CN109446091B (zh) | 业务实体对象测试方法及装置 | |
CN111367816B (zh) | 移动测试方法、装置、计算机设备及存储介质 | |
CN112783759B (zh) | 白盒测试任务执行方法、装置、存储介质和计算机设备 | |
CN108628750B (zh) | 一种测试代码处理方法及装置 | |
CN117591394A (zh) | 一种自动化测试系统及方法 | |
CN117453514A (zh) | 代码分析方法及装置、计算机可读存储介质、终端 | |
CN117349142A (zh) | 数据的测试方法、装置及存储介质 | |
CN115757140A (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 | ||
GR01 | Patent grant |