CN116795723B - 链式单元测试处理方法、装置及计算机设备 - Google Patents
链式单元测试处理方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN116795723B CN116795723B CN202311049474.0A CN202311049474A CN116795723B CN 116795723 B CN116795723 B CN 116795723B CN 202311049474 A CN202311049474 A CN 202311049474A CN 116795723 B CN116795723 B CN 116795723B
- Authority
- CN
- China
- Prior art keywords
- test
- interface
- entry
- unit
- session identifier
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 452
- 238000003672 processing method Methods 0.000 title abstract description 21
- 238000004088 simulation Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000001545 Page's trend test Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及人工智能技术领域,具体公开了一种链式单元测试处理方法、装置及计算机设备,所述方法包括:通过单元测试接口接收被测页面的测试入参,并确定所述测试入参中的会话标识;将所述测试入参与所述单元测试接口所配置的入参过滤器进行匹配,在所述测试入参匹配到入参过滤器的情况下,获取所述匹配到的入参过滤器返回的模拟数据对象;所述单元测试接口配备有若干入参过滤器,所述入参过滤器对应有唯一的模拟数据对象;将所述会话标识和所述模拟数据对象返回至所述被测页面;记录所述单元测试接口成功匹配入参过滤器的匹配日志,根据所述匹配日志和所述会话标识确定所述测试任务的逻辑顺序。本公开可以提高页面测试的连贯性、准确性和稳定性。
Description
技术领域
本公开涉及人工智能技术领域,特别是涉及一种链式单元测试处理方法、装置及计算机设备。
背景技术
随着网页开发的深入和复杂化,前端页面使用mock工具提供的单元测试接口模拟后端服务返回数据进行开发的方式已经被成熟使用,该种方式可以减少后端服务的配合成本,以及其他的后端服务不确定性。
在相关技术中,在对前端页面进行测试时,mock工具面向单元测试,覆盖面局限,并且对于待测任务的流程较长且需要结合上下文测试数据得到测试结果的情况,mock工具难以满足测试任务准确性和连贯性的要求。
发明内容
基于此,有必要针对上述技术问题,提供一种链式单元测试处理方法、装置、计算机设备、存储介质和计算机程序产品。
第一方面,本公开提供了一种链式单元测试处理方法。所述方法包括:
通过单元测试接口接收被测页面的测试入参,并确定所述测试入参中的会话标识;所述会话标识用于唯一确定所述被测页面的测试任务的会话流程,所述测试任务包括至少一个单元测试接口;
将所述测试入参与所述单元测试接口所配置的入参过滤器进行匹配,在所述测试入参匹配到入参过滤器的情况下,获取所述匹配到的入参过滤器返回的模拟数据对象;所述单元测试接口配备有若干入参过滤器,所述入参过滤器对应有唯一的模拟数据对象;
将所述会话标识和所述模拟数据对象返回至所述被测页面;
记录所述单元测试接口成功匹配入参过滤器的匹配日志,根据所述匹配日志和所述会话标识确定所述测试任务的逻辑顺序,以得到所述测试任务的测试结果。
在其中一个实施例中,所述方法还包括:
根据所述被测页面的测试任务配置对应的接口模拟工程,所述接口模拟工程包括至少一个单元测试接口;
标记所述接口模拟工程中的起始接口和非起始接口。
在其中一个实施例中,所述通过单元测试接口接收被测页面的测试入参,并确定所述测试入参中的会话标识包括:
通过单元测试接口接收所述测试入参,识别所述单元测试接口是否为起始接口,并识别所述测试入参中是否携带所述会话标识;
在所述单元测试接口为起始接口,且所述测试入参中未携带会话标识的情况下,为所述测试入参生成会话标识,并将生成的所述会话标识作为所述会话流程的唯一标识;
在所述单元测试接口为起始接口,且所述测试入参中携带会话标识的情况下,删除所述测试入参中携带的会话标识,并生成新的会话标识,并将生成新的所述会话标识作为所述会话流程的唯一标识;
在所述单元测试接口为非起始接口,且所述测试入参中携带会话标识的情况下,将所述会话标识作为所述会话流程的唯一标识。
在其中一个实施例中,所述方法还包括:
在所述测试入参未匹配到入参过滤器的情况下,将所述测试入参发送至测试环境,并接收所述测试环境的响应结果。
在其中一个实施例中,所述方法还包括:
根据所述测试任务的逻辑顺序确定所述单元测试接口的调用先后链路,根据所述调用先后链路优化所述单元测试接口。
第二方面,本公开还提供了一种链式单元测试处理装置。所述装置包括:
入参模块,用于通过单元测试接口接收被测页面的测试入参,并确定所述测试入参中的会话标识;所述会话标识用于唯一确定所述被测页面的测试任务的会话流程,所述测试任务包括至少一个单元测试接口;
入参过滤模块,用于将所述测试入参与所述单元测试接口所配置的入参过滤器进行匹配,在所述测试入参匹配到入参过滤器的情况下,获取所述匹配到的入参过滤器返回的模拟数据对象;所述单元测试接口配备有若干入参过滤器,所述入参过滤器对应有唯一的模拟数据对象;
模拟数据模块,用于将所述会话标识和所述模拟数据对象返回至所述被测页面;
测试结果模块,用于记录所述单元测试接口成功匹配入参过滤器的匹配日志,根据所述匹配日志和所述会话标识确定所述测试任务的逻辑顺序,以得到所述测试任务的测试结果。
在其中一个实施例中,所述装置还包括:
测试配置模块,用于根据所述被测页面的测试任务配置对应的接口模拟工程,所述接口模拟工程包括至少一个单元测试接口;
接口标记模块,用于标记所述接口模拟工程中的起始接口和非起始接口。
在其中一个实施例中,所述入参模块包括:
识别单元,用于通过单元测试接口接收所述测试入参,识别所述单元测试接口是否为起始接口,并识别所述测试入参中是否携带所述会话标识;
第一标识生成单元,用于在所述单元测试接口为起始接口,且所述测试入参中未携带会话标识的情况下,为所述测试入参生成会话标识,并将生成的所述会话标识作为所述会话流程的唯一标识;
第二标识生成单元,用于在所述单元测试接口为起始接口,且所述测试入参中携带会话标识的情况下,删除所述测试入参中携带的会话标识,并生成新的会话标识,并将生成新的所述会话标识作为所述会话流程的唯一标识;
标识确定单元,用于在所述单元测试接口为非起始接口,且所述测试入参中携带会话标识的情况下,将所述会话标识作为所述会话流程的唯一标识。
在其中一个实施例中,所述装置还包括:
响应模块,用于在所述测试入参未匹配到入参过滤器的情况下,将所述测试入参发送至测试环境,并接收所述测试环境的响应结果。
在其中一个实施例中,所述装置还包括:
调用链路模块,用于根据所述测试任务的逻辑顺序确定所述单元测试接口的调用先后链路,根据所述调用先后链路优化所述单元测试接口。
第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述链式单元测试处理方法的步骤。
第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述链式单元测试处理方法的步骤。
第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述链式单元测试处理方法的步骤。
上述链式单元测试处理方法、装置、计算机设备、存储介质和计算机程序产品,至少包括以下有益效果:
本公开通过单元测试接口接收测试入参,并在单元测试接口处通过匹配入参过滤器获得不同的测试入参对应的模拟数据对象,同时通过会话标识和匹配日志得到测试任务的逻辑顺序,支持长页面、多分支测试流程的mock数据返回,以方便完成连贯的页面功能开发,减少集成测试出现问题的概率,大大提高了页面测试的连贯性、准确性和稳定性;支持单元测试接口的前后接口内容关联,支持上下文数据内容动态返回;支持测试用例的多接口mock测试,从技术层面支持测试用例的功能完成度验证,以及可以通过测试用例的累积,在功能耦合的页面支持多测试用例的回归测试验证。
附图说明
为了更清楚地说明本公开实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中链式单元测试处理方法的应用环境图;
图2为一个实施例中链式单元测试处理方法的流程示意图;
图3为一个实施例中配置接口模拟工程步骤的流程示意图;
图4为一个实施例中确定会话标识步骤的流程示意图;
图5为一个实施例中测试入参的交互流程示意图;
图6为一个实施例中链式单元测试处理装置的结构框图;
图7为另一个实施例中链式单元测试处理装置的结构框图;
图8为一个实施例中入参模块的结构框图;
图9为一个实施例中计算机设备的内部结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中在本公开的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本公开。
以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中,术语“和/或”包括相关所列项目的任何及所有组合。
本公开实施例提供的链式单元测试处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与测试服务器104进行通信,测试服务器104与后端服务器106通信连接。数据存储***可以存储测试服务器104需要处理的数据。数据存储***可以集成在测试服务器104上,也可以放在云上或其他网络服务器上。测试服务器104可以对终端102上页面进行测试,终端102用于向测试服务器104发送测试入参,测试服务器104可以通过单元测试接口接收被测页面的测试入参,对并确定所述测试入参中的会话标识;以及将测试入参与单元测试接口所配置的入参过滤器进行匹配,在测试入参匹配到入参过滤器的情况下,获取匹配到的入参过滤器返回的模拟数据对象,将会话标识和模拟数据对象返回至所述被测页面。测试服务器104还可以在测试入参未匹配到入参过滤器的情况下,将测试入参发送至后端服务器106,并接收后端服务器106的返回结果。后端服务器106上部署有用于测试的软件和硬件构成的测试环境。测试服务器104还可以将得到的模拟数据对象和匹配日志得到测试任务的逻辑顺序,进而得到测试结果。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。测试服务器104和后端服务器106均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在本公开的一些实施例中,如图2所示,提供了一种链式单元测试处理方法,以该方法应用于图1中的测试服务器为例进行说明,包括以下步骤:
步骤210,通过单元测试接口接收被测页面的测试入参,并确定所述测试入参中的会话标识;所述会话标识用于唯一确定所述被测页面的测试任务的会话流程,所述测试任务包括至少一个单元测试接口。
其中,单元测试接口由mock工具提供,可以为mock接口。mock工具通常是指在单元测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试工具。mock工具可以包括EasyMock工具、Moco工具等,EasyMock工具通常是指一套用于通过简单的方法对于给定的接口生成Mock对象的类库,它提供对单个接口的模拟返回。Moco工具通常是指一种通过简单配置request(请求)和response(响应)对象,达到模拟单个请求返回mock数据的效果的mock工具。
示例性地,测试服务器可以通过运行测试用例进行待测页面的测试,测试用例通常是指对一项特定的软件产品进行测试任务的描述,是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。通常情况下,一个测试用例对应一项测试任务,在执行测试任务时,测试服务器可以通过单元测试接口接收被测页面的测试入参,以及识别测试入参中的会话标识。会话标识可以用于唯一确定被测页面的测试任务的会话流程,会话标识可以为UUID(Universally Unique Identifier,通用唯一识别码)字段。测试任务通常通过一个会话流程完成测试任务,测试任务包括至少一个单元测试接口,即测试任务可以包括一系列的单元测试接口。
步骤220,将所述测试入参与所述单元测试接口所配置的入参过滤器进行匹配,在所述测试入参匹配到入参过滤器的情况下,获取所述匹配到的入参过滤器返回的模拟数据对象;所述单元测试接口配备有若干入参过滤器,所述入参过滤器对应有唯一的模拟数据对象。
其中,每个单元测试接口处可以配置有若干个入参过滤器,每个入参过滤器对应一个模拟数据对象。
示例性地,测试服务器可以在单元测试接口处将接收到的测试入参与该单元测试接口的入参过滤器根据预设的匹配规则进行匹配,匹配规则用于判断测试入参是否命中该入参过滤器。测试服务器在确定测试入参匹配到入参过滤器的情况下,可以获取匹配到的入参过滤器对应的模拟数据对象,即可以在单元测试接口处根据不同的测试入参获得对应的模拟数据对象,支持测试页面功能的多条分支逻辑。
步骤230,将所述会话标识和所述模拟数据对象返回至所述被测页面。
示例性地,测试服务器在获得模拟数据对象后,将模拟数据对象和本次会话流程的会话标识共同返回至终端的被测页面。
在一些实施例中,测试服务器可以采用cookies技术(一种在Web服务器和浏览器之间存储信息的技术)保存该会话标识字段,终端浏览器支持在前端页面测试流程中调用多个单元测试接口时,可以自动将Cookies数据打包传递给测试服务器中所有相关联的后端接口服务。
步骤240,记录所述单元测试接口成功匹配入参过滤器的匹配日志,根据所述匹配日志和所述会话标识确定所述测试任务的逻辑顺序,以得到所述测试任务的测试结果。
示例性地,测试服务器可以记录所有单元测试接口成功匹配入参过滤器的匹配日志,匹配日志中可以包括单元测试接口索引标识(用于查询单元测试接口)、单元测试接口调用顺序、时间信息等。测试服务器可以根据匹配日志及其对应的会话标识分析得到测试任务中所有单元测试接口的调用顺序和单元测试接口数量等,即可以确定测试任务的逻辑顺序,可以结合上下文准确地得到测试任务的测试结果。
上述链式单元测试处理方法中,通过单元测试接口接收测试入参,并在单元测试接口处通过匹配入参过滤器获得不同的测试入参对应的模拟数据对象,同时通过会话标识和匹配日志得到测试任务的逻辑顺序,支持长页面、多分支测试流程的mock数据返回,以方便完成连贯的页面功能开发,减少集成测试出现问题的概率,大大提高了页面测试的连贯性、准确性和稳定性;支持单元测试接口的前后接口内容关联,支持上下文数据内容动态返回;支持测试用例的多接口mock测试,从技术层面支持测试用例的功能完成度验证,以及可以通过测试用例的累积,在功能耦合的页面支持多测试用例的回归测试验证。
在本公开的一些实施例中,如图3所示,所述方法还包括:
步骤010,根据所述被测页面的测试任务配置对应的接口模拟工程,所述接口模拟工程包括至少一个单元测试接口。
示例性地,测试服务器可以在执行测试任务之前,根据待测试的测试任务配置对应的接口模拟工程,测试任务可以涉及一个或多个单元测试接口,根据测试任务的实际需求在接口模拟工程中配置对应数量的单元测试接口。
步骤020,标记所述接口模拟工程中的起始接口和非起始接口。
示例性地,通常情况下,一个测试用例(会话流程)具有一个起始接口。测试服务器可以对接口模拟工程中的所有单元测试接口进行标记,标记出起始接口和非起始接口。也可以仅仅标记起始接口,未标记的单元测试接口即为非起始接口。
本实施例通过在执行测试任务之前配置接口模拟工程的单元测试接口,以及对单元测试接口进行起始接口的标记,不仅可以快速调用接口和接收接口响应,快速定位起始接口,大大提高了测试效率,还提供了测试便捷性,便于根据不同的测试用例快速配置。
在本公开的一些实施例中,如图4所示,步骤210包括:
步骤212,通过单元测试接口接收所述测试入参,识别所述单元测试接口是否为起始接口,并识别所述测试入参中是否携带所述会话标识。
示例性地,测试服务器在根据单元测试接口接收到测试入参后,可以识别判断该单元测试接口是否为起始接口,例如可以通过查询单元测试接口是否有起始接口标记判断,以及判断测试入参中是否携带有会话标识,例如判断测试入参中是否包括UUID字段。
步骤214,在所述单元测试接口为起始接口,且所述测试入参中未携带会话标识的情况下,为所述测试入参生成会话标识,并将生成的所述会话标识作为所述会话流程的唯一标识。
示例性地,测试服务器在确定单元测试接口为起始接口,且测试入参中未携带会话标识的情况下,测试服务器可以生成当前会话流程的会话标识,便于后续将生成的会话标识与模拟数据对象共同返回至被测页面。
步骤216,在所述单元测试接口为起始接口,且所述测试入参中携带会话标识的情况下,删除所述测试入参中携带的会话标识,并生成新的会话标识,并将生成新的所述会话标识作为所述会话流程的唯一标识。
示例性地,测试服务器在确定单元测试接口为起始接口,且测试入参中携带会话标识的情况下,测试服务器可以删除该测试入参中携带的会话标识,并生成当前会话流程新的会话标识,便于后续将新生成的会话标识与模拟数据对象共同返回至被测页面。
步骤218,在所述单元测试接口为非起始接口,且所述测试入参中携带会话标识的情况下,将所述会话标识作为所述会话流程的唯一标识。
示例性地,测试服务器在确定单元测试接口为非起始接口,且测试入参中携带会话标识的情况下,即测试入参中携带会话标识即为当前会话流程的会话标识,便于后续将该会话标识与模拟数据对象共同返回至被测页面。非起始接口可以根据前一个接口的状态进行返回,即非起始接口获取前一个接口的会话标识,并将该会话标识和模拟数据对象返回至被测页面。
在一些实施例中,测试服务器在确定单元测试接口为非起始接口,且测试入参中未携带会话标识的情况下,测试服务器可以追溯该单元测试接口的前序接口的状态,获取前序接口的会话标识。若测试服务器获取前序接口的会话标识失败,可以进行报错流程,或者进行告警等。
例如,如图5所示,在一个实施例中,测试服务器通过接口A接收到了终端发送的测试入参,接口A为起始接口。测试服务器可以返回新生成的会话标识与模拟数据对象。测试服务器通过接口B接收到了终端发送的测试入参,接口B为非起始接口。测试服务器可以返回测试入参中携带的会话标识与模拟数据对象。
本实施例在根据单元测试接口接收到测试入参后,可以识别判断该单元测试接口是否为起始接口,以及判断测试入参中是否携带有会话标识,进而根据不同情况执行对应操作,保证返回的内容始终包括会话标识了,确保了链式测试任务的连贯性和准确性。
在本公开的一些实施例中,所述方法还包括:
步骤250,在所述测试入参未匹配到入参过滤器的情况下,将所述测试入参发送至测试环境,并接收所述测试环境的响应结果。
示例性地,测试服务器在单元测试接口处将接收到的测试入参与该单元测试接口的入参过滤器根据预设的匹配规则进行匹配时,在确定测试入参未匹配到任意入参过滤器的情况下,可以将测试入参发送至真实的测试环境,即发送至后端服务器,由后端服务器响应该测试入参,并获取返回的响应结果。
本实施例将未命中的入参过滤器的测试入参发送至真实的测试环境,获取测试环境的响应结果,保证了测试过程的完整性。
在本公开的一些实施例中,所述方法还包括:
步骤260,根据所述测试任务的逻辑顺序确定所述单元测试接口的调用先后链路,根据所述调用先后链路优化所述单元测试接口。
示例性地,测试服务器可以根据测试任务的逻辑顺序确定单元测试接口的调用先后链路,可以结合测试页面的逻辑流程,分析接口调用的准确率和覆盖率。例如,测试服务器可以根据测试页面的逻辑流程得到预期接口调用链路,将预期接口调用链路与实际得到的接口调用先后链路进行一致性对比,进而得到准确率和覆盖率。测试服务器还可以根据分析获得的接口调用准确率和覆盖率对单元测试接口进行优化,例如对接口继续修正、增减等操作,以提高接口调用准确率和覆盖率。
本实施例可以通过确定的单元测试接口的调用先后链路,进行单元测试接口的优化,以提高接口调用准确率和覆盖率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的链式单元测试处理方法的链式单元测试处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个链式单元测试处理装置实施例中的具体限定可以参见上文中对于链式单元测试处理方法的限定,在此不再赘述。
在本公开的一些实施例中,如图6所示,提供了一种链式单元测试处理装置。所述装置600包括:
入参模块610,用于通过单元测试接口接收被测页面的测试入参,并确定所述测试入参中的会话标识;所述会话标识用于唯一确定所述被测页面的测试任务的会话流程,所述测试任务包括至少一个单元测试接口;
入参过滤模块620,用于将所述测试入参与所述单元测试接口所配置的入参过滤器进行匹配,在所述测试入参匹配到入参过滤器的情况下,获取所述匹配到的入参过滤器返回的模拟数据对象;所述单元测试接口配备有若干入参过滤器,所述入参过滤器对应有唯一的模拟数据对象;
模拟数据模块630,用于将所述会话标识和所述模拟数据对象返回至所述被测页面;
测试结果模块640,用于记录所述单元测试接口成功匹配入参过滤器的匹配日志,根据所述匹配日志和所述会话标识确定所述测试任务的逻辑顺序,以得到所述测试任务的测试结果。
在本公开的一些实施例中,如图7所示,所述装置还包括:
测试配置模块650,用于根据所述被测页面的测试任务配置对应的接口模拟工程,所述接口模拟工程包括至少一个单元测试接口;
接口标记模块660,用于标记所述接口模拟工程中的起始接口和非起始接口。
在本公开的一些实施例中,如图8所示,所述入参模块610包括:
识别单元612,用于通过单元测试接口接收所述测试入参,识别所述单元测试接口是否为起始接口,并识别所述测试入参中是否携带所述会话标识;
第一标识生成单元614,用于在所述单元测试接口为起始接口,且所述测试入参中未携带会话标识的情况下,为所述测试入参生成会话标识,并将生成的所述会话标识作为所述会话流程的唯一标识;
第二标识生成单元616,用于在所述单元测试接口为起始接口,且所述测试入参中携带会话标识的情况下,删除所述测试入参中携带的会话标识,并生成新的会话标识,并将生成新的所述会话标识作为所述会话流程的唯一标识;
标识确定单元618,用于在所述单元测试接口为非起始接口,且所述测试入参中携带会话标识的情况下,将所述会话标识作为所述会话流程的唯一标识。
在本公开的一些实施例中,所述装置还包括:
响应模块,用于在所述测试入参未匹配到入参过滤器的情况下,将所述测试入参发送至测试环境,并接收所述测试环境的响应结果。
在本公开的一些实施例中,所述装置还包括:
调用链路模块,用于根据所述测试任务的逻辑顺序确定所述单元测试接口的调用先后链路,根据所述调用先后链路优化所述单元测试接口。
上述链式单元测试处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
基于前述链式单元测试处理方法的实施例描述,在本公开提供的另一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种链式单元测试处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
基于前述链式单元测试处理方法的实施例描述,在本公开提供的另一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
基于前述链式单元测试处理方法的实施例描述,在本公开提供的另一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
可以理解的是,本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同/相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。相关之处参见其他方法实施例的描述说明即可。
上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种链式单元测试处理方法,其特征在于,所述方法包括:
通过单元测试接口接收被测页面的测试入参,并确定所述测试入参中的会话标识;所述会话标识用于唯一确定所述被测页面的测试任务的会话流程,所述测试任务包括至少一个单元测试接口;
将所述测试入参与所述单元测试接口所配置的入参过滤器进行匹配,在所述测试入参匹配到入参过滤器的情况下,获取所述匹配到的入参过滤器返回的模拟数据对象;所述单元测试接口配备有若干入参过滤器,所述入参过滤器对应有唯一的模拟数据对象;
将所述会话标识和所述模拟数据对象返回至所述被测页面;
记录所述单元测试接口成功匹配入参过滤器的匹配日志,根据所述匹配日志和所述会话标识确定所述测试任务的逻辑顺序,以得到所述测试任务的测试结果;
所述方法还包括:
根据所述被测页面的测试任务配置对应的接口模拟工程,所述接口模拟工程包括至少一个单元测试接口;
标记所述接口模拟工程中的起始接口和非起始接口;
所述通过单元测试接口接收被测页面的测试入参,并确定所述测试入参中的会话标识包括:
通过单元测试接口接收所述测试入参,识别所述单元测试接口是否为起始接口,并识别所述测试入参中是否携带所述会话标识;
在所述单元测试接口为起始接口,且所述测试入参中未携带会话标识的情况下,为所述测试入参生成会话标识,并将生成的所述会话标识作为所述会话流程的唯一标识;
在所述单元测试接口为起始接口,且所述测试入参中携带会话标识的情况下,删除所述测试入参中携带的会话标识,并生成新的会话标识,并将生成新的所述会话标识作为所述会话流程的唯一标识;
在所述单元测试接口为非起始接口,且所述测试入参中携带会话标识的情况下,将所述会话标识作为所述会话流程的唯一标识。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述测试入参未匹配到入参过滤器的情况下,将所述测试入参发送至测试环境,并接收所述测试环境的响应结果。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述测试任务的逻辑顺序确定所述单元测试接口的调用先后链路,根据所述调用先后链路优化所述单元测试接口。
4.根据权利要求1所述的方法,其特征在于,所述单元测试接口为mock接口。
5.一种链式单元测试处理装置,其特征在于,所述装置包括:
入参模块,用于通过单元测试接口接收被测页面的测试入参,并确定所述测试入参中的会话标识;所述会话标识用于唯一确定所述被测页面的测试任务的会话流程,所述测试任务包括至少一个单元测试接口;
入参过滤模块,用于将所述测试入参与所述单元测试接口所配置的入参过滤器进行匹配,在所述测试入参匹配到入参过滤器的情况下,获取所述匹配到的入参过滤器返回的模拟数据对象;所述单元测试接口配备有若干入参过滤器,所述入参过滤器对应有唯一的模拟数据对象;
模拟数据模块,用于将所述会话标识和所述模拟数据对象返回至所述被测页面;
测试结果模块,用于记录所述单元测试接口成功匹配入参过滤器的匹配日志,根据所述匹配日志和所述会话标识确定所述测试任务的逻辑顺序,以得到所述测试任务的测试结果;
所述装置还包括:
测试配置模块,用于根据所述被测页面的测试任务配置对应的接口模拟工程,所述接口模拟工程包括至少一个单元测试接口;
接口标记模块,用于标记所述接口模拟工程中的起始接口和非起始接口;
所述入参模块包括:
识别单元,用于通过单元测试接口接收所述测试入参,识别所述单元测试接口是否为起始接口,并识别所述测试入参中是否携带所述会话标识;
第一标识生成单元,用于在所述单元测试接口为起始接口,且所述测试入参中未携带会话标识的情况下,为所述测试入参生成会话标识,并将生成的所述会话标识作为所述会话流程的唯一标识;
第二标识生成单元,用于在所述单元测试接口为起始接口,且所述测试入参中携带会话标识的情况下,删除所述测试入参中携带的会话标识,并生成新的会话标识,并将生成新的所述会话标识作为所述会话流程的唯一标识;
标识确定单元,用于在所述单元测试接口为非起始接口,且所述测试入参中携带会话标识的情况下,将所述会话标识作为所述会话流程的唯一标识。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
响应模块,用于在所述测试入参未匹配到入参过滤器的情况下,将所述测试入参发送至测试环境,并接收所述测试环境的响应结果。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
调用链路模块,用于根据所述测试任务的逻辑顺序确定所述单元测试接口的调用先后链路,根据所述调用先后链路优化所述单元测试接口。
8.根据权利要求5所述的装置,其特征在于,所述单元测试接口为mock接口。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311049474.0A CN116795723B (zh) | 2023-08-21 | 2023-08-21 | 链式单元测试处理方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311049474.0A CN116795723B (zh) | 2023-08-21 | 2023-08-21 | 链式单元测试处理方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116795723A CN116795723A (zh) | 2023-09-22 |
CN116795723B true CN116795723B (zh) | 2023-11-21 |
Family
ID=88050044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311049474.0A Active CN116795723B (zh) | 2023-08-21 | 2023-08-21 | 链式单元测试处理方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795723B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112631910A (zh) * | 2020-12-22 | 2021-04-09 | 平安普惠企业管理有限公司 | 前端测试方法、装置、计算机设备及存储介质 |
CN112637008A (zh) * | 2020-12-14 | 2021-04-09 | 广州品唯软件有限公司 | 链路模拟测试方法、装置、***、计算机设备和存储介质 |
CN113064808A (zh) * | 2021-05-24 | 2021-07-02 | 华信汇联(北京)科技有限公司 | 一种链路模拟方法 |
CN113485880A (zh) * | 2021-07-12 | 2021-10-08 | 浙江网商银行股份有限公司 | 测试方法及装置 |
CN113656304A (zh) * | 2021-08-16 | 2021-11-16 | 上海浦东发展银行股份有限公司 | 一种前端应用程序的测试方法、设备和存储介质 |
CN113778871A (zh) * | 2021-09-07 | 2021-12-10 | 未鲲(上海)科技服务有限公司 | Mock测试方法、装置、设备及存储介质 |
CN115391219A (zh) * | 2022-09-06 | 2022-11-25 | 平安银行股份有限公司 | 测试用例生成方法、装置、电子设备及存储介质 |
CN115437903A (zh) * | 2021-06-01 | 2022-12-06 | 京东科技控股股份有限公司 | 接口测试方法、装置、设备、存储介质及程序 |
CN116028368A (zh) * | 2023-01-12 | 2023-04-28 | 深圳依时货拉拉科技有限公司 | 一种接口测试方法、装置、计算机设备及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5516381B2 (ja) * | 2010-12-17 | 2014-06-11 | 富士通株式会社 | 試験プログラム、試験装置、及び試験方法 |
US8935573B2 (en) * | 2012-08-29 | 2015-01-13 | International Business Machines Corporation | Reliable unit testing through cached mocking |
US9146826B2 (en) * | 2013-03-12 | 2015-09-29 | Tellabs Operations, Inc. | Method and apparatus for scaling network simulation |
US11232019B1 (en) * | 2020-07-07 | 2022-01-25 | Bank Of America Corporation | Machine learning based test coverage in a production environment |
-
2023
- 2023-08-21 CN CN202311049474.0A patent/CN116795723B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637008A (zh) * | 2020-12-14 | 2021-04-09 | 广州品唯软件有限公司 | 链路模拟测试方法、装置、***、计算机设备和存储介质 |
CN112631910A (zh) * | 2020-12-22 | 2021-04-09 | 平安普惠企业管理有限公司 | 前端测试方法、装置、计算机设备及存储介质 |
CN113064808A (zh) * | 2021-05-24 | 2021-07-02 | 华信汇联(北京)科技有限公司 | 一种链路模拟方法 |
CN115437903A (zh) * | 2021-06-01 | 2022-12-06 | 京东科技控股股份有限公司 | 接口测试方法、装置、设备、存储介质及程序 |
CN113485880A (zh) * | 2021-07-12 | 2021-10-08 | 浙江网商银行股份有限公司 | 测试方法及装置 |
CN113656304A (zh) * | 2021-08-16 | 2021-11-16 | 上海浦东发展银行股份有限公司 | 一种前端应用程序的测试方法、设备和存储介质 |
CN113778871A (zh) * | 2021-09-07 | 2021-12-10 | 未鲲(上海)科技服务有限公司 | Mock测试方法、装置、设备及存储介质 |
CN115391219A (zh) * | 2022-09-06 | 2022-11-25 | 平安银行股份有限公司 | 测试用例生成方法、装置、电子设备及存储介质 |
CN116028368A (zh) * | 2023-01-12 | 2023-04-28 | 深圳依时货拉拉科技有限公司 | 一种接口测试方法、装置、计算机设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116795723A (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221726A (zh) | 一种测试数据生成方法、装置、存储介质和智能设备 | |
CN111522728A (zh) | 自动化测试用例的生成方法、电子设备及可读存储介质 | |
CN107080945B (zh) | 测试游戏中人工智能行为的方法、装置及电子设备 | |
CN114356631A (zh) | 故障定位方法、装置、计算机设备和存储介质 | |
CN111708712A (zh) | 用户行为测试用例的生成方法、流量回放方法及电子设备 | |
CN111221721B (zh) | 一种单元测试案例自动化录制和执行方法及装置 | |
CN114185770A (zh) | 生成测试数据的方法、装置、计算机设备和存储介质 | |
CN114238085A (zh) | 接口测试方法、装置、计算机设备、存储介质 | |
CN113535538B (zh) | 应用全链路自动化测试方法、装置、电子设备和存储介质 | |
CN116228045B (zh) | 基于性能退化的产品可靠性薄弱环节评估方法和装置 | |
CN116795723B (zh) | 链式单元测试处理方法、装置及计算机设备 | |
CN116155597A (zh) | 访问请求的处理方法、装置及计算机设备 | |
CN116561003A (zh) | 测试数据生成方法、装置、计算机设备和存储介质 | |
CN115576834A (zh) | 支撑故障还原的软件测试复用方法、***、终端及介质 | |
CN112631905A (zh) | 执行过程数据管理方法、装置、计算机设备及存储介质 | |
CN116541454B (zh) | 事件配置方法、装置、计算机设备和存储介质 | |
CN117395175A (zh) | 网络应用软件测试方法、装置、设备、介质和程序产品 | |
CN117271352A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN108628750B (zh) | 一种测试代码处理方法及装置 | |
CN117271367A (zh) | 应用***测试流程的配置、应用***测试方法和装置 | |
CN117194221A (zh) | 测试方法、装置、计算机设备、存储介质 | |
CN116010349A (zh) | 基于元数据的数据检核方法和装置、电子设备和存储介质 | |
CN114546863A (zh) | 一种自动化压测脚本生成方法及装置 | |
CN117591431A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN117112051A (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 | ||
GR01 | Patent grant |