CN113010424A - 接口自动化测试处理方法、***、计算机设备与存储介质 - Google Patents
接口自动化测试处理方法、***、计算机设备与存储介质 Download PDFInfo
- Publication number
- CN113010424A CN113010424A CN202110286192.7A CN202110286192A CN113010424A CN 113010424 A CN113010424 A CN 113010424A CN 202110286192 A CN202110286192 A CN 202110286192A CN 113010424 A CN113010424 A CN 113010424A
- Authority
- CN
- China
- Prior art keywords
- test
- interface
- time sequence
- sequence diagram
- test case
- 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 401
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000010586 diagram Methods 0.000 claims abstract description 172
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000013515 script Methods 0.000 claims description 82
- 238000012545 processing Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005457 optimization Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000010835 comparative analysis Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 241000233805 Phoenix Species 0.000 description 4
- 108091081062 Repeated sequence (DNA) Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003631 expected effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
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/3688—Test management for test execution, e.g. scheduling of test suites
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
技术领域
本发明实施例涉及接口测试领域,尤其涉及一种接口自动化测试处理方法、***、计算机设备与存储介质。
背景技术
接口自动化测试是目前软件研发过程中质量保证的重要环节,是一种高效率的功能回归测试的手段。目前接口自动化测试脚本并未与被测***产生关联,现有的自动化脚本处于被动阶段,依靠工作人员主动进行维护管理。依靠人员生成自动化脚本,受***的影响较大,而且错误率较高,效率低;现有技术中自动化用例执行时受限于环境、代码分支、实现方法等因素,普遍存在执行时间长、稳定性低的问题。接口自动化测试的脚本需要一种方法进行自动化管理,由人工转变为自动化脚本进行管理,可以快速知晓当前自动化覆盖情况,失败的时序图,及分配未完成的自动化设计工作量。
发明内容
有鉴于此,本发明实施例的目的是提供一种接口自动化测试处理方法、***、计算机设备与存储介质,可以对接口测试进行有效管理。
为实现上述目的,本发明实施例提供了一种接口自动化测试处理方法,包括:
获取被测对象以及所述被测对象对应的第一测试用例集,所述第一测试用例集包括对所述被测对象执行不同的接口测试的多个第一测试用例;
依次将所述被测对象执行所述第一测试用例集中每个第一测试用例的测试时的第一接口节点路径记录为第一时序图,得到所述第一测试用例集对应的第一时序图集;
获取预设时间段内所述被测对象执行多个第二测试用例的测试时的多个第二接口节点路径,记录得到第二时序图集,所述多个第二测试用例为部分或者全部的第一测试用例集;
根据所述第一时序图集对比分析所述第二时序图集,得到所述第二时序图集的目标测试覆盖报告。
进一步地,所述依次将所述被测对象执行所述第一测试用例集中每个第一测试用例的测试时的第一接口节点路径记录为第一时序图,得到所述第一测试用例集对应的第一时序图集的步骤,包括:
获取所述第一测试用例的测试参数,所述测试参数包括第一测试用例的请求参数与返回参数;
根据所述第一测试用例的测试参数生成与所述第一测试用例对应的测试脚本;
依次将所述被测对象执行所述测试脚本,以获取所述第一测试用例对应的第一接口节点路径,所述第一接口节点路径包括所述被测对象进行测试时对应的多个第一接口节点及所述被测对象与多个第一接口节点之间的先后关系;
根据所述第一接口节点路径生成与所述第一测试用例对应的第一时序图;
对所述第一时序图进行去重处理,得到第一时序图集。
进一步地,所述获取预设时间段内所述被测对象执行多个第二测试用例的测试时的多个第二接口节点路径,记录得到第二时序图集,所述第二测试用例为部分或者全部第一测试用例的步骤,包括:
获取执行所述第一测试用例的自动化执行脚本;
将所述自动化执行脚本与所述第一测试用例相关联,得到第二测试用例;
在预设时间内,根据预设的定时任务执行所述自动化执行脚本,以获取所述第二测试用例对应的第二接口节点路径,所述第二接口节点路径包括所述被测对象进行测试时对应的多个第二接口节点及所述被测对象与多个第二接口节点之间的先后关系;
根据所述第二接口节点路径记录得到所述第二测试用例对应的第二时序图,得到第二时序图集。
进一步地,所述方法还包括:
根据所述目标测试覆盖报告确定所述第二时序图集中的第三时序图,所述第三时序图为所述第二测试用例集中未完成测试或者出现故障的测试用例对应的任一时序图;
对所述第三时序图进行回归处理,以根据回归结果确定所述第三时序图是否稳定;
当所述第三时序图稳定时,将所述第三时序图存储于所述第一时序图集中。
进一步地,所述方法还包括:
将所述第一时序图、第二时序图与第三时序图进行对比,以根据对比结果生成时序图覆盖图。
进一步地,所述方法还包括:
接收用户的测试优化请求,所述测试优化请求包括进行优化的目标节点数据;
根据所述目标节点数据查询与所述目标节点数据对应的目标时序图;
获取与所述目标时序图对应的目标测试脚本;
将所述目标测试脚本发送给所述用户。
进一步地,所述方法还包括:
将所述第二时序图集的目标测试覆盖报告上传至区块链中。
为实现上述目的,本发明实施例还提供了一种接口自动化测试处理***,包括:
获取模块,用于获取被测对象以及所述被测对象对应的第一测试用例集,所述第一测试用例集包括对所述被测对象执行不同的接口测试的多个第一测试用例;
第一记录模块,用于依次将所述被测对象执行所述第一测试用例集中每个第一测试用例的测试时的第一接口节点路径记录为第一时序图,得到所述第一测试用例集对应的第一时序图集;
第二记录模块,用于获取预设时间段内所述被测对象执行多个第二测试用例的测试时的多个第二接口节点路径,记录得到第二时序图集,所述多个第二测试用例为部分或者全部的第一测试用例集;
分析模块,用于根据所述第一时序图集对比分析所述第二时序图集,得到所述第二时序图集的测试覆盖报告。
为实现上述目的,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的接口自动化测试处理方法的步骤。
为实现上述目的,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的接口自动化测试处理方法的步骤。
本发明实施例提供的接口自动化测试处理方法、***、计算机设备与存储介质,通过对第一测试用例集进行时序图绘制,生成第一时序图集,并且在后续时间段对被测对象进行第二测试用例的测试时,将第二测试用例的执行节点路径生成第二时序图,再将第二时序图集与第一时序图集进行对比分析,可以得到第二时序图的目标覆盖测试报告,根据目标覆盖测试报告可快速知晓当前自动化测试时的覆盖情况、失败的时序图及分配未完成的自动化测试的设计工作量。
附图说明
图1为本发明接口自动化测试处理方法实施例一的流程图。
图2为本发明接口自动化测试处理***实施例二的程序模块示意图。
图3为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
参阅图1,示出了本发明实施例一之接口自动化测试处理方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备4为执行主体进行示例性描述。具体如下。
步骤S100,获取被测对象以及所述被测对象对应的第一测试用例集,所述第一测试用例集包括对所述被测对象执行不同的接口测试的多个第一测试用例。
具体地,被测对象为需要进行测试的被测接口,获取被测对象的接口数据。当被测对象进行不同的测试时,根据不同的测试请求,为被测对象编写出不同的第一测试用例,得到第一测试用例集。并将第一测试用例以测试脚本进行编写,得到第一测试用例集对应的测试脚本集。
步骤S120,依次将所述被测对象执行所述第一测试用例集中每个第一测试用例的测试时的第一接口节点路径记录为第一时序图,得到所述第一测试用例集对应的第一时序图集。
具体地,收集一段时间内被测对象通过测试脚本执行第一测试用例进行接口测试的测试日志,测试日志包括下游的服务ip和日志流水号,解析测试日志以获取从各个被测接口发起的测试请求产生的第一接口节点路径,例如,网上购物时,从买家下单到最终收货,一次完整交易的数据流要经过很多***,例如ERP***、仓库***、配送***、末端***等。这些***之间通过调用各个***的接口串成一条条第一接口节点路径,交易数据在第一接口节点路径上进行流转。一次完整的数据流转过程所经过的***的接口节点就是时序图。例如,从测试日志中获取到从被测试对象的接口节点A发起的测试请求的第一接口节点路径,解析第一接口节点路径中接口节点A进一步进行调用的下游接口节点,直解析至第一接口节点路径的最底层,将这些接口节点以接口节点A作为起点,将其先后关系存储起来,将绘制成接口A的第一时序图。日志解析会根据不同***打印方式配置正则模型或者个性解析来获取下游接口数据,例如通过配置***ip的数据格式对应的正则表达式可以匹配到第一接口节点路径的下游接口数据。
在示例性地实施例中,所述步骤S120还包括:
步骤S121,获取所述第一测试用例的测试参数,所述测试参数包括第一测试用例的请求参数与返回参数。
步骤S122,根据所述第一测试用例的测试参数生成与所述第一测试用例对应的测试脚本。
步骤S123,依次将所述被测对象执行所述测试脚本,以获取所述第一测试用例对应的第一接口节点路径,所述第一接口节点路径包括所述被测对象进行测试时对应的多个第一接口节点及所述被测对象与多个第一接口节点之间的先后关系。
步骤S124,根据所述第一接口节点路径生成与所述第一测试用例对应的第一时序图。
步骤S125,对所述第一时序图进行去重处理,得到第一时序图集。
具体地,可以在数据库中以文本形式存储第一测试用例的测试参数,测试参数用于生成测试脚本,测试脚本为自动化测试脚本,可以通过在Phoenix Framework等自动化测试平台上设置定时模式定时启动自动化测试脚本自动化实现对被测对象的测试,其中,测试参数包括请求参数与返回参数,请求参数包括被测对象的测试需求相关参数,返回参数是指执行测试脚本后的返回结果,可以理解为预期结果。当执行测试脚本时,测试脚本会调用被测对象相应的接口节点以及其他下游***的接口节点进行测试,并生成测试脚本对应的第一时序图,将所有的接口节点的第一时序图进行去重处理,生成一份不重复的第一时序图集。以时序图为基线进行设计,设计执行中可以查看该接口节点现有时序图对应的脚本,也会自动推荐重复的时序图、上游的自动化情况,便于对脚本的快速维护和设计。
步骤S140,获取预设时间段内所述被测对象执行多个第二测试用例的测试时的多个第二接口节点路径,记录得到第二时序图集,所述多个第二测试用例为部分或者全部第一测试用例。
具体地,第二测试用例可以为用户在预设时间段内对被测接口进行再次进行部分或者全部用例测试的第一测试用例,通过自动化执行脚本自动测试第一测试用例,相应的记录第二接口节点路径,在预设时间段内用户可能对被测接口或者下游***接口的接口数据进行了优化或者修改。通过第二测试用例对被测对象进行测试,执行第二测试用例对应的测试脚本,并在执行过程中获取被调用的接口节点,再根据被调用的接口节点生成第二时序图。随着测试工作不断地进行,后台不断的记录被测对象的各接口节点的第二时序图,获取预设时间段内的第二时序图,得到第二时序图集。
在示例性地实施例中,所述步骤S140还包括:
步骤S141,获取执行所述第一测试用例的自动化执行脚本;步骤S142,将所述自动化执行脚本与所述第一测试用例相关联,得到第二测试用例;步骤S143,在预设时间内,根据预设的定时任务执行所述自动化执行脚本,以获取所述第二测试用例对应的第二接口节点路径,所述第二接口节点路径包括所述被测对象进行测试时对应的多个第二接口节点及所述被测对象与多个第二接口节点之间的先后关系;步骤S144,根据所述第二接口节点路径记录得到所述第二测试用例对应的第二时序图,得到第二时序图集。
具体地,多个第二测试用例为部分或者全部的第一测试用例集,可以通过在Phoenix Framework等自动化测试平台上设置定时模式定时启动自动化执行脚本自动化实现对被测对象的测试,对测试脚本进行执行就会生成对应的第二时序图,由于测试脚本中有测试用例对应的请求参数,例如调用被测接口节点A进行测试,生成以被测接口节点A为起点的第二接口节点路径,并根据该第二接口节点路径生成第二时序图,并且将该第二时序图与被测接口节点A关联上,可以将被测接口节点A的接口标识关联至第二时序图上。将测试脚本从测试脚本过渡到自动化执行脚本,按照绘制的测试交互图,循序渐进,以建立自动化执行接口测试的基础体系。
步骤S160,根据所述第一时序图集对比分析所述第二时序图集,得到所述第二时序图集的目标测试覆盖报告。
具体地,对比第二时序图集中的时序图是否与第一时序图集相同,若第二时序图集中出现的时序图的个数的小于第一时序图,则根据该情况生成第二测试用例覆盖率低的测试覆盖报告,第二时序图集的测试覆盖率=第二时序图的个数/第一时序图集中的时序图的个数;若第二时序图集中出现的时序图的个数的等于第一时序图,则根据该情况生成第二测试用例覆盖率100%的测试覆盖报告;若第二时序图集中出现的时序图不存在第一时序图集中,则确定第二测试用例中出现需要进行回归的时序图。
在示例性地实施例中,所述方法还包括:
步骤S200,根据所述目标测试覆盖报告确定所述第二时序图集中的第三时序图,所述第三时序图为所述第二测试用例集中未完成测试或者出现故障的测试用例对应的任一时序图。步骤S220,对所述第三时序图进行回归处理,以根据回归结果修正所述第三时序图是否稳定。步骤S240,当所述第三时序图稳定时,将所述第三时序图存储于所述第一时序图集中。
具体地,根据目标测试覆盖报告,推算出需要进行回归的第三时序图(包含被测对象的接口节点),获取第三时序图关联的测试用例。对第三时序图进行回归的处理为:从第一时序图集中获取与第三时序图最相近的时序图,将第三时序图对应的时序图的测试脚本进行测试,再根据测试结果对测试的第三时序图对应的测试脚本进行修改,以使第三时序图对应的测试脚本的测试结果达到预期效果。此方式为自动修正测试脚本,即当第三时序图对应的测试脚本的测试结果达到预期效果时,第三时序图稳定。当第三时序图稳定后,将第三时序图整合至第一时序图中,以健全第一时序图集。
在示例性地实施例中,所述方法还包括:
将所述第一时序图、第二时序图与第三时序图进行对比,以根据对比结果生成覆盖图。
具体地,通过对第一测试用例自动化定期执行,可以输出一份时序图集,与预设时间段内的时序图集、存量的时序图集进行对比,存量的时序图集为第一时序图集,从而生成出一份自动化覆盖图,及未完成的自动化覆盖图。通过该自动化覆盖图可快速知晓当前自动化覆盖情况、失败的时序图及分配未完成的时序图。
在示例性地实施例中,所述方法还包括:
步骤S300,接收用户的测试优化请求,所述测试优化请求包括进行优化的目标节点数据。步骤S320,根据所述目标节点数据查询与所述目标节点数据对应的目标时序图。步骤S340,获取与所述目标时序图对应的目标测试脚本。步骤S360,将所述目标测试脚本发送给所述用户。
具体地,测试优化请求为对第一接口节点路径中的某个目标节点进行了改动,将该目标节点对应的节点数据生成测试优化请求,通过目标节点的目标节点数据在存储有第一时序图集的数据库中查到包含这个目标节点的目标时序图,然后再在数据库中查出这个目标时序图关联的目标测试脚本,将目标测试脚本推送给用户,以使用户对目标测试脚本进行优化,得到优化测试脚本。
在示例性地实施例中,所述方法还包括:
将所述第二时序图集的目标测试覆盖报告上传至区块链中。
具体地,将目标测试覆盖报告上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该目标测试覆盖报告,以便查证目标测试覆盖报告是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
实施例二
请继续参阅图2,示出了本发明接口自动化测试处理***实施例二的程序模块示意图。在本实施例中,接口自动化测试处理***40可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述接口自动化测试处理方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述接口自动化测试处理***40在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
获取模块400,用于获取被测对象以及所述被测对象对应的第一测试用例集,所述第一测试用例集包括对所述被测对象执行不同的接口测试的多个第一测试用例。
具体地,被测对象为需要进行测试的被测接口,获取被测对象的接口数据。当被测对象进行不同的测试时,根据不同的测试请求,为被测对象编写出不同的第一测试用例,得到第一测试用例集。并将第一测试用例以测试脚本进行编写,得到第一测试用例集对应的测试脚本集。
第一记录模块402,用于依次将所述被测对象执行所述第一测试用例集中每个第一测试用例的测试时的第一接口节点路径记录为第一时序图,得到所述第一测试用例集对应的第一时序图集。
具体地,收集一段时间内被测对象通过自动化测试脚本执行第一测试用例进行接口测试的测试日志,测试日志包括下游的服务ip和日志流水号,解析测试日志以获取从各个被测接口发起的测试请求产生的第一接口节点路径,例如,网上购物时,从买家下单到最终收货,一次完整交易的数据流要经过很多***,例如ERP***、仓库***、配送***、末端***等。这些***之间通过调用各个***的接口串成一条条第一接口节点路径,交易数据在第一接口节点路径上进行流转。一次完整的数据流转过程所经过的***的接口节点就是时序图。例如,从测试日志中获取到从被测试对象的接口节点A发起的测试请求的第一接口节点路径,解析第一接口节点路径中接口节点A进一步进行调用的下游接口节点,直解析至第一接口节点路径的最底层,将这些接口节点以接口节点A作为起点,将其先后关系存储起来,将绘制成接口A的第一时序图。日志解析会根据不同***打印方式配置正则模型或者个性解析来获取下游接口数据,例如通过配置***ip的数据格式对应的正则表达式可以匹配到第一接口节点路径的下游接口数据。
在示例性地实施例中,所述第一记录模块402还用于:
依次将所述被测对象执行所述第一测试用例集中每个第一测试用例的测试时的第一接口节点路径记录为第一时序图,得到所述第一测试用例集对应的第一时序图集;根据所述第一测试用例的测试参数生成与所述第一测试用例对应的测试脚本;依次将所述被测对象执行所述测试脚本,以获取所述第一测试用例对应的第一接口节点路径,所述第一接口节点路径包括所述被测对象进行测试时对应的多个第一接口节点及所述被测对象与多个第一接口节点之间的先后关系;根据所述第一接口节点路径生成与所述第一测试用例对应的第一时序图;对所述第一时序图进行去重处理,得到第一时序图集。
具体地,可以在数据库中以文本形式存储第一测试用例的测试参数,测试参数用于生成测试脚本,测试脚本为自动化测试脚本,可以通过在Phoenix Framework等自动化测试平台上设置定时模式定时启动自动化测试脚本自动化实现对被测对象的测试,其中,测试参数包括请求参数与返回参数,请求参数包括被测对象的测试需求相关参数,返回参数是指执行测试脚本后的返回结果,可以理解为预期结果。当执行测试脚本时,测试脚本会调用被测对象相应的接口节点以及其他下游***的接口节点进行测试,并生成测试脚本对应的第一时序图,将所有的接口节点的第一时序图进行去重处理,生成一份不重复的第一时序图集。以时序图为基线进行设计,设计执行中可以查看该接口节点现有时序图对应的脚本,也会自动推荐重复的时序图、上游的自动化情况,便于对脚本的快速维护和设计。
第二记录模块404,用于获取预设时间段内所述被测对象执行多个第二测试用例的测试时的多个第二接口节点路径,记录得到第二时序图集,所述多个第二测试用例为部分或者全部第一测试用例。
具体地,第二测试用例可以为用户在预设时间段内对被测接口进行再次进行部分或者全部用例测试的第一测试用例,通过自动化执行脚本自动测试第一测试用例,相应的记录第二接口节点路径,在预设时间段内用户可能对被测接口或者下游***接口的接口数据进行了优化或者修改。通过第二测试用例对被测对象进行测试,执行第二测试用例对应的测试脚本,并在执行过程中获取被调用的接口节点,再根据被调用的接口节点生成第二时序图。随着测试工作不断地进行,后台不断的记录被测对象的各接口节点的第二时序图,获取预设时间段内的第二时序图,得到第二时序图集。
在示例性地实施例中,所述第二记录模块404还用于:
获取执行所述第一测试用例的自动化执行脚本;将所述自动化执行脚本与所述第一测试用例相关联,得到第二测试用例;在预设时间内,根据预设的定时任务执行所述自动化执行脚本,以获取所述第二测试用例对应的第二接口节点路径,所述第二接口节点路径包括所述被测对象进行测试时对应的多个第二接口节点及所述被测对象与多个第二接口节点之间的先后关系;根据所述第二接口节点路径记录得到所述第二测试用例对应的第二时序图,得到第二时序图集。
具体地,多个第二测试用例为部分或者全部的第一测试用例集,可以通过在Phoenix Framework等自动化测试平台上设置定时模式定时启动自动化执行脚本自动化实现对被测对象的测试,对测试脚本进行执行就会生成对应的第二时序图,由于测试脚本中有测试用例对应的请求参数,例如调用被测接口节点A进行测试,生成以被测接口节点A为起点的第二接口节点路径,并根据该第二接口节点路径生成第二时序图,并且将该第二时序图与被测接口节点A关联上,可以将被测接口节点A的接口标识关联至第二时序图上。将测试脚本从测试脚本过渡到自动化执行脚本,按照绘制的测试交互图,循序渐进,以建立自动化执行接口测试的基础体系。
分析模块406,用于根据所述第一时序图集对比分析所述第二时序图集,得到所述第二时序图集的测试覆盖报告。
具体地,对比第二时序图集中的时序图是否与第一时序图集相同,若第二时序图集中出现的时序图的个数的小于第一时序图,则根据该情况生成第二测试用例覆盖率低的测试覆盖报告,第二时序图集的测试覆盖率=第二时序图的个数/第一时序图集中的时序图的个数;若第二时序图集中出现的时序图的个数的等于第一时序图,则根据该情况生成第二测试用例覆盖率100%的测试覆盖报告;若第二时序图集中出现的时序图不存在第一时序图集中,则确定第二测试用例中出现需要进行回归的时序图。
实施例三
参阅图3,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备4是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备4可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,所述计算机设备4至少包括,但不限于,可通过***总线相互通信连接存储器41、处理器42、网络接口43、以及接口自动化测试处理***40。其中:
本实施例中,存储器41至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器41可以是计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,存储器41也可以是计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器41还可以既包括计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,存储器41通常用于存储安装于计算机设备4的操作***和各类应用软件,例如实施例二的接口自动化测试处理***40的程序代码等。此外,存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制计算机设备4的总体操作。本实施例中,处理器42用于运行存储器41中存储的程序代码或者处理数据,例如运行接口自动化测试处理***40,以实现实施例一的接口自动化测试处理方法。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述服务器4与其他电子装置之间建立通信连接。例如,所述网络接口43用于通过网络将所述服务器4与外部终端相连,在所述服务器4与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。需要指出的是,图3仅示出了具有部件40-43的计算机设备4,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器41中的所述接口自动化测试处理***40还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器41中,并由一个或多个处理器(本实施例为处理器42)所执行,以完成本发明。
例如,图2示出了所述实现接口自动化测试处理***40实施例二的程序模块示意图,该实施例中,所述接口自动化测试处理***40可以被划分为所述获取模块400、所述第一记录模块402、所述第二记录模块404以及所述分析模块406。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述接口自动化测试处理***40在所述计算机设备4中的执行过程。所述程序模块400-406的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于计算机程序,被处理器执行时实现实施例一的接口自动化测试处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种接口自动化测试处理方法,其特征在于,包括:
获取被测对象以及所述被测对象对应的第一测试用例集,所述第一测试用例集包括对所述被测对象执行不同的接口测试的多个第一测试用例;
依次将所述被测对象执行所述第一测试用例集中每个第一测试用例的测试时的第一接口节点路径记录为第一时序图,得到所述第一测试用例集对应的第一时序图集;
获取预设时间段内所述被测对象执行多个第二测试用例的测试时的多个第二接口节点路径,记录得到第二时序图集,所述多个第二测试用例为部分或者全部的第一测试用例集;
根据所述第一时序图集对比分析所述第二时序图集,得到所述第二时序图集的目标测试覆盖报告。
2.根据权利要求1所述的接口自动化测试处理方法,其特征在于,所述依次将所述被测对象执行所述第一测试用例集中每个第一测试用例的测试时的第一接口节点路径记录为第一时序图,得到所述第一测试用例集对应的第一时序图集的步骤,包括:
获取所述第一测试用例的测试参数,所述测试参数包括第一测试用例的请求参数与返回参数;
根据所述第一测试用例的测试参数生成与所述第一测试用例对应的测试脚本;
依次将所述被测对象执行所述测试脚本,以获取所述第一测试用例对应的第一接口节点路径,所述第一接口节点路径包括所述被测对象进行测试时对应的多个第一接口节点及所述被测对象与多个第一接口节点之间的先后关系;
根据所述第一接口节点路径生成与所述第一测试用例对应的第一时序图;
对所述第一时序图进行去重处理,得到第一时序图集。
3.根据权利要求1所述的接口自动化测试处理方法,其特征在于,所述获取预设时间段内所述被测对象执行多个第二测试用例的测试时的多个第二接口节点路径,记录得到第二时序图集,所述第二测试用例为部分或者全部第一测试用例的步骤,包括:
获取执行所述第一测试用例的自动化执行脚本;
将所述自动化执行脚本与所述第一测试用例相关联,得到第二测试用例;
在预设时间内,根据预设的定时任务执行所述自动化执行脚本,以获取所述第二测试用例对应的第二接口节点路径,所述第二接口节点路径包括所述被测对象进行测试时对应的多个第二接口节点及所述被测对象与多个第二接口节点之间的先后关系;
根据所述第二接口节点路径记录得到所述第二测试用例对应的第二时序图,得到第二时序图集。
4.根据权利要求1所述的接口自动化测试处理方法,其特征在于,所述方法还包括:
根据所述目标测试覆盖报告确定所述第二时序图集中的第三时序图,所述第三时序图为所述第二测试用例集中未完成测试或者出现故障的测试用例对应的任一时序图;
对所述第三时序图进行回归处理,以根据回归结果确定所述第三时序图是否稳定;
当所述第三时序图稳定时,将所述第三时序图存储于所述第一时序图集中。
5.根据权利要求4所述的接口自动化测试处理方法,其特征在于,所述方法还包括:
将所述第一时序图、第二时序图与第三时序图进行对比,以根据对比结果生成时序图覆盖图。
6.根据权利要求1所述的接口自动化测试处理方法,其特征在于,所述方法还包括:
接收用户的测试优化请求,所述测试优化请求包括进行优化的目标节点数据;
根据所述目标节点数据查询与所述目标节点数据对应的目标时序图;
获取与所述目标时序图对应的目标测试脚本;
将所述目标测试脚本发送给所述用户。
7.根据权利要求1所述的接口自动化测试处理方法,其特征在于,所述方法还包括:
将所述第二时序图集的目标测试覆盖报告上传至区块链中。
8.一种接口自动化测试处理***,其特征在于,包括:
获取模块,用于获取被测对象以及所述被测对象对应的第一测试用例集,所述第一测试用例集包括对所述被测对象执行不同的接口测试的多个第一测试用例;
第一记录模块,用于依次将所述被测对象执行所述第一测试用例集中每个第一测试用例的测试时的第一接口节点路径记录为第一时序图,得到所述第一测试用例集对应的第一时序图集;
第二记录模块,用于获取预设时间段内所述被测对象执行多个第二测试用例的测试时的多个第二接口节点路径,记录得到第二时序图集,所述多个第二测试用例为部分或者全部的第一测试用例集;
分析模块,用于根据所述第一时序图集对比分析所述第二时序图集,得到所述第二时序图集的测试覆盖报告。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的接口自动化测试处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述的接口自动化测试处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286192.7A CN113010424B (zh) | 2021-03-17 | 2021-03-17 | 接口自动化测试处理方法、***、计算机设备与存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286192.7A CN113010424B (zh) | 2021-03-17 | 2021-03-17 | 接口自动化测试处理方法、***、计算机设备与存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113010424A true CN113010424A (zh) | 2021-06-22 |
CN113010424B CN113010424B (zh) | 2024-04-02 |
Family
ID=76409240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110286192.7A Active CN113010424B (zh) | 2021-03-17 | 2021-03-17 | 接口自动化测试处理方法、***、计算机设备与存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010424B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645037A (zh) * | 2009-09-11 | 2010-02-10 | 兰雨晴 | 基础软件平台应用程序接口集成测试覆盖分析方法 |
CN101916225A (zh) * | 2010-09-02 | 2010-12-15 | 于秀山 | 图形用户界面软件功能覆盖测试方法 |
WO2016170937A1 (ja) * | 2015-04-20 | 2016-10-27 | 三菱電機株式会社 | テスト自動化装置、テスト自動化方法及びテスト自動化プログラム |
CN107807881A (zh) * | 2017-09-28 | 2018-03-16 | 北京新能源汽车股份有限公司 | 代码覆盖率的测试方法、装置和计算机设备 |
CN108073519A (zh) * | 2018-01-31 | 2018-05-25 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法和装置 |
US20190102281A1 (en) * | 2017-10-04 | 2019-04-04 | International Business Machines Corporation | Measuring and improving test coverage |
CN109857654A (zh) * | 2019-01-17 | 2019-06-07 | 珠海金山网络游戏科技有限公司 | 一种自动生成测试用例的时序流程图的方法、装置及*** |
CN111309635A (zh) * | 2020-03-26 | 2020-06-19 | 北京奇艺世纪科技有限公司 | 测试用例生成方法、装置、服务器及存储介质 |
CN111552631A (zh) * | 2020-03-27 | 2020-08-18 | 中国平安人寿保险股份有限公司 | ***测试方法、装置及计算机可读存储介质 |
-
2021
- 2021-03-17 CN CN202110286192.7A patent/CN113010424B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645037A (zh) * | 2009-09-11 | 2010-02-10 | 兰雨晴 | 基础软件平台应用程序接口集成测试覆盖分析方法 |
CN101916225A (zh) * | 2010-09-02 | 2010-12-15 | 于秀山 | 图形用户界面软件功能覆盖测试方法 |
WO2016170937A1 (ja) * | 2015-04-20 | 2016-10-27 | 三菱電機株式会社 | テスト自動化装置、テスト自動化方法及びテスト自動化プログラム |
CN107807881A (zh) * | 2017-09-28 | 2018-03-16 | 北京新能源汽车股份有限公司 | 代码覆盖率的测试方法、装置和计算机设备 |
US20190102281A1 (en) * | 2017-10-04 | 2019-04-04 | International Business Machines Corporation | Measuring and improving test coverage |
CN108073519A (zh) * | 2018-01-31 | 2018-05-25 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法和装置 |
CN109857654A (zh) * | 2019-01-17 | 2019-06-07 | 珠海金山网络游戏科技有限公司 | 一种自动生成测试用例的时序流程图的方法、装置及*** |
CN111309635A (zh) * | 2020-03-26 | 2020-06-19 | 北京奇艺世纪科技有限公司 | 测试用例生成方法、装置、服务器及存储介质 |
CN111552631A (zh) * | 2020-03-27 | 2020-08-18 | 中国平安人寿保险股份有限公司 | ***测试方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113010424B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287052B (zh) | 一种异常任务的根因任务确定方法及装置 | |
US10073683B2 (en) | System and method for providing software build violation detection and self-healing | |
US9170821B1 (en) | Automating workflow validation | |
CN110928802A (zh) | 基于自动生成用例的测试方法、装置、设备及存储介质 | |
CN110222535B (zh) | 区块链配置文件的处理装置、方法及存储介质 | |
CN112433944A (zh) | 业务测试方法、装置、计算机设备和存储介质 | |
CN111679968A (zh) | 接口调用异常的检测方法、装置、计算机设备及存储介质 | |
CN112380255A (zh) | 一种业务处理方法、装置、设备和存储介质 | |
CN111190823A (zh) | Ui自动化测试方法、电子装置及计算机可读存储介质 | |
EP3514680B1 (en) | Identification of changes in functional behavior and runtime behavior of a system during maintenance cycles | |
CN111522729A (zh) | 规则发布的确定方法、装置及*** | |
CN111142929A (zh) | 一种设备生产过程中的固件配置方法、装置、设备及介质 | |
CN107992420B (zh) | 提测项目的管理方法及*** | |
CN114461219A (zh) | 数据解析方法、装置、计算机设备和存储介质 | |
CN112416648A (zh) | 数据校验方法及装置 | |
CN110069382B (zh) | 软件监控方法、服务器、终端设备、计算机设备及介质 | |
CN111752789B (zh) | 压力测试方法、计算机设备及计算机可读存储介质 | |
CN112132544B (zh) | 业务***的巡检方法及装置 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及*** | |
CN113010424A (zh) | 接口自动化测试处理方法、***、计算机设备与存储介质 | |
CN114416596A (zh) | 一种测试应用的方法、装置、计算机设备及存储介质 | |
CN114385498A (zh) | 性能测试方法、***、计算机设备及可读存储介质 | |
CN112436974B (zh) | Cdn数据资源一致性检测方法、装置以及计算机设备 | |
CN113360389A (zh) | 一种性能测试方法、装置、设备及存储介质 | |
CN112817953A (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 |