[发明专利]API自发现方法和基于此的测试覆盖率统计方法及装置有效
申请号: | 202110940190.5 | 申请日: | 2021-08-17 |
公开(公告)号: | CN113392034B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 张涛;宁戈;刘恩炙;周幸 | 申请(专利权)人: | 北京安普诺信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/955 |
代理公司: | 北京万象新悦知识产权代理有限公司 11360 | 代理人: | 贾晓玲 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | api 发现 方法 基于 测试 覆盖率 统计 装置 | ||
本申请公开的实施例提供了一种API自发现方法和基于此的测试覆盖率统计方法及装置。其中,前面述及的API自发现方法,包括:通过在目标Web应用程序初始化路由规则注册到路由系统后基于插桩自发现目标Web应用程序中的全量API;上述的API自发现方法,能够一次性且低开销地获取目标Web应用的(初始化注册的)全量API信息。而前面述及的测试覆盖率统计方法,则能够在测试过程中统计/实时统计得到准确、可靠的API测试覆盖率,进而更有效地评估测试完整性,以客观认识软件质量和更好改进测试工作。
技术领域
本申请公开的实施例主要涉及Web后端API相关的技术领域以及相关的软件测试技术领域,且更具体地,涉及一种API自发现方法和基于此的测试覆盖率统计方法及装置。
背景技术
Web应用程序通常采用主从式架构。而主从式架构的Web应用程序又被视为前端(一般地,是指浏览器、客户端程序上运行的部分或客户端程序本身)和后端(一般地,是指服务器端运行的部分)两部分。得益于前端技术的发展,前后端分离已经成为行业内开展互联网项目、开发相关Web应用程序的标配模式。通过前、后端的有效解耦,实现前后端分离,前端开始更加注重页面开发的工程化、自动化,后端则更专注于API(这里的API,主要是指前后端分离模式下一种非常重要的后端路由实现方式)的提供和数据库的保障,如此才为软件系统的大型分布式架构、弹性计算架构、微服务架构、多端化服务等提供了可能。
而在软件项目的全生命周期中,正因为后端提供的API的重要作用(后端路由)及意义(实现前后端解耦),故若能够掌握Web应用程序中后端提供的全量API,将有助于软件项目的开发、测试、运维等工作的开展;尤其 是在测试过程中,若能掌握Web后端的全量API,将有助于测试覆盖率统计。
然而,无论是通过开发团队人工统计,还是通过传统手段——爬虫爬取,对于获取Web后端全量API的目标而言,都是力有不逮力的。因此,如何获取目标Web应用程序后端提供的全量API,特别是如何一次性获取其中全量API以减少获取过程开销,进而为其后相关测试的覆盖率统计提供可靠全量API信息,是本领域亟待解决的技术问题。
发明内容
根据本申请公开的实施例,提供了一种API自发现的方案(注:所述API,即Web后端提供的API,其主要是指前后端分离模式下一种非常重要的后端路由实现方式),以及一种基于所述API自发现的测试覆盖率统计的方案。
在本公开的第一方面中,提供了一种API自发现方法。该方法包括:在目标Web应用程序初始化路由规则注册到路由系统后,基于插桩自发现目标Web应用程序中的全量API;其中包括:通过预先插桩的第一探针获取路由规则对应的URL路径与实际处理程序的映射集合;根据所述映射集合中的每条URL路径与实际处理程序的映射关系信息,分别生成相应的API信息,并输出全量API信息;每条所述API信息都包括对应的URL路径信息。
在本公开的第二方面中,对应地,提供了一种API自发现装置。该装置包括:API自发现模块,以及插桩模块;其中,API自发现模块被配置为在目标Web应用程序初始化路由规则注册到路由系统后基于插桩自发现目标Web应用程序中的全量API;API自发现模块,包括第一探针;具体地,其被配置为通过预先插桩的第一探针获取路由规则对应的URL路径与实际处理程序的映射集合;根据所述映射集合中的每条URL路径与实际处理程序的映射关系信息,分别生成相应的API信息,并输出全量API信息;其中,使每条所述API信息都包括对应的URL路径信息;插桩模块,则被配置为对目标Web应用程序插桩所述第一探针。
在本公开的第三方面中,提供了一种基于上述API自发现的测试覆盖率统计方法。该方法包括:对于目标Web应用程序,以第一方面述及的方法,自发现并获取目标Web应用程序中全量API信息;对于进行中的目标测试(即需要统计其API覆盖率的测试),在其测试过程中,统计/实时统计目标Web应用程序中被执行的API信息,并根据记录的至少被执行一次的API数与所述的全量API的总数,确定所述测试的API测试覆盖率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安普诺信息技术有限公司,未经北京安普诺信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110940190.5/2.html,转载请声明来源钻瓜专利网。