[发明专利]一种基于服务虚拟化的测试方法和系统在审
申请号: | 202011051571.X | 申请日: | 2020-09-29 |
公开(公告)号: | CN112162925A | 公开(公告)日: | 2021-01-01 |
发明(设计)人: | 舒科;伍海峰;张朝阳 | 申请(专利权)人: | 新华三大数据技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450000 河南省郑州市郑州高*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 服务 虚拟 测试 方法 系统 | ||
本公开提出了一种基于服务虚拟化的测试方法和系统,用于提高测试效率。本公开通过服务虚拟化工具录制/回放客户端经被测服务发送的请求以及被模拟服务的响应,然后通过虚拟化工具模拟实际服务,从而实现对被测服务的隔离测试,从而避免其他服务因为不稳定或不可用造成的测试误差,减少其他服务的部署依赖,提升测试效率。
技术领域
本公开涉及测试技术领域,尤其涉及一种基于服务虚拟化的测试方法和系统。
背景技术
随着业务体量的发展,当下软件应用已经由前期的单体应用,逐渐发展为微服务架构。为了不让客户端直接面对各种各样的微服务,也为了更好地管理后端的微服务,又在软件架构中加入一层应用程序接口(Application Interface,API)网关,作为系统的唯一入口。如同客户在银行的取号和叫号服务,对到银行办理不同业务的人排号,然后通过叫号将这些客户分发到不同的窗口做业务处理。不仅如此,API网关还兼具有身份验证、监控、负载均衡等多种职责。当前实现API网关的技术有很多,主流的有Kong,Nginx,Haproxy,Netty等。
Kong,是一种开源的API网关,也可以理解为是一种针对API的管理工具。它是基于OpenResty(Nginx+Lua模块)编写的高可用的、易扩展的项目。Kong通过提供RESTful API来操作和配置API管理系统;也可以扩展为多个Kong服务器,并通过配置负载均衡将来自客户端的请求分发到各个微服务。
Kong有两个主要组件,Kong Server基于Nginx的服务器,用来接收API请求。Apache Cassandra用来存储操作数据。
当前,在云应用程序中多使用微服务。在这些微服务中,可以使用不同的技术,实现不同的相对独立的业务。虽然微服务带来了灵活的技术运用方式,以及快速发布和部署的优点,但也对整个系统的测试工作提出了新挑战。例如:当系统中的关键微服务处于开发中或不可用时,无法进行测试;因为某些特定的原因,一些微服务可能会停机;测试数据繁杂,不容易管理;由于各个微服务完成不同的业务,需要设计更加细粒度的用例和测试数据等。
发明内容
有鉴于此,本公开提供一种基于服务虚拟化的方法和系统,用于提高测试效率。
基于本公开一实施例,本公开提供了一种基于服务虚拟化的测试方法,所述方法包括:
在测试任务的第一阶段中,被测服务接收业务请求并将业务请求转发给服务虚拟化工具;服务虚拟化工具记录业务请求并将业务请求透传给被模拟服务;接收并记录被模拟服务发送的业务响应并将业务响应透传给被测服务;
在测试任务的第二阶段中,被测服务接收业务测试请求并将业务测试请求转发给服务虚拟化工具,服务虚拟化工具基于第一阶段中所记录的业务请求和业务响应模拟被模拟服务响应所述业务测试请求。
进一步地,所述方法还包括:在测试任务的第二阶段开始之前,还包括对所记录的业务请求和业务响应数据进行修改的步骤,所述修改至少包括对网络延迟、业务请求的正则匹配规则的修改;
在测试任务的第二阶段中,服务虚拟化工具基于被修改的第一阶段中所记录的业务请求和业务响应模拟被模拟服务响应所述业务测试请求。
进一步地,在测试任务的第二阶段中,对被测服务进行的测试可以是对被测服务进行的负载测试或压力测试,或对被测服务和链路的负载测试或压力测试。
进一步地,所述的被测服务为应用程序接口API网关,所述的被模拟服务为微服务。
进一步地,在测试任务的第一阶段中,所述服务虚拟化工具记录的是真实业务场景下的业务请求和业务响应。
基于本公开另一方面,本公开还提供了一种基于服务虚拟化的测试系统,该系统包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三大数据技术有限公司,未经新华三大数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011051571.X/2.html,转载请声明来源钻瓜专利网。