[发明专利]一种KVM架构下API测试的方法及系统在审
| 申请号: | 201910146739.6 | 申请日: | 2019-02-27 |
| 公开(公告)号: | CN109902010A | 公开(公告)日: | 2019-06-18 |
| 发明(设计)人: | 苏冉 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 刘雪萍 |
| 地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 发送请求数据 测试 返回响应 架构 依赖耦合关系 测试数据 代理组件 排列组合 数据关系 耦合的 服务 | ||
本发明提供一种KVM架构下API测试的方法及系统,在服务之前放置的代理组件,获取每个服务的发送请求数据和返回响应数据;收集到的发送请求数据和返回响应数据关系生成对应的JSON文件Mock Service根据生成的JSON文件模拟真实服务的发送请求数据和返回响应数据进行API测试。只有真正被使用的API调用才被收集到,如果没有使用到的就不去测试,使用Mock Service去模拟各个真实的Service解决了API之间的相互依赖耦合关系。既解决了传统API测试思路通过排列组合导致的测试数据庞大,也解决了API之间耦合的问题。
技术领域
本发明涉及软件测试技术领域,具体涉及一种KVM架构下API测试方法及系统。
背景技术
API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
API测试在目前流行的互联网产品测试理念中比重最为重要,由于要快速响应用户诉求应对需求变化,API测试更优于单元测试、GUI测试。单元测试更主流的由研发自己担任,在以往的研发理念里占比较重,适用于产品生命周期久、需求改动不频繁的传统模式,无法适用现在流行快速迭代及越来越高的客户需求体验。另外,GUI测试层通常采用的方法是模拟各种用户使用场景,并验证这些操作的结果是否正确,最贴近用户体验,但也有很大的缺点:执行效率较低花费大量的人力成本,即便是使用GUI自动化测试技术,用例的维护和执行代价依然很大。所以无法满足持续的客户变化,稳定性和复用性是其重大缺陷。
以上原因导致了API测试比重加大,成为最需要优化的测试部分。以往的研发模型更多的采用单体结构,所谓单体结构是指所有的业务场景的表示层、业务逻辑层和数据访问层都在一个工程里,请统一编译、打包后部署在环境里。所以单体结构具有发布简单、方便调试、架构简单等特点,所以一直被大量使用特别是企业级的产品中。
但是随着互联网产品的普及,互联网产品的测试理念也得到大家的认可和推广。这样也暴露了单体架构的很多缺点,主要体现在灵活性、可扩展性、稳定性及可维护性。
微服务架构应运而生,这是种新型的架构风格,一种大型复杂软件系统不再由一个单体组成,而是由一系列相互独立的微服务组成。各个微服务运行在自己的进程中,开发和部署都没有依赖。
KVM是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
针对单体架构的API的测试方案是很长一段时间API测试的主流,主要测试方式是针对提供的对外API设计测试数据,并覆盖多种逻辑组合。由于单体架构下代码的底层、路逻层、表示层等对外表现的API比较单一,所以对外暴露可传入的测试数据对代码逻辑来说覆盖有限,另外还有以下主要缺陷:
稳定性差:当单体应用中的任何一个模块有问题时,都可能造成应用整体不可用,缺乏容错机制。无论多小的改动,也需要重新打包整个应用,而且每次打包时间都比较久。
可扩展性差:在模拟多并发场景时,无法便利的以模块为单位灵活扩展容量,不利于模块的横向扩展。
可维护性差:当单体应用中的任何一个模块有问题时,都可能会造成应用的复杂性直线上升,当业务规模比较庞大时,整体项目的维护性成本会增大。
基于KVM实现的虚拟化系统符合以上特点,多个服务都会对外暴露接口,同时这些微服务之间也有逻辑关联,就会导致两个问题:API测试的数据量增大;各个服务之间有耦合关系。
基于KVM架构的虚拟化系统是目前主流的虚拟化系统实现方式,且基于该框架实现的虚拟化系统大都采用微服务架构,针对这类虚拟化系统的API测试,提出更优的解决方案,解决目前基于KVM实现的虚拟化系统的API测试的短板。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910146739.6/2.html,转载请声明来源钻瓜专利网。





