自动化测试高手课
柳胜
原甲骨文高级开发经理
16849 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 34 讲
开篇词 (1讲)
自动化测试高手课
15
15
1.0x
00:00/00:00
登录|注册

08|需求提炼(二):微服务集群要测什么?

你好,我是柳胜。
随着互联网发展和软件场景普及,单体应用逐渐暴露出致命缺陷,比如过于庞大,大大增加系统的复杂度、交付速度变慢,协作困难、错误难以隔离、维护成本巨大等等。
同时,软件技术也在发展,出现了 VMware、Docker 和 Kubernetes 等轻量化部署方式,这使得拆分的困难变小,部署的成本降低。微服务架构诞生后,一个系统拆分成多个独立开发和运行的服务,这个服务不管大小,业界都管它叫微服务。它们也有一套服务治理的技术规范,用来保证部署和运行的可靠性和扩展性。
微服务集群的开发方式确实方便了用户需求快速实现和交付,但今天我们的关注点是,从测试角度看,微服务相比单体应用有什么不一样?有没有新的测试点?
这一讲我们将继续延续 FoodCome 的例子,看看它从单体应用变成微服务架构之后,给测试工作带来的变化和挑战。

微服务架构下的 FoodCome

在上一讲,单体应用的 FoodCome 是这样的:
FoodCome单体架构图
随着业务规模的扩大,开发人手增加,FoodCome 被拆分成 5 个微服务,具体如下:
订单服务:处理用户下的订单;
物流服务:Foodcome 内部的物流管理,与外部物流对接;
餐馆服务:管理餐馆的信息,参与订单的工作流;
账户服务:管理订单里的顾客信息,和外部的支付系统对接。
通知服务:产生消息通知用户,和外部的邮件系统对接。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了微服务架构下的测试需求和挑战,以FoodCome为例,详细阐述了微服务架构下的测试工作与单体应用的不同之处。文章首先介绍了微服务架构的基本概念和测试的重要性,随后详细讨论了微服务间的交互方式,包括REST和异步消息。对于REST,作者解释了其基本原则和Order Service的REST API设计,以及通过OpenAPI的语法规范定义了接口规格说明书。对于异步消息,作者介绍了其在微服务集群架构中的作用和设计方法。此外,文章还提到了测试设计先行原则和合适的接口描述语言的重要性。总的来说,本文通过实际案例和技术概念,深入浅出地阐述了微服务架构下的测试需求和挑战,对于从单体应用转向微服务架构的开发团队和测试人员具有一定的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《自动化测试高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(8)

  • 最新
  • 精选
  • 小姐姐
    楼下已经回答了微服务的测试重点,我写下微服务测试目前先在公司面临的难点,有很多时候需要借助开发大佬的“威力”来震慑,进行推动 1.开发设计不能先行 多数情况是边开发边修改,造成很多遗漏,测试的测试桩或者用例设计也是千疮百孔,修修补补 2.推不动开发进行设计先行,这真的需要高层的领导力进行施压 3.开发认知设计就在我脑袋里,可以先不设计,一切都在我脑袋里,有问题就当面口述 4.设计文档,私自改动,不通知相关方,造成整体业务流堵塞 5.设计文档不及时更新,与实际的业务不一致

    作者回复: 谢谢分享现状,能总结到这个程度,已经非常了不起了!想必应该也在经历痛苦,能改变的就改变,不能改变的就接受,接受不了就走人!😄

    2022-04-20
    2
    7
  • 太匆匆
    设计先行有点难以开展,特别是测试去推动这个事情。

    作者回复: 从测试来看,推动开发确实有困难。但如果开发和测试按一本帐来算的话,单元测试的ROI最高,这也是为什么Devops能够大行其道的内核逻辑。

    2022-04-11
    2
  • Geek_d00d65
    一般正常排期的项目都是会在需求评审后,进行数据库设计和接口设计,设计完后进行数据库和接口评审,接口设计也是按RESTful规范设计

    作者回复: 这是很好的团队实践!建议参考第二模块的内容,可以想想能不能自动化测试设计先行。

    2022-06-01
    1
  • 派森
    我们项目很奇葩,是购买的代码,领导层只想改吧改吧上线,然后就是抽人力出去做其他价值更高的项目,这种项目连接口码流都是上后台抓的,太骨感了,但是我觉得老师的这一套很好,项目外包人力流动性很强,有这样的规则在,就是一只无形的手为保驾护航,要搞!要好好搞!

    作者回复: 谢谢分享!

    2022-05-06
    1
  • lisa
    微服务测试更重要的是做接口测试(服务自身(后端mock)以及集成多个微服务调用链路以及基于用户场景的测试),因为微服务拆分之后可能由多个人负责,微服务本身代码逻辑比较简单所以单元测试不是重点,重点是多个人协同上经常会出现业务逻辑理解不一致或者缺乏沟通导致的BUG,这些都需要依赖接口测试和集成测试来发现

    作者回复: 理解到位!

    2022-04-06
    1
  • 追风筝的人
    在测试阶段怎么运用它们设计、开发测试案例,等待中。。。。。

    作者回复: 先整体设计,再各个击破!

    2022-04-06
    1
  • ifelse
    学习打卡
    2024-02-12归属地:浙江
  • 王小卡
    IDL就是接口式样的意思吗?OpenAPI和Swagger一样的工具吗?
    2023-06-28归属地:辽宁
收起评论
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部