传统测试与微服务测试的区别
乌拉特中网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
传统测试模型抽象
上图中的服务器端包括n个功能,传统服务是所有的功能都部署在一台机器上,通过增加服务器数量来扩容!参考下图(每一种颜色代表一个功能,部署了四套同样的服务)
微服务测试模型抽象
微服务不同于传统测试,它往往没有UI页面,我们需要通过构建请求(通过编码或者工具模拟)调用各个服务接口。微服务是以业务为单位进行部署的,上图中的每一个服务代表一个功能,不同的业务部署在不同的服务器上,业务使用频繁的还可以使用更多的资源进行部署(下图中橘黄色部署了5个单元,而玫红色只部署了1个单元),这样就可以更合理的利用资源了。
微服务的主要测试内容
其中,集成测试、组件测试和契约测试是我们的测试重点,而上述三种测试,我们可以理解为接口测试(关于什么是接口测试这里就不再详细介绍了)。即每个服务提供对外接口,然后我们通过这个接口对服务进行调用,最后验证其返回值是否达到预期!我们可以通过编码或者工具来构建接口并向接口发起请求,然后按照接口文档来校验响应是否符合预期。
微服务测试注意事项
微服务可以分为无依赖的服务和有依赖的服务。
图a
图b
在微服务测试中mock的服务又是什么呢?举个例子,我们把支付功能做成微服务,该服务负责处理支付的逻辑,而在最后付款时,我们需要调用支付宝来完成付款。那么这个场景该如何处理呢?简单方式,我们花一分钱真实的购买服务。那么假设我们要验证10000元购买服务呢?或者当支付宝出错时,我们的程序又该如何处理呢?在这里我们就可以把支付宝作为一个mock服务,核心实现思路如下:
对应用的请求进行解析,并返回预先定义好的响应值,具体如下:
1.支付请求校验正确,返回支付成功;
2.支付请求校验失败,返回支付失败;
3.关掉支付宝mock服务,可以模拟支付宝异常
我们可以使用wiremock来搭建自己的mock服务器,简单原理如下图所示:
我们需要在配置文件中设置预定义的请求,如果应用的请求符合预定义请求则返回预定义的响应。然后启动wiremock来实现请求的处理,wiremock就是一个web服务器!具体详情请参考:https://github.com/tomakehurst/wiremock
微服务测试总结
1. 如果你只做UI功能测试,那么微服务测试与传统测试没有区别,因为你只你感受不到架构的变化。
2.对各个微服务提供的接口测试本质上等价于接口测试。需要按照微服务的接口说明文档进行接口功能以及性能和安全的测试。
3.必要时需要通过mock方式来模拟微服务所依赖的服务来提升被测服务的可测性。
4.要关注负载均衡,测试请求是否分发到多点应用。参考文章:微服务性能测试的关键——IP欺骗技术
5.通过工具 SpringCloud Sleuth、 Turbine、Prometheus对各个服务消耗的资源(包括:cpu、内存、磁盘,网络)进行监控;
6.通过ELK( ElasticStack )来集中化管理日志。参考文章:微服务测试的关键——通过ELK查询日志
7.理解微服务的核心概念。参考文章:一文搞定微服务测试本质
分享名称:读懂这篇文章,就掌握微服务测试核心了
URL网址:http://www.mswzjz.cn/qtweb/news31/400031.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能