网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
个人看来,微服务具有如下优点:
- 更快的开发速度**:**微服务架构支持团队对服务进行独立的开发与部署,从而提升了开发的效率。同时,每个服务的独立性也允许开发者采用各种不同的技术栈和工具进行服务开发,使得技术选择更加灵活多样。
- 更好的灵活性**:**微服务架构支持团队对服务进行独立的开发与部署,这使得系统更加灵活。此外,由于每个服务都是独立的,因此可以更容易地添加新功能或修改现有功能。
- 更好的扩展性**:**微服务架构支持将应用程序划分为多个独立的服务,每个服务都能进行独立的部署和扩展。这种架构方式增强了系统的可扩展性,便于根据业务需求动态地添加或删除服务。
- 更好的可靠性**:**微服务架构提供了将应用程序分割为多个单独服务的能力,这些服务都可以独立部署和运行。这种架构方式进一步提升了系统的健壮性,能更有效地应对故障和错误处理。
- 更高的维护性**:**微服务架构将应用程序划分为众多独立的服务,每个服务都拥有自己的代码库和专属团队。这样的划分方式使得代码更具模块性,从而更便于进行维护和更新。
当然微服务也具体一定的缺点,如下:
- **分布式系统的复杂性:**微服务架构由于涉及到多个服务的协同工作,因此增加了系统的复杂度。在这种架构中,必须对服务间的性能、通讯、数据一致性以及故障定位、恢复等问题进行深入考虑。
- **部署和运维的复杂性:**在微服务架构中,由于涉及到多个服务的部署,因此部署的复杂性得到了提高,其中需要深入考虑服务间的依赖关系和版本控制等问题。同时,微服务架构也增加了运维的复杂性,因为需要部署和管理多个服务,这就需要我们关注服务的监控、故障恢复以及容量规划等问题。
- **测试的复杂性:**在微服务架构中,服务数量众多,每个服务都是独立的业务单元,服务主要通过接口进行交互,如何保证依赖的正常,是测试面临的主要挑战。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】
测试分析
我们通过前面说的单体应用、微服务可以知道,现在大部分公司都是微服务化,我们看下下面一个图。
上述的服务之间的关系看起来比较简单,但是也是互相之间调用、依赖,但是实际的公司应用情况更加复杂,微服务数量少则几十上百个,多的上千个,它们之间的关系像蜘蛛网一样复杂。
如上图所示,当我们在测试微服务A 的功能时,微服务 B 、 E 经常不稳定,第三方服务也是一样非常不稳定,这个时候非常影响我们测试的进度、效率。这导致了尽管待测系统已经开发完毕,测试脚本、测试用例也准备充分,但测试工作却无法进行,这是一个令人沮丧的结果。面对这种情况,我们感到非常不适,因为尽管我付出了大量努力,但工作进度却因一个不是我们负责的服务而受阻。这种感觉就好像是全力出击,却只是打在了棉花上,无论自己有多大的力量也无法施展。
在团队有一定规模的公司里面,日常工作中大家应该碰见到前后端项目、跨团队项目、和第三方公司合作的测试任务。下面情况很常见:
- 前端进入开发了,后端还在开发中,无法进行联调
- 跨团队项目,存在一些关联团队的功能开发进度拖慢
- 第三方合作项目,内部基本上开发完成,第三方公司的一直没完成
- 自动化用例运行总是出现部分失败,由于其他服务不稳定
那作为QA工程师,面对这样的情形,我们该怎么办呢? 难道一直等着吗?有什么办法解决么?
我们能否这样做的,我的被测服务就是服务 A,那么我不用管其他服务是不是好用,我只要保障服务 A 能够走完流程,就可以完成服务A测试任务了。这个思路,我们只需要找一个工具模拟其他服务的工作就好了了,也不用再关心其他服务到底调用了多少服务。
Mock 应用
我们知道我们需要模拟其他服务的处理,不同的是,它不需要实现原有服务的处理逻辑,只要能按服务的处理逻辑给出对应返回就可以了,就是目前我们常说的 Mock 服务、挡板服务/系统。
那么,到底应该怎么选择 Mock 服务呢?
我们要基于自己和团队的技术栈来做选择,这决定了你进行模拟服务的效率。你要知道,无论Mock服务做得多么完美,它只是一个 Mock,它存在的意义就是帮助你快速完成被测服务的测试工作,因此,选择一个学习成本低、上手快并且完全适合你自己技术栈的 Mock 框架,能让你的测试工作事半功倍。我们主要需要下面几个参考点:
- 使用简单、容易上手
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**