- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OwOpcDayt Shan ghat
DevOpsDays
Shanghai
——
上海龙之梦酒店(长宁区延安西路1116号)
主办单位:?鷲嘿?街%
轻量化微服务测试实践
张桐华为软件架构师
$ Da
关于我-工作经历
关于我
-工作经历
HUAWGI
ThoughtWorks ?霽綢易 NetEase
www-163-com
?个人译著
?《Pact中文参考指南》译者
?《AngularJS高级程序设计》译者
?《精通LabVIEW程序设计》作者
?目前从事
?软件工程相关技术与实践
? CloudNative/微服务/DevOps 相关实 践的落地
目录
徳服务测试策略
轻■化微服务测试实践
总结
微服务测试面临的挑战
?微服务架构带来的新问题
?微服务数量的大规模增长.导致微 服务测试的总体成本越来越高
?微服务之间依赖关系复杂.难以绘 制出依赖关系图,导致不容易理解 系统工作方式.新人上手成本高
微服务测试实践面临的挑战
自动化测试 怎样落地?
?许多团队往往首先实现了架构 调整(比如代码拆分),却并 未形成工程实践与组织结构方 面的有效适配
微服务测试实践面临的挑战姓
组织结构架构技术可测试性测试相关人员角色 如何分工与协作架构解耦工程实践
组织结构
架构技术
可测试性
测试相关人员角色 如何分工与协作
架构解耦
微服务测试实践落地需要架构 技术,工程实践与组织结构三 方面的协同配合扌渝K线测试策略测具
微服务测试实践落地需要架构 技术,工程实践与组织结构三 方面的协同配合
如何应对这些挑战?
自动化 轻量化 可视化
去测试化
?
?减少重复工作
?擒共快蘇馈
?保侍简单
?选用成本低、易使
用的工具
?帮助从使用者角度 去理解系统
?降低沟通学习成本 减少只负责手工测 试的专职测试人员 让开发更关注自己 的代码
目录
徳服务测试策略
轻■化微服务测试实践
总结
微服务架构的系统化思考
?基于微服务架构的软件构 建过程,类似搭积木
?模块开发- 集成。服务- 集成。系统
?测试:先底层后上层,从 局部到整体
组件C
组件C
(90%可靠)
如何保证系统的可靠性?
?从系统工程角度思考
?线性系统的可靠性等于各 个组件的可靠性之乘积
?复杂软件系统的可靠性可 能更低,因为还有连接关
系统总体可靠性
90% x 90% x 90%=72.9%
系,是非线性系统
?如何制定合理的测试策略?
是否存在合适的模式?
仍然从微服务架构的特点出发
每个微服务视作以
—组API提供业务功 能的组件
微服务之间以HTTP 等轻量级通信方式 进行调用
■
HOST /user/(idpcredrt GET /sms/{id}
User Service
GET /user/{KJ}POST /userSET /user/fidVrolea
Credit Service
Order Service
GET /orders POST /order PUT /orders/(id}
,
■
Sms Service
POST /sms
GE,
k
A
J (
应该测试什么?
?集成测试
—(
;?契约测试
User Service
Credit Service
GET /orders POST/order PUT /orders/(id}
GET /user/(id}
■ POST /user GET /user/{idVrok
GFT /sms/fidl
组件内部功能的正确性;
(API内部业务逻辑)
:? API测试
;?单元测试
组件之间连接的正确性卜 (API之间的调用)
集成后的系统 端到端流程的正确性
order service
POST /user/(idpcredii
,
■
Sms Service
POST /sms GET
k
A
s
s Da
s
s Da
单元测试
?范围:
?针对代码单元(通常是类)的测试
?价值:
-最快速的反馈
?指导设计(掌握TDD的前提下)
?帮助重构、提升代码质量
API测试
?范围:
-针对业务单元/API的测试
?接口功能实现的完整度
?内部逻辑、异常处理等
?价值:
?接口相对稳定,容易编写用例
?投入性价比高
集成测试
?范围:
?从用户角度验证功能的正确性
?端到端流程,
?端到端流程,
加入用户场景和数据
?价值:
?验证完整流程,业务价值含量最高
该如何组织这些测试?
——微服务测试策略中的模式与反模式
模式测试金字塔
反模式倒金字塔
反模式 模式
沙漏型 纺锤型
$ Da
模式:测试金字塔
模式:测试金字塔
模式:测试金字塔
模式:测试金字塔
$
$ Da
$
$ Da
测试范围更大
覆盖代码更多
运行更慢
业务价值更大
更不易被自动化
文档评论(0)