CN115080417A - 一种测试用例自动化生成方法、电子设备及存储介质 - Google Patents
一种测试用例自动化生成方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115080417A CN115080417A CN202210732488.1A CN202210732488A CN115080417A CN 115080417 A CN115080417 A CN 115080417A CN 202210732488 A CN202210732488 A CN 202210732488A CN 115080417 A CN115080417 A CN 115080417A
- Authority
- CN
- China
- Prior art keywords
- data
- interface
- test
- rule
- log
- 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
Images
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)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种测试用例自动化生成方法,该方法包括:通过定义待测试接口的接口契约,获得所述接口契约规范的日志格式对应的日志数据;利用测试规则对所述日志数据的原始接口数据进行处理,进而得到有效接口数据和增强接口数据,利用框架模板装载所述日志数据的原始基础数据进而得到后台测试框架数据;组装所述有效接口数据、所述增强接口数据和所述后台测试框架数据而得到完整测试用例。通过上述调节方法,使测试人员编写自动化测试用例时间缩短,免去生成测试数据的时间消耗,减少场景用例编写梳理时间,而对于场景及用例变更的情况,可以通过logsvr的监控,及时更新场景用例,免去管理接口变更的成本。
Description
技术领域
本申请涉及计算机数据维护技术领域,特别是涉及一种测试用例自动化生成方法、电子设备及存储介质。
背景技术
随着微服务框架的兴起,应用编程接口API(Application ProgramingInterface)测试迎来了***性的增长,而银行***由于存量服务多,新老接口耦合严重,业务逻辑更为复杂,对于测试人员不仅需要梳理场景逻辑,同时也要针对接口进行基础数据测试,然而人工编写测试用例,繁琐又低效,耗费大量人力的同时,还会发生基础数据测试遗漏,导致接口测试覆盖不全的情况;同时,如果业务接口逻辑有变更,更新这些存量测试用例又将是一项巨大的工程。而对银行业务后台通用网关接口CGI(Common GatewayInterface)和接口用例的编写需要经历繁杂的流程,对业务人员的能力要求高,耗费业务人员大量的时间。
鉴于此,针对业务人员的需求,改进调试用例的流程,降低调试用例的难度,减少调试用例的时间,变得尤为重要。
发明内容
鉴于此,本申请提供一种测试用例自动化生成方法、电子设备及存储介质,以解决上述技术问题。
本申请第一方面提供了一种测试用例自动化生成方法,该方法包括:通过定义待测试接口的接口契约,获得所述接口契约规范的日志格式对应的日志数据;利用测试规则对所述日志数据的原始接口数据进行处理进而得到有效接口数据和增强接口数据,利用框架模板装载所述日志数据的原始基础数据进而得到后台测试框架数据;组装所述有效接口数据、所述增强接口数据和所述后台测试框架数据而得到完整测试用例。
在一些实施例中,所述利用测试规则对所述日志数据的原始接口数据进行处理进而得到有效接口数据包括:利用所述测试规则中的过滤规则对所述日志数据的原始接口数据中的请求数据进行过滤,进而得到所述有效接口数据。
在一些实施例中,所述利用所述测试规则中的过滤规则对所述日志数据的原始接口数据中的请求数据进行过滤包括:利用所述测试规则中的过滤规则对所述日志数据的原始接口数据中的请求数据进行内部去重、历史数据去重、非关键数据过滤、等价类/边界值筛选。
在一些实施例中,所述利用测试规则对所述日志数据的原始接口数据进行处理进而得到增强接口数据包括:利用所述测试规则中的增强规则对所述日志数据的原始接口数据中的请求数据和响应数据进行增强,进而得到所述增强接口数据。
在一些实施例中,所述利用所述测试规则中的增强规则对所述日志数据的原始接口数据中的请求数据和响应数据进行增强包括:利用所述测试规则中的增强规则,通过拉取pb文件得到bool和枚举变量,将所述bool、所述枚举变量结合所述请求数据、所述响应数据,得到所述增强接口数据。
在一些实施例中,所述获得所述接口契约规范的日志格式对应的日志数据之后包括:结合配置管理数据库的模块和所述待测试接口的映射表、以及配置的自动化接入服务列表,以得到所述原始接口数据和所述原始基础数据。
在一些实施例中,所述获得所述接口契约规范的日志格式对应的日志数据之前包括:通过logicsvr的服务CApiBaseCGI基类进行数据上报。
在一些实施例中,所述组装所述有效接口数据、所述增强接口数据和所述后台测试框架数据而得到完整测试用例之后包括:将所述完整测试用例入库到测试管理平台的后台,以进行检查点补齐、根据服务和对应的所述待测试接口的情况生成自动化测试计划,并接入到发布流程。
本申请第二方面提供了一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至8任一项所述的测试用例自动化生成方法。
本申请第三方面提供了一种非易失性计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至8任一项所述的一种测试用例自动化生成方法。
综上,针对用例编排繁琐、基础数据测试耗时、接口变更难维护等问题,我们首先通过定义接口契约规范日志格式,进而生成接口用例,再通过规则解析自动装配相应测试规则,同时拉取线上日志数据,对接口进行组装,最后形成了完整的自动化测试用例。测试人员只需要关注手工触发接口调用,然后给自动生成的用例补齐检查点就能够顺利实现接口基础数据自动化测试;再通过Logsvr解析日志场景,通过Rid解析相关场景用例的模板,即可形成基本场景自动化测试用例。测试人员只需补齐相关检查点,即可完成全链路场景自动化。从而使测试人员编写自动化测试用例时间缩短80%以上,免去生成测试数据的时间消耗,减少60%场景用例编写梳理时间,而对于场景及用例变更的情况,可以通过logsvr的监控,及时更新场景用例,免去管理接口变更的成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1是本申请测试用例自动化生成方法一实施例的流程示意图;
图2是本申请自动用例生成服务一实施例的流程示意图;
图3是本申请电子设备80一实施例的框架示意图;
图4为本申请非易失性计算机可读存储介质90一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或者请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理个人信息种类等信息。
请参阅图1,图1是本申请测试用例自动化生成方法一实施例的流程示意图。该方法的执行主体可以是数据处理装置,例如,数据处理方法可以由终端设备或服务器或其它处理设备执行,其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。具体而言,可以包括如下步骤:
步骤S11:通过定义待测试接口的接口契约,获得所述接口契约规范的日志格式对应的日志数据。
可选的,如图2,日志数据包括上报数据和日志收集,上报数据的获取针对于logicsvr的服务,通过服务的CApiBaseCGI基类进行。而日志收集借助于svrkit的服务。
其中,logicsvr基于svrkit框架。针对logicsvr的服务,是通过服务的CApiBaseCGI基类进行数据上报,而svrkit的服务,则是借助svrkit统一的日志收集来进行处理。
在获得所述接口契约规范的日志格式对应的日志数据之后,经过数据采集得到的日志收集和上报数据,再结合配置管理数据库(CMDB,Configure Manage Data Base)的模块和接口映射表,以及配置的自动化接入服务列表,可以得到原始接口数据(包括请求和响应)和原始基础数据。
步骤S12:利用测试规则对所述日志数据的原始接口数据进行处理进而得到有效接口数据和增强接口数据,利用框架模板装载日志数据的原始基础数据进而得到后台测试框架数据。
在本实施例中,如图2,利用测试规则对所述日志数据的原始接口数据进行处理进而得到有效接口数据包括:利用测试规则中的过滤规则对日志数据的原始接口数据中的请求数据进行过滤,进而得到所述有效接口数据。其中,对请求数据进行的过滤规则包括:内部去重、历史数据去重、非关键数据过滤、等价类/边界值筛选。
同样的,利用测试规则对所述日志数据的原始接口数据进行处理进而得到增强接口数据包括:利用测试规则中的增强规则对所述日志数据的原始接口数据中的请求数据和响应数据进行增强,进而得到所述增强接口数据。其中,对请求数据和响应数据进行的增强规则包括:通过拉取pb文件得到bool和枚举变量,将所述bool、所述枚举变量结合所述请求数据、所述响应数据,得到所述增强接口数据。
步骤S13:组装所述有效接口数据、所述增强接口数据和所述后台测试框架数据而得到完整测试用例。
本实施例中,在组装所述有效接口数据包括所述增强接口数据和所述后台测试框架数据而得到完整测试用例之后包括:将所述完整测试用例入库到测试管理平台的后台,以进行检查点补齐、根据服务和对应的所述待测试接口的情况生成自动化测试计划,并接入到发布流程。
在本实施例中,该方案基于日志解析的后台自动化用例自动生成方案通过定义Json Schema数据结构,维护接口契约信息,并根据契约自动生成测试用例,同时针对接口契约变更难以维护的情况,通过监听接口信息变更,自动更新契约信息,免去人工维护的工作。
综上,针对用例编排繁琐、基础数据测试耗时、接口变更难维护等问题,我们首先通过定义接口契约规范日志格式,进而生成接口用例,再通过规则解析自动装配相应测试规则,同时拉取线上日志数据,对接口进行组装,最后形成了完整的自动化测试用例。测试人员只需要关注手工触发接口调用,然后给自动生成的用例补齐检查点就能够顺利实现接口基础数据自动化测试;再通过Logsvr解析日志场景,通过Rid解析相关场景用例的模板,即可形成基本场景自动化测试用例,测试人员只需补齐相关检查点,即可完成全链路场景自动化。从而使测试人员编写自动化测试用例时间缩短80%以上,免去生成测试数据的时间消耗,减少60%场景用例编写梳理时间,而对于场景及用例变更的情况,可以通过logsvr的监控,及时更新场景用例,免去管理接口变更的成本。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
请参阅图3,图3是本申请电子设备80一实施例的框架示意图。电子设备80包括相互耦接的存储器81和处理器82,处理器82用于执行存储器81中存储的程序指令,以实现上述任一测试用例自动化生成方法实施例的步骤。在一个具体的实施场景中,电子设备80可以包括但不限于:微型计算机、服务器,此外,电子设备80还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
具体而言,处理器82用于控制其自身以及存储器81以实现上述任一测试用例自动化生成方法实施例的步骤。处理器82还可以称为CPU(Central Processing Unit,中央处理单元)。处理器82可能是一种集成电路芯片,具有信号的处理能力。处理器82还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器82可以由集成电路芯片共同实现。
请参阅图4,图4为本申请非易失性计算机可读存储介质90一实施例的框架示意图。非易失性计算机可读存储介质90存储有能够被处理器运行的程序指令901,程序指令901用于实现上述任一测试用例自动化生成方法实施例的步骤。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种测试用例自动化生成方法,其特征在于,包括:
通过定义待测试接口的接口契约,获得所述接口契约规范的日志格式对应的日志数据;
利用测试规则对所述日志数据的原始接口数据进行处理进而得到有效接口数据和增强接口数据,利用框架模板装载所述日志数据的原始基础数据进而得到后台测试框架数据;
组装所述有效接口数据、所述增强接口数据和所述后台测试框架数据而得到完整测试用例。
2.根据权利要求1所述的方法,其特征在于,
所述利用测试规则对所述日志数据的原始接口数据进行处理进而得到有效接口数据包括:
利用所述测试规则中的过滤规则对所述日志数据的原始接口数据中的请求数据进行过滤,进而得到所述有效接口数据。
3.根据权利要求2所述的方法,其特征在于,
所述利用所述测试规则中的过滤规则对所述日志数据的原始接口数据中的请求数据进行过滤包括:
利用所述测试规则中的过滤规则对所述日志数据的原始接口数据中的请求数据进行内部去重、历史数据去重、非关键数据过滤、等价类/边界值筛选。
4.根据权利要求1所述的方法,其特征在于,
所述利用测试规则对所述日志数据的原始接口数据进行处理进而得到增强接口数据包括:
利用所述测试规则中的增强规则对所述日志数据的原始接口数据中的请求数据和响应数据进行增强,进而得到所述增强接口数据。
5.根据权利要求4所述的方法,其特征在于,
所述利用所述测试规则中的增强规则对所述日志数据的原始接口数据中的请求数据和响应数据进行增强包括:
利用所述测试规则中的增强规则,通过拉取pb文件得到bool和枚举变量,将所述bool、所述枚举变量结合所述请求数据、所述响应数据,得到所述增强接口数据。
6.根据权利要求1所述的方法,其特征在于,
所述获得所述接口契约规范的日志格式对应的日志数据之后包括:
结合配置管理数据库的模块和所述待测试接口的映射表、以及配置的自动化接入服务列表,以得到所述原始接口数据和所述原始基础数据。
7.根据权利要求1所述的方法,其特征在于,
所述获得所述接口契约规范的日志格式对应的日志数据之前包括:
通过logicsvr的服务CApiBaseCGI基类进行数据上报。
8.根据权利要求1所述的方法,其特征在于,
所述组装所述有效接口数据、所述增强接口数据和所述后台测试框架数据而得到完整测试用例之后包括:
将所述完整测试用例入库到测试管理平台的后台,以进行检查点补齐、根据服务和对应的所述待测试接口的情况生成自动化测试计划,并接入到发布流程。
9.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至8任一项所述的测试用例自动化生成方法。
10.一种非易失性计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至8任一项所述的测试用例自动化生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210732488.1A CN115080417A (zh) | 2022-06-25 | 2022-06-25 | 一种测试用例自动化生成方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210732488.1A CN115080417A (zh) | 2022-06-25 | 2022-06-25 | 一种测试用例自动化生成方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115080417A true CN115080417A (zh) | 2022-09-20 |
Family
ID=83255050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210732488.1A Pending CN115080417A (zh) | 2022-06-25 | 2022-06-25 | 一种测试用例自动化生成方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080417A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591418A (zh) * | 2023-11-29 | 2024-02-23 | 中国东方航空股份有限公司 | 用于软件发布的数据测试方法、装置和存储介质 |
-
2022
- 2022-06-25 CN CN202210732488.1A patent/CN115080417A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117591418A (zh) * | 2023-11-29 | 2024-02-23 | 中国东方航空股份有限公司 | 用于软件发布的数据测试方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108090567B (zh) | 电力通信***故障诊断方法及装置 | |
CN110956269A (zh) | 数据模型的生成方法、装置、设备以及计算机存储介质 | |
CN110704873A (zh) | 一种防止敏感数据泄漏的方法及*** | |
CN106021054A (zh) | 一种对bmc升降级稳定性进行测试的方法及装置 | |
CN109871368B (zh) | 数据库检测方法、装置、计算机装置及存储介质 | |
CN112256682B (zh) | 一种多维异构数据的数据质量检测方法及装置 | |
CN105868956A (zh) | 一种数据处理方法及装置 | |
CN112835808A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN115080417A (zh) | 一种测试用例自动化生成方法、电子设备及存储介质 | |
CN113591079B (zh) | 获取异常应用安装包的方法、装置及电子设备 | |
CN113360396A (zh) | 一种软件性能压测方法及装置 | |
CN109471916B (zh) | 天气预报生成方法及装置 | |
CN117493188A (zh) | 接口测试方法及装置、电子设备及存储介质 | |
CN117056352A (zh) | 数据的展示方法、装置、终端设备和可读存储介质 | |
CN111767218A (zh) | 一种用于持续集成的自动化测试方法、设备及存储介质 | |
CN114936199B (zh) | ***重构的数据处理方法、计算机设备及存储介质 | |
CN111045915A (zh) | 一种基于产品功能测试用例的安全测试的方法和装置 | |
CN113238911B (zh) | 告警处理方法及装置 | |
CN114595216A (zh) | 数据校验方法、装置、存储介质及电子设备 | |
CN114997815A (zh) | 一种实验室信息管理***的处理方法 | |
CN114637739A (zh) | 数据库管控方法、***、计算机设备及计算机存储介质 | |
CN111222739B (zh) | 核电站的任务分配方法及核电站的任务分配*** | |
CN113434839A (zh) | 前端页面的访问方法和装置、存储介质及电子装置 | |
CN113452533A (zh) | 计费自巡检、自愈合方法、装置、计算机设备和存储介质 | |
Zhang | Research on software development and test environment automation based on android platform |
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 |