打破孤岛 - 质量中台工程化变迁
如果无法正常显示,请先停止浏览器的去广告插件。
1. 打破孤岛 — 质量中台工程化变迁
汪成坤 @ 众安科技
2.
3. 汪成坤 研发质量架构师
来自众安科技工程效率中心,拥有11年工作经验,深耕
DevTestOps、微服务生态、容器云等技术领域,目前负责
众安Magic质量中台架构、产品设计及研发工作,对数字
化转型、研发效能平台建设有深入的理解和丰富的项目实
践经验
4. DevOps下质量保障能力瓶颈
单点式困境到一体化质量中台的建设落地实践
众安流量回放垂直深度的技术创新
5. DevOps下质量保障能力瓶颈
6. XOps下质量保障能力瓶颈
关联复杂性高
服务之间存在复杂的依赖
性;故障分析的复杂度会
随着服务的增加而提高
02
质量问题
工具能力
现象
单点测试、跨多测试团
队,不同的工具,不同
的流程和测试策略和方
法
工具割裂
多个工具访问入口,用户认知成
本和切换成本高;各个工具平台
业务需求到上线交付的
周期变短以快速响应市
场变化
质量标准难统一
敏捷迭代迅速,测试时间急
剧压缩
05
测试周期变短
时间管理
04
01
迭代发版频繁
之间形成数据孤岛,很难进行统
一的过程数据收集和度量
03
05
缺乏统筹和全局视角抓手
测试活动的复杂性和耦合使得管理
者从整体全局的视角保证交付质量
的稳定性和管控交付风险变得困难
7. 敏捷测试带来的变化 -> 快速反馈|工具支撑
功能测试 自动化回归 质量门禁
基于风险的测试策略 高频自动化全量回归 发布质量管控
风险评估:需求分析和技术设计
定时计划回归:UI/API/性能
洞、编码规范
阶段介入,评估变更的影响范围
和根据这些CheckList进行测试
策略的制定和设计
DOD准出:保障可测性
持续测试 + 持续反馈
测试左移 活动在线化
代码扫描:扫描增量代码的漏
录制回放:生产高保真流量沉
淀 & 快速批量回放
测试覆盖率
回归保障 自动执行反馈
单元测试
BVT验证:核心API/UI巡检
发布维度 质量卡点
8. 单点式困境到一体化质量中
台的建设落地实践
9. 众安Magic质量中台工程化演进
迫切需要一站式/一键式整合 & 可自由拆卸的工具体系
商业化短板
单点式困境
• 多个工具访问入口,用户认知
成本和切换成本高
• 不同工具间概念模型不一致,
“项目”概念漫天飞
• 用户产品体验不一致,明显割
裂感
• 各个工具平台之间形成数据孤
岛,很难进行统一的过程数据
收集和度量
......
内部 / 外部
• 早期对外打单时,割
裂的单点工具无法满
足客户的诉求,劝退
了客户付费意愿
10. 众安Magic质量中台工程化演进
一站式 | 一键式 | 可自由拆卸 | 可自定义
2017 ~ 2020
API自动化 | UI自动化 | 性能压测 |
代码扫描 | 测试管理
各工具垂直深度沉淀
From 2020
打磨生产录制场景下底层基础建设
流量录制回放
From 2020
Magic质量中台融合
11. 技术架构
前后端分离的分布式微服务架构
12. 业
务
架
构
全
景
13. 用例资产-列表&XMIND双视图
同一份数据,列表和脑图双模式呈现
• 列表视图
• 脑图结构化数据视图
14. 用例评审留痕 - 沉浸式评审工作台
基于需求视角展开用例评审活动
15. 测试计划重定义 - 关联手工以及自动化测试
统一追踪手工测试&API/UI自动化测试,产出闭环测试报告
测试计划从迭代开始,自由式串联功能测试、API自动化、
性能压测等测试行为,并产出完整的测试报告,形成测试闭
环
性能压测
UI自动化
API自动化
功能测试
迭代|需求
闭环测试报告
16. UI自动化
最大程度降低上手成本,提升ROI
• 无需搭建本地环境
• 定位能力全面 「xpath |css |js|id|name」
• 低资源高并发 「一台执行机支持10~15个UI自动化并发」
• 失败重跑
• 实时呈现远程执行动画
17. API自动化
最接口模板化抽象,达到资源复用
• 接口模板化抽象,多场景复用
「请求报文模板化,入参替换」
「返回报文模板化,公共断言检查点抽取」
• 多场景用例全景图俯瞰
• 多环境执行
• 接口版本 & 用例库版本管理
• 数据源驱动
「动态造数|数组循环|排列组合」
18. API自动化-接口用例
用例可视化编排管理,快速调度执行
• 树形节点编排展示
• 关联接口模板
• 数据源驱动
• 检查点断言
• 测试结果统计
• 接口执行明细
• 接口执行日志
19. 代码质检-扫描引擎HA架构
定制基于扫描规则和路径过滤的扫描方案,跨任务引用
01
部署架构
支持多个Sonar CE版
集群扫描节点
插件使用
02
利用 Findbug、checkstyle
等自有插件进行扫描规则定
制
03
任务调度
通过Sonar API探测执行队列选择节
点分发策略 /api/ce/activity_status
04
多实例规则同步
扫描方案/规则集/规则RuleSync
到不同Nodes中
20. 代码质检 - 扫描方案 & 修复建议
定制基于扫描规则和路径过滤的扫描方案,侦测代码问题和给出修复建议
21. 众安流量回放垂直深度的技术创新
22. 建设背景 目标:生产数据变成可复用、可执行的流量
行业测试验证痛点
• 迭代功能:无完整接口契约文档、迭代变更快,测试用例维护成本高
• 项目时间紧:测试回归不充分
• 测试造数难:脚本参数无法模拟真实环境场景,较难复现bug
• 流量复杂:业务场景复杂,请求构造成本比较高,测试场景覆盖不全
产品化价值
• 认知共识:业界大会概念炒热,市场教育已经完成,价值认同
• 开箱即用:通过一体化平台,配合DevOps提供开箱即用的服务
• 解放生产力:将测试同学从繁杂的回归测试、用例维护的重复性劳动中解放出来转移到风险测试策略
思考和测试计划的设定上
23. 建设背景 目标:生产数据变成可复用、可执行的流量
应用场景
• 功能回归测试
采用录制的真实数据生成自动回归用例,覆盖所有
已知场景和用例,减少测试投入成本
• 系统改造验证
录制的稳定系统的场景和数据,进行全场景全覆盖
自动回归测试,验证和保证系统基本场景和逻辑维持
不变
• 调用链路验证
录制过程生成调用链路,包括入口调用、子调用,
快速识别链路调用失败节点
• 性能压测
用真实的流量代替模拟数据,打通压测工具平台
技术方案
24. 众安Magic之流量录制回放技术实现
录制器静默注入
自助注册
Diff降噪
扩展Mock插件
25. 录制器静默注入
01
02
03
04
制作Agent基础镜像
修改或者 K8S 编排应用程序From镜像
DaemonSet
在与app POD同主机上部署Agent,远
程attach app进程
SideCar
Agent docker与app docker部署在
同一POD中,分开编排
插件化
静默跟随app,插件式启动
1)被测应用无需额外开发适配
2)Agent自动注册
3)Agent可插拔
4)自由启停
5)多POD自助选择
26. 自动降噪
过滤不同环境数据不一致导致流量回放比对失败的噪音
自研Diff
• 通过对比app录制版本与副本提取噪点树形结构
• 在与回放版本对比时以噪点为依据进行自动过滤
27. Mock回放
自动监听调用链路,回放时自动mock
28. Mock回放
自动监听调用链路,回放时自动mock
外部端口适配器全mock
mybatis
http
feign
java子调用
redis
dubbo
ElasticSearch
其他...
29. 流量脱敏|流量去重
数据脱敏策略,保证生产数据安全
通过一定的策略进行频次筛选,剔除重复率和相似度较高流量数据
流
量
脱
敏
流
量
去
重
30. 录制回放主链路落地
自设定录制计划 -> 回放比对&覆盖率收集
回
放
结
果
录
制
计
划
设
定
31. 智能用例
将海量生产流量变成精准的常态化回归用例
规
则
引
擎
规
则
引
擎
定
时
回
归
32. 研发效能度量驾驶舱
通过指标正向牵引研发效能提升
研发效能提升
研发效能提高,开测比提升至 7.1:1 ,H1质量
分提升 47%
4.5
7.1
开发测试比
5.4
8.4
质量分
质量内建,核心系统9大中心22个应用,全量自
动化测试覆盖率提升从40%到 70% ,冒烟测试
接口覆盖率41到 85% ,A1应用全部接入发布流
水线质量门禁,代码问题清0
40%
70%
全量测试覆盖率
85%
41%
BVT测试覆盖率
32
33. 融合DevCube研发一体化平台
微前端集成,完成研运一体化端到端板块拼图
项目管理
适配需求管理、任务管理、缺陷管理、迭代管
理、电子看板等研发项目管理全场景,提供敏
捷、瀑布、通用任务协同等多种项目模板,开箱
即用
项目集管理
管理和监控多个相关的项目或项目集,从管理
者视角全局管控项目进度和风险
知识库管理
文档与项目活动任务关联,帮助团队沉淀经
验、高效地管理项目文档及知识
测试管理
测试全管理流程,支持测试用例与需求、任务
关联、测试计划与迭代关联,保障交付质量
流水线管理
整合 DevOps 工具链,集中可视化展现 CI/CD
全过程,研发数据自动关联整合到 需求中,实现
研发管理闭环
研发效能管理
为项目管理角色提供项目全周期、多维度的关
键效能数据,帮助团队进行持续的过程改进
34. 和我联系
产品免费试用