以终为始-测试效能提升的演进之路
如果无法正常显示,请先停止浏览器的去广告插件。
1. 测试效能提升的演进之路
京东 熊志男
2. 讲师简介
曾负责京东商城代码质量平台建设,并推动
百人团队的单元测试和持续集成实践落地,
有丰富的自动化测试平台建设经验。目前致
力于推动集团内部测试工具的合作共建。
熊志男
ee.msup.com.cn
个人经历:
2014年以前:自动化测试开发
2014年-2019年:持续集成和代码扫描
2019年-2020年:DevOps平台开发
2021年:DevOps产品经理
3. 如何接好开发和测试之间的“接力棒”
ee.msup.com.cn
4. 目录
测试左移的技术实践
自动化测试工具演进
DevOps引领测试效能提升
Q&A
ee.msup.com.cn
5. 测试左移的技术实践
ee.msup.com.cn
6. 开发阶段的测试
ee.msup.com.cn
7. 测试左移的目的
ee.msup.com.cn
统一代码规范
优化代码结构 提升可维护性,
减少缺陷修复时间
降低复杂度 提升可测试性
提前发现缺陷 减少测试返工,
加快测试进程
8. 静态代码检查
Abstract interpretation
代码缺陷
安全风险
代码规范
Dataflow analysis 重复代码
Model checking 代码架构
Symbolic execution 代码复杂度
ee.msup.com.cn
9. 代码结构检查
ee.msup.com.cn
10. 复杂度检查
代码的方法复杂度高:难以理解、容易产生bug、难以测试
ee.msup.com.cn
11. 依赖检查
编号 规则类型 1 依赖包是否可为SNAPSHOT版 生产禁止使用SNAOSHOT版本
本
2 Jar包黑名单 如fastJson需要升到1.2.60以上
3 依赖冲突检查 依赖冲突检查
4 groupId规范 com.jd等
5 version规范 1.0.0
6 Packaging类型 jar、pom、war等
7 插件白名单 Maven-javadoc-plugin
maven-source-plugin等
8 重复类检查 重复类检查
9 资源文件白名单 资源文件白名单
ee.msup.com.cn
规则描述
、
12. 单元测试
单元测试与集成测试
ee.msup.com.cn
单元测试框架
13. 冒烟测试
ee.msup.com.cn
14. 冒烟测试的演进
开发演示功能
测试准备冒烟
测试用例,开
发手工执行
ee.msup.com.cn
测试执行自动化
用例
提测事件触
发冒烟测试
自动执行
测试准备自动化用
例,开发执行
15. 敏捷先锋团队的测试左移案例
ee.msup.com.cn
16. 质量提升的诉求
ee.msup.com.cn
17. 开发自驱的DOD原则
设计评审通过;
所有代码经过静态检测,符合代码规范,严重缺陷已经修改;
代码评审通过;
自测完成;
成功部署到测试环境;
ee.msup.com.cn
18. 代码质量提升
代码违规
90
78
80
70
63
60
50
40
34
30
20
25
18
8
10
0
0
0
** Our team ** **
阻碍违规(个) 18 0 25 8
严重违规(个) 34 0 63 78
阻碍违规(个)
ee.msup.com.cn
严重违规(个)
19. 单元测试报告
ee.msup.com.cn
20. 自动化测试工具演进
ee.msup.com.cn
21. 生成单元测试
ee.msup.com.cn
22. 自动化测试工具发展
框架
工具
平台
ee.msup.com.cn
23. 自动化测试工具发展
框架
工具
平台
ee.msup.com.cn
24. 自动化测试工具发展
框架
工具
平台
ee.msup.com.cn
25. 接口自动化测试平台
itest接口自动化测试平台
ee.msup.com.cn
26. 接口自动化测试平台
itest接口自动化测试平台
ee.msup.com.cn
27. UI自动化测试平台
ee.msup.com.cn
28. UI自动化测试平台
Cherry引擎
ee.msup.com.cn
29. 自动化测试实践
半自动助手型自动化测试
ee.msup.com.cn
30. 自动化测试实践
ee.msup.com.cn
31. 自动化测试数据统计实践
ee.msup.com.cn
32. 测试数据准备实践
1.通过DB构建
通过程序构造数据,然后插入数
据;
3.通过调用接口构建
通过调用程序接口,创建测试数
据;
ee.msup.com.cn
2.通过UI界面构建
通过操作应用界面,创建比较复杂
的测试数据;
4.测试数据平台
开发测试数据平台,满足测试数据
需求;
33. 测试数据工具案例
ee.msup.com.cn
34. 自动化测试结果度量实践
用例数量
5000
4000
3000
2000
1000
0
1周
ee.msup.com.cn
2周
3周
4周
5周
6周
7周
8周
35. 自动化测试结果度量实践
ee.msup.com.cn
36. DevOps引领测试效能提升
ee.msup.com.cn
37. 代码评审
ee.msup.com.cn
38. 单元测试卡点
ee.msup.com.cn
39. 代码质量卡点
ee.msup.com.cn
40. 基于代码变更的测试覆盖率分析
ee.msup.com.cn
41. 自动化测试流水线
ee.msup.com.cn
42. 测试效能全面度量
应用覆盖率; 测试周期占比;
接口覆盖率; 缺陷验证时长;
功能覆盖率; 线上缺陷密度;
自动化测试转化率; 发布前置时长。
ee.msup.com.cn
43. 关注msup公众号
获取更多工程效能实践案例