文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

读懂这篇文章,就掌握微服务测试核心了

2024-12-03 17:07

关注

传统测试模型抽象

上图中的服务器端包括n个功能,传统服务是所有的功能都部署在一台机器上,通过增加服务器数量来扩容!参考下图(每一种颜色代表一个功能,部署了四套同样的服务)

微服务测试模型抽象

微服务不同于传统测试,它往往没有UI页面,我们需要通过构建请求(通过编码或者工具模拟)调用各个服务接口。微服务是以业务为单位进行部署的,上图中的每一个服务代表一个功能,不同的业务部署在不同的服务器上,业务使用频繁的还可以使用更多的资源进行部署(下图中橘黄色部署了5个单元,而玫红色只部署了1个单元),这样就可以更合理的利用资源了。


微服务的主要测试内容

其中,集成测试、组件测试和契约测试是我们的测试重点,而上述三种测试,我们可以理解为接口测试(关于什么是接口测试这里就不再详细介绍了)。即每个服务提供对外接口,然后我们通过这个接口对服务进行调用,最后验证其返回值是否达到预期!我们可以通过编码或者工具来构建接口并向接口发起请求,然后按照接口文档来校验响应是否符合预期。

微服务测试注意事项

微服务可以分为无依赖的服务和有依赖的服务。

图a

 

图b

在微服务测试中mock的服务又是什么呢?举个例子,我们把支付功能做成微服务,该服务负责处理支付的逻辑,而在最后付款时,我们需要调用支付宝来完成付款。那么这个场景该如何处理呢?简单方式,我们花一分钱真实的购买服务。那么假设我们要验证10000元购买服务呢?或者当支付宝出错时,我们的程序又该如何处理呢?在这里我们就可以把支付宝作为一个mock服务,核心实现思路如下:

对应用的请求进行解析,并返回预先定义好的响应值,具体如下:

支付请求校验正确,返回支付成功;

支付请求校验失败,返回支付失败;

关掉支付宝mock服务,可以模拟支付宝异常

我们可以使用wiremock来搭建自己的mock服务器,简单原理如下图所示:

我们需要在配置文件中设置预定义的请求,如果应用的请求符合预定义请求则返回预定义的响应。然后启动wiremock来实现请求的处理,wiremock就是一个web服务器!具体详情请参考:https://github.com/tomakehurst/wiremock

微服务测试总结

如果你只做UI功能测试,那么微服务测试与传统测试没有区别,因为你只你感受不到架构的变化。

对各个微服务提供的接口测试本质上等价于接口测试。需要按照微服务的接口说明文档进行接口功能以及性能和安全的测试。

必要时需要通过mock方式来模拟微服务所依赖的服务来提升被测服务的可测性。

要关注负载均衡,测试请求是否分发到多点应用。参考文章:微服务性能测试的关键——IP欺骗技术

通过工具 SpringCloud Sleuth、 Turbine、Prometheus对各个服务消耗的资源(包括:cpu、内存、磁盘,网络)进行监控;

通过ELK( ElasticStack )来集中化管理日志。参考文章:微服务测试的关键——通过ELK查询日志

理解微服务的核心概念。参考文章:一文搞定微服务测试本质

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯