【技术实现步骤摘要】
一种组件接口测试分析方法、装置、服务器以及存储介质
本专利技术实施例涉及计算机技术,尤其涉及一种组件接口测试分析方法、装置、服务器以及存储介质。
技术介绍
随着微服务和敏捷研发模式的盛行,各个互联网公司、商业银行等头部IT企业基本都转向了多项目组协同开发的分布式、频繁迭代的研发模式。这种研发模式有很多优点,比如可以更快速灵活的响应外部市场环境的变化,更早的交付客户价值,微服务松耦合的开发部署方式使得每一个组件可以由不同的团队、不同的编程语言独立进行开发和部署、降低了单个组件的复杂度等。这种跨组件跨组织的研发模式会给不同组件之间接口调用的开发测试工作带来很多挑战。目前,可以采用链路跟踪技术定位组件中的每个服务调用了哪些外部服务,进而,可以基于定位结果进行接口之间的测试。现有的链路跟踪技术,最早由Google在2010年提出,当时Google发布了一篇Dapper论文,介绍了自研的分布式链路追踪的实现原理,还介绍了他们是怎么低成本实现对应用透明的。除了Google的dapper,还有一些其他比较有名的链路追踪产品,比如阿里的鹰眼、大众点评的CAT、Twitter的Zipkin以及国产开源的skywalking等。然而,分布式架构下单个组件的项目组只维护了本业务领域的服务,有大量的功能需要调用外组件的服务才能完成。不同组件间接口之间的测试是一个非常重要但是容易被忽视的问题,各个项目组通常都会对自己本组件发布的接口或者服务做充分的测试,但是由于组织的割裂关系会导致信息的割裂,外部接口的测试一般会做的比较薄弱。 ...
【技术保护点】
1.一种组件接口测试分析方法,其特征在于,包括:/n扫描分布式架构下各个组件的源代码包,获取各个所述组件的接口调用关系,统计去重后所有组件的接口调用关系数量,得到设计态接口调用关系数量;/n从服务调度中心获取处于运行状态的所有组件的不重复的接口调用关系,统计所述不重复的接口调用关系的数量,得到运行态接口调用关系数量,其中,所述服务调度中心用于从数据库中获取各个所述处于运行状态的组件的接口调用关系;/n确定所述运行态接口调用关系数量与设计态接口调用关系数量的比例关系,将所述比例关系作为所述分布式架构下所有组件接口的测试覆盖率。/n
【技术特征摘要】
1.一种组件接口测试分析方法,其特征在于,包括:
扫描分布式架构下各个组件的源代码包,获取各个所述组件的接口调用关系,统计去重后所有组件的接口调用关系数量,得到设计态接口调用关系数量;
从服务调度中心获取处于运行状态的所有组件的不重复的接口调用关系,统计所述不重复的接口调用关系的数量,得到运行态接口调用关系数量,其中,所述服务调度中心用于从数据库中获取各个所述处于运行状态的组件的接口调用关系;
确定所述运行态接口调用关系数量与设计态接口调用关系数量的比例关系,将所述比例关系作为所述分布式架构下所有组件接口的测试覆盖率。
2.根据权利要求1所述的方法,其特征在于,在扫描分布式架构下各个组件的源代码包,获取各个所述组件的接口调用关系之后,还包括:
根据各个所述组件的接口调用关系,确定所有组件的第一参考接口调用关系;
过滤重复的第一参考接口调用关系,得到去重后所有组件的接口调用关系。
3.根据权利要求1所述的方法,其特征在于,所述从服务调度中心获取处于运行状态的所有组件的不重复的接口调用关系,包括:
从服务网关中获取处于运行状态的所有组件的第二参考接口调用关系;
过滤重复的第二参考接口调用关系,得到处于运行状态的所有组件的不重复的接口调用关系。
4.根据权利要求3所述的方法,其特征在于,在从服务网关中获取处于运行状态的所有组件的第二参考接口调用关系之前,还包括:
在检测到接口调用事件时,通过服务网关将所述接口调用事件对应的接口调用关系发送给数据库,以通过数据库存储各个处于运行状态的组件的不重复的接口调用关系;
在检测到测试事件触发时,指示所述服务网关从所述数据库中获取所述处于运行状态的各个组件的接口调用关系。
5.根据权利要求1所述的方法,其特征在于,所述从服务调度中心获取处于运行状态的所有组件的不重复的接口调用关系,包括:
从应用性能管理装置中抓取处于运行状态下的接口调用链路数据;
拆解所述接口调用链路数据,得到各个所述组件的第三参考接口调用关系;
过滤重复的第三参考接口调用关系,得到处于运行状态的所有组件的不重复的接口调用关系。
6.根据权利要求1所述的方法,其特征在于,所述扫描分布式架构下各个组件的源代码包,获取各个所述组件的接口调用关系,包括:
获取分布式架构下各个组件的源代码包;
扫描各个所述组件的源代码包,获取与同一组件内各个服务消费者具有调用关系的服务生产者,其中,所述服务消费者用于表示接口调用的调用发起方,所述服务生产者用于表示接口调用的被调用方;
汇总同一组件内所有所述服务消费者与服务生产者之间的调用关系,确定各个所述组件的接口调用关系。
7.根据权利要求6所述的方法,其特征在于,在汇总同一组件内所有所述服务消费者与服务生产者之间的调用关系,确定各个所述组件的接口调用关系之后,还包括:
汇总各个所述组件的接口调用关系,确定所述分布式架构下所有组件的接口调用关系。...
【专利技术属性】
技术研发人员:尹盛,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。