[发明专利]一种API发现的方法、确定测试覆盖率的方法及装置有效
申请号: | 202110940159.1 | 申请日: | 2021-08-17 |
公开(公告)号: | CN113392032B | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | 张涛;宁戈;牛伟颖;董毅 | 申请(专利权)人: | 北京安普诺信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京万象新悦知识产权代理有限公司 11360 | 代理人: | 贾晓玲 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 api 发现 方法 确定 测试 覆盖率 装置 | ||
1.一种API发现的方法,其特征在于,该方法包括:
在目标Web应用程序的路由规则注册过程中/路由规则注册完成后,通过预先插桩的第一探针获取注册的URL路径与实际处理程序的映射集合;
根据所述映射集合中的每条URL路径与实际处理程序的映射关系信息,分别生成相应的API信息,并输出所述API信息;每条所述API信息都包括对应的URL路径信息。
2.根据权利要求1所述的方法,其特征在于,
所述第一探针被插桩在目标Web应用程序的路由注册模块中,并配置得使所述第一探针在所述路由注册模块将路由规则注册到路由系统的过程中,获取所述映射集合;
或,所述第一探针被插桩在路由注册模块后执行的其他初始化过程相关模块中/初始化后执行的相关模块中,并配置得在路由规则注册完成后才使被插桩模块触发所述第一探针,及配置得使所述第一探针访问路由系统,获取所述映射集合。
3.根据权利要求1所述的方法,其特征在于,
对目标Web应用程序插桩所述第一探针的实现方式,包括:以运行时插桩的方式对目标Web应用程序插桩所述第一探针。
4.根据权利要求1所述的方法,其特征在于,
所述API信息中,还包括:所述URL路径信息映射的实际处理程序信息;所述实际处理程序信息,包括:所述URL路径信息对应的动作方法/处理函数/视图函数的信息。
5.一种确定测试覆盖率的方法,其特征在于,该方法包括:
对于目标Web应用程序,以权利要求1-4任一所述的方法,获取目标Web应用程序中全量的对外API信息;
对待确定对外API覆盖率的测试,在所述测试过程中,记录目标Web应用程序中被执行的对外API信息;并根据记录的至少被执行一次的对外API数与所述的全量对外API的总数,确定所述测试关于对外API的测试覆盖率。
6.根据权利要求5所述的方法,其特征在于,
所述的记录目标Web应用程序中被执行的对外API信息的实现方式,包括:
在测试过程中通过预先插桩的第二探针获取所述测试的测试请求访问过的URL路径,记录所述URL路径对应的API信息作为所述被执行的对外API信息;
或,所述测试为黑盒测试/基于主动攻击的灰盒测试时,在测试端根据所述测试已执行的测试请求获取其对应的URL路径及对外API信息,记录所述对外API信息作为所述被执行的对外API信息。
7.一种API发现的装置,其特征在于,该装置包括:
探取模块和API信息生成模块;
所述探取模块,被配置为在目标Web应用程序的初始化路由规则注册过程中/路由规则注册完成后,获取注册的URL路径与实际处理程序的映射集合;
所述API信息生成模块,被配置为根据所述映射集合中的每条URL路径与实际处理程序的映射关系信息分别生成相应的API信息、输出所述API信息;每条所述API信息都包括对应的URL路径信息。
8.一种确定测试覆盖率的装置,其特征在于,该装置包括:
API发现模块和测试统计模块;
所述API发现模块,被配置为用于实现权利要求1-4任一所述的方法,获取目标Web应用程序中全量的对外API信息/获取、输出目标Web应用程序中全量的对外API信息;
对应地,测试统计模块,被配置为在测试过程中记录目标Web应用程序中被执行的对外API信息及根据记录的至少被执行一次的对外API数与所述API发现模块获取到的全量对外API的总数来确定当前测试关于对外API的测试覆盖率/在测试过程中记录并输出目标Web应用程序中被执行的对外API信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安普诺信息技术有限公司,未经北京安普诺信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110940159.1/1.html,转载请声明来源钻瓜专利网。