360搜索质量保证体系建设
如果无法正常显示,请先停止浏览器的去广告插件。
1.
2.
3. 韩金成
来自360搜索测试部 负责360搜索
前端、引擎的测试工作,期间建立
测试规范、复杂项目测试设计、提
效工具开发、平台化建设、自动化
框架搭建、CICD等
4. O1
360搜索质量保证体系
O2
工具平台助力提质增效
O3
未来规划和探索
5. 360搜索质量保证体系
6. 面临质量保证的挑战
特点
01
02
挑战
业务特点
稳定性要求高
单日pv高、稳定性要求高、
query广泛丰富、入口多、时
效性高
用户体验、容忍度低、高可用服务
架构特点
分布式、集群化、层次多,机
器多,服务多,链路长
数据特点
03
百亿网页、数据分散、数据量
大、处理过程多,多样性
团队特点
04
测试开发比低,项目需求多,
人员并行化严重
准确评估影响面
依赖影响、改动关联服务影响,兼容性要求高
测试覆盖率
需求多样性、功能点多、功能关联性强.
工作效率
低代码、自动化程度、自动化覆盖
7. 项目全生命周期质量保障
意义
质量保障应该贯穿整个项目的生命周期,从需求阶段开始到研发、测
试、发布、线上运行,每个阶段
对应不同的质量保证手段,才能在使问题更早的暴露出来,越早发现,
带来的成本越低,反之,成本越高
测试质量
产品质量 研发质量 测试质量
易用性
交互体验
适用性 代码质量
编程风格
自测程度 功能覆盖
性能指标
兼容性
运维发布质量 线上质量
发布流程
功能回归
异常处理
健康监控
效果监控
稳定性监控
8. 360搜索全链路质量保证体系
9. 工具平台助力提质增效
10. 提效--配置化流水线
协作
•
•
控制变更,安全稳
定压倒一切
开发、运维部门间
缺乏沟通与协作
流程
•
•
•
•
部署时不经过制品
库
部署后没有全面的
健康检查
测 试 环境不全,缺
少某些环境
没经过测试和准生
产环境,直接部署
生产环境
工具
•
•
•
•
没有统一的制品库
环境创建非常慢
手工登录SSH配置
环境
没有统一的应用部
署工具
规范
•
•
•
•
没有统一打包规范
不同环境的部署方
法不一致
不同环境的部署包
不一致
不同环境的创建方
法不一致
11. 提效--配置化流水线
12. 配置化流水线
机器与集群管理
运行流程配置化
插件化扩展方式
内置丰富自动化组件
利用服务组管理上下游
部署
13. 配置化流水线
14. 配置化流水线
管理
1.
2.
3.
4.
5.
6.
7.
代码管理
版本控制
制品管理
环境治理
自动化管理
报告管理
机器管理
效率
70+服务
5000+运行
1.
2.
3.
4.
5.
6.
开发自测效率
问题前置
交付能力
服务接入效率
测试效率
降低人力成本
15. 增量代码扫描
16. 增量代码扫描
17. 增量代码扫描
18. 提升测试覆盖率—diff测试
性能 diff
应用范围:服务端修改、升级、重构等
B
图片diff
适用范围:针对前端样式,图
片、排版是否有变化的评估
Json diff
应用范围:服务迁移、服务升级、
架构升级、代码变动影响范围评估
适用场景:接口返回json结果
19. 稳定性保证—线上监控体系
掌握服务运行状态
做到心中有数
及时止损
发现问题第一时间处理,避免造成
更大损失
关联上下游
直接定位问题根源,减少时间浪费
责任到人
减少不相干报警,避免对报警疲劳
20. 稳定性保证—容量规划
为什么要做容量规划?
? 容量是多少?余
量还有多少? ? 什么情况下需要
扩容,需要扩容
多少?
? 整体的瓶颈在哪
里?那些服务存
在隐患? ? 何时需要降级?
降级预案是什么
45
25
50
60
75
80
95
98
21. 稳定性保证—容量规划
22. 稳定性保证—容量规划
摸清线上容量情况,对后续的产品策略提供
了数据支撑
发现很多因为上下游关联影响的性能问题、
机器资源问题、服务代码问题、环境问题等
推动资源扩容、代码优化、资源合理分配,
提高了整理流量空间
推进服务优化、建立分级降级方案、熔断机
制等
23. 未来规划和探索
24. 稳定性
基于算法的搜索
质量评估
基于代码插桩的精准
测试
搜索引擎问题
追踪系统
引擎调用链路与函数
调用热图与耗时diff
25. 360技术
THANKS
360质量效能