一种提升接口脚本覆盖率的测试方法及其系统技术方案

技术编号:36735121 阅读:33 留言:0更新日期:2023-03-04 10:05
本发明专利技术提供了一种提升接口脚本覆盖率的测试方法,该方法为:1、对服务器生产环境的数据进行实时监控;2、对收集到的数据进行处理,针对不同组件颗粒、接口名、请求方法、入参进行提取处理;3、将处理完成的数据转成python语言的脚本,并进行打包提供给具体的测试人员,测试人员获取到打包的脚本文件后,进行解压;4、将脚本在网页前端展示,并且检查修改完毕后工程发送到指定的jenkins服务器进行执行脚本;5、执行脚本结束后生成测试报告并发送通知给用户;6、对生成的测试报告进行解析,对测试报告中执行的接口和历史测试接口进行对比,对未测试过的接口进行统计,最后对比测试前后的覆盖率,来获得本次测试提升的覆盖率。来获得本次测试提升的覆盖率。来获得本次测试提升的覆盖率。

【技术实现步骤摘要】
一种提升接口脚本覆盖率的测试方法及其系统


[0001]本专利技术涉及计算机通讯
,特别是一种提升接口脚本覆盖率的测试方法及其系统。

技术介绍

[0002]测试覆盖率不是测试的一种方法,而是衡量测试完整性的一种手段。通过测试覆盖率我们可以知道测试是否充分,还存在哪些潜在的风险和弱点,指导测试人员有目的补充增加覆盖率的测试用例。
[0003]现有技术中公司的接口测试覆盖率在75%左右,因为范围、时间、成本等原因,接口测试覆盖率提升已经进入一个瓶颈阶段。因此,需要思考采用自动化技术编写接口测试脚本替代人工编写接口测试脚本进一步在范围、时间、成本不变的情况下提升覆盖率的方案了。
[0004]组件颗粒是组件的具体组成部分,是组件在不同环境下运行的程序模块。每个组件颗粒必须可以在组件的部署图上找到对应的节点。一个组件颗粒对应开发者门户的一个应用。

技术实现思路

[0005]为克服上述问题,本专利技术的目的是提供一种提升接口脚本覆盖率的测试方法,通过对线上数据的收集处理,再以智能的方式生成测试脚本,对未覆盖的接口进行一个本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种提升接口脚本覆盖率的测试方法,其特征在于:所述测试方法包括如下步骤:步骤S1、对服务器生产环境的数据进行实时监控,并对数据实时记录存储;步骤S2、对收集到的数据进行处理,针对不同组件颗粒、接口名、请求方法、入参进行提取处理;步骤S3、将处理完成的数据转成python语言的脚本,并进行打包提供给具体的测试人员,测试人员获取到打包的脚本文件后,进行解压,再进行检查修改;步骤S4、将脚本在网页前端展示,并且检查修改完毕后工程发送到指定的jenkins服务器进行执行脚本;步骤S5、执行脚本结束后生成测试报告并发送通知给用户,同时将测试报告同步至SVN库中;步骤S6、对生成的测试报告进行解析,对测试报告中执行的接口和历史测试接口进行对比,对未测试过的接口进行统计,最后对比测试前后的覆盖率,来获得本次测试提升的覆盖率。2.根据权利要求1所述的一种提升接口脚本覆盖率的测试方法,其特征在于:所述步骤S1进一步具体为:在kong API网关中安装监控线上用户请求数据的插件,数据按产品ID过滤后放入消息队列中,请求数据的插件通过插件中的access函数,从kong.request数据中能监控到用户请求的body、header、response code信息;采用Apache Flink开源框架从消息队列中过滤除了产品ID、请求时间、请求body、响应码、部分响应头部、请求URL及请求Host以外的数据,把这些过滤得到的数据存放到HBase数据库中。3.根据权利要求1所述的一种提升接口脚本覆盖率的测试方法,其特征在于:所述步骤S2进一步具体为:解析数据,进行正向批量更新或者填充组件颗粒维度数据,同时批量更新或者填充接口维度数据;解析数据,进行反向更新或者填充组件颗粒维度反向数据,同时反向更新或者填充接口维度反向数据,处理后形成待生成脚本数据结构。4.根据权利要求3所述的一种提升接口脚本覆盖率的测试方法,其特征在于:所述步骤S2进一步具体包括:步骤S21、解析数据,获得单独的url参数集、body参数集,其余的保留数据结构;步骤S22、遍历解析url单个参数,判断数据类型;步骤S23、根据设定的默认反向值+判断得到的数据类型反向参数填充该url参数的反向参数集;步骤S24、遍历解析body单个参数,判断数据类型;步骤S25、根据设定的默认反向值+判断得到的数据类型反向参数填充该body参数的反向参数集;步骤S26、针对url参数集和body参数集获取反向测试参数集,填充已保留的数据结构,生成最终反向数据结构的文件;步骤S27、遍历解析url单个参数,判断数据类型;根据数据类型和解析url参数的数据进行正向数据的填充,遍历解析body单个参数,判断数据类型;根据数据类型和解析body参数的数据进行正向数据的填充,得到正向数据结构的文件。5.根据权利要求3所述的一种提升接口脚本覆盖率的测试方法,其特征在于:所述步骤S3进一步具体为:根据数据结构,解析提取测试脚本所需数据,根据脚本生成器设计的模板
文件,依次填充并生成文件;脚本生成测试工程项目,工程项目结构文件生成完毕,打包工程项目文件并输出。6.根据权利要求1所述的一种提升接口脚本覆盖率的测试方法,其特征在于:所述步骤S4进一步具体为:将项目QA作为用户访问展示组件颗粒与接口的前端网站;用户选取要执行测试的接口或者组件颗粒,生成对应脚本;用户进入在线的脚本编辑器,对生成的脚本进行修改和检查,完成后保存至服务器;用户执行脚本,服务器将脚本同步至SVN库中,然后向Jenkins服务器发送执行脚本请求;Jenkins服务器从SVN库中获取脚本文件,并自动执行测试脚本。7.根据权利要求1所述的一种提升接口脚本覆盖率的测试方法,其特征在于:所述步骤S5进一步具体为:Jenkins服务器执行完成ndlib库测试框架的脚本后,会自动在Jenkins服务器工作区的test_report文件夹下生成测试报告;测试报告生成后,通过配置给ndlib库的账号,发送通知和测试报告给用户;Jenkins服务器的任务通过命令行svn import,将本地的测试报告同步至报告收集的SVN服务器中。8.根据权利要求1所述的一种提升接口脚本覆盖率的测试方法,其特征在于:所述步骤S6进一步具体为:解析同步到报告收集SVN服务器的测试报告,获取测试覆盖的组件颗粒名和接口url;更新覆盖率数据库,将之前未覆盖且这次覆盖到的接口,记录为已覆盖;使用SQL统计最新的覆盖率;与原先的覆盖率作对比,得到提升的覆盖率。9.一种提升接口脚本覆盖率的测试系统,其特征在于:所述测试系统包括:数据收集模块、数据处理模块、数据转脚本模块、发起测试模块、测试报告模块、以及解析测试报告...

【专利技术属性】
技术研发人员:刘德建姚鸿黄斌张笛陈高武王柟宋诗莹王春兰林琛
申请(专利权)人:福建天泉教育科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1