得物精准测试提效应用
如果无法正常显示,请先停止浏览器的去广告插件。
1. 得物技术沙龙第26其
得物技术沙龙第26期
得到运动*潮流*好物
得物
CAN'TSTOPWON'TSTOP
得物技术沙龙第26期
【主题】得物精准测试提效应用
得物技术沙龙第26期
得物技术沙龙第26期
得物商家域质量专家
王红梅
2024/09/22
得物技术沙龙第26期
得物技术沙龙第26期
2. 目录
得物技术沙龙第26期
得物技术沙龙第26期
01
精准测试应用背景
02
精准测试落地挑战
得物技术沙龙第26期
03
精准测试提效实践
得物技术沙龙第26期
得物技术沙龙第26期
04
总结以及未来规划
得物技术沙龙第26期
导物技术沙力
得物技术沙龙第26期
得物
CAN'T STOPWON'T STOP
3. 得物技术沙龙第26其
导物技术沙龙第26期
01
得物技术沙龙第26期
精准测试应用背景
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物
CAN'T STOP WON'T STOP
4. 精准测试应用背景
行业现状:大部分互联网公司都对精准测试进行了落地实践
阿*系列精准测试实践
公司
主要能力
优势
天*
代码变更分析,代码插桩,线程级覆盖率
根据代码变动,字段更新精简用例池,可以精准度量测试的覆盖度和有效性
淘*
代码变更分析,代码用例关系沉淀,用例推荐、管理
利用RBC的用例推荐能力,专门平台用例沉淀和执行能力,流程卡点能力,实现
了智能无人值守测试
高*
代码变动依赖分析
收集一些必要的数据,文件路径,文件功能描述,文件内容摘要,依赖路径等,
用于变动检测
阿**康
动态代码调用关系分析
利用代码调用关系分析变更点影响的文件,可以显示文件影响代码,支持前端测
试范围评估
菜*
静态代码调用关系分享
实现精准测试在线化,由质量在线化和精准测试两大模块组成,精准测试由测试
范围推荐,测试执行和测试度量三部分有机结合组成。
其他公司
网* : https://www.infoq.cn/article/xuu91crqa4hcjz8uomjs
爱*艺:https://xie.infoq.cn/article/781b1a4fa4aca12e38caf86aa
腾*:https://cloud.tencent.com/developer/article/1491518
有*:
https://jishuin.proginn.com/p/763bfbd315ff
CAN'TSTOPWON'TSTOP
等等
5. 01
精准测试应用背景
导物技术沙龙第26期
物技术沙龙第26期
背景(面临的问题)
经典回答
结果
·改动了什么?
·冗余执行、低效
·有哪些影响?
·最好都测一下
·回归范围≥影响范围≥
·覆盖得如何?
改动范围
得物技术沙龙第2
所以,我们也结合得物自身的情况和面临的问题做了一些分析和评估后,2023年中期开
启了精准测试在业务中的提效实践。因为大家都知道,精准测试可以回答
变了什么、影响范围、测试的怎么样这类问题。此外,还可以提升测试的针对性,进
而提升测试效率
物技术沙龙第26期
得物
CAN'T STOPWON'T STOP
6. 01
精准测试应用背景
得物技术沙龙第26期
影响面很难精确评估
1.人工评估
没有度量就无法管理
改动项无法实时感知
6.无法度量
2.多域共建
有足够时间和资源,以上挑战也许可以一一克服;
得物技术沙龙第26期
交付风险
而实际上,业务节奏快、资源紧张。
沙龙第26期
高效是关键
5.代码非最
3.多域协同
新
得物技术沙龙第26期
发布分支未反合master
边界处不能有效衔接
4.开发自测
全场景未能充分覆盖
得物技术沙龙第26期
旱咖
CAN'TSTOPWON'T STOP
7. 01
精准测试应用背景
导物技术沙龙第26期
胸有成竹
·精准推荐改动接口,确定测试范围
极致执行
·全面覆盖影响范围,规避测试遗漏
物技术沙龙第26期
有的放矢
因此,引入精准测试平台
·降低余用例执行,提高测试效率
涓滴不漏
得物技术沙龙第26期
得物技术沙龙第26期
·明确精准测试度量,提升代码覆盖
越早越好
·提前感知改动影响,实现降本增效
得物技术沙龙第26期
得物技术沙龙第26期
得物
CAN'TSTOPWON'TSTOP
8. 得物技术沙龙第26期
导物技术沙龙第26期
得物技术沙龙第26期
02
精准测试落地挑战
导物技术沙龙策
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物
CAN'T STOP WON'T STOP
9. 02
精准测试落地挑战-精准测试介绍
精准测试是什么?
物技术沙龙第26期
导物技术沙龙第26期
1.根据应用覆盖率情况
2.反推执行结果,确保交
付质量
1.根据测试范围,生成最小且
精准的测试用例集
2.进而执行自动化或功能测试
6、结果报告
有效交付
用例,不做余执行,高效执行
1.在精准测试平台创建推荐
5、覆盖率
任务
得物技术沙龙第26期
2.平台根据代码变更精准推
4、过程度量
验收上线
荐出改动或影响的所有接口
3、测试执行
2、测试什么
业务需求
入口
1.实时记录过程数据
1.
变更推荐
1、变更什么
Actor
2.
风险推荐
2.观测执行效果,做出
H5变更推荐
必要反馈
根据推荐出的接口
确认测试范围
重任交给精准测试平台
开发变更代码提测
得物技术沙龙第26期
CAN'T STOPWON'T STOP
10. 02
精准测试落地挑战-精准测试平台介绍
精准测试平台-包含:变更推荐和风险推荐
物技术沙龙第26期
开发
测试
发布
协同流水线
提测流水线(补充左移、范围评估、风险推荐)
准出流水线(变更覆盖率、风险评估范围评估、风险评估)
支持语言
Java
Golang
变更推荐(变更代码影响的范围)
变更准入/准出评估
数据度量
得物技术沙龙第26期
变更接口
变更方法
自动化关联率
自动化通过率
运营报表
效率报表
精
变更资损标
自动化用例
功能用例通过率
增量代码覆盖率
其他数据报表
准
测
功能用例
用例计划
试
术沙龙第26期
平
风险推荐(增量/全量风险推荐)
风险准入/准出评估
动态辅助推荐
跨域全链路推荐
台
得物技术沙龙第26期
资损接口
资损方法
资损接口风险
核心接口风险
覆盖方法链路
上游接口
资损自动化用例
资损自动化计划
资损方法
风险代码覆盖率
链路自动化用例
上游自动化用例
26期
核心自动化用例
资损字段
自动化通过率
链路功能用例
上游功能用例
得物技术沙龙第2
依赖平台
自动化平台
用例平台
覆盖率平台
trace平台
CAN'TSTOPWON'TSTOP
11. 02
精准测试落地挑战-精准测试平台介绍
精准测试平台-变更推荐(接口、代码方法、自动化用例、自动化测试计划、执行情况度量)
得物技术沙龙第26期
流水线平台
精
创建推荐任务
是否存在销路
链路收集
是(直接执行子任务,并复用链路)
批量唤推荐任务
执行链路子任务
平
异步后置任务
执行推荐子任务
得物技术沙龙第26期
台
执行增量白
精
动化任务
获取源码
获取源码
准测试—推荐引
创建资损自动化
代码对比
用例计划
得物技术沙龙第26期
创建功能
风险推荐
增量推荐
例计划
(API方法)
(API,方洁)
链路分析
得物技术沙龙第26期
生成风
网险接口
推荐自动化用例
险代码报星率
推荐功能用例
上传链路
上传资损信息
得物技术沙龙第26
自动化平台
用例平台
盖率平台
trace平台
(全域推荐)
得物技术沙龙第26期
CAN'TSTOPWON'TSTOP
12. 02
精准测试落地挑战-精准测试平台介绍
精准测试平台-风险推荐(接口、代码方法、自动化用例、自动化测试计划、风险代码覆盖评估)
技术沙龙第26期
风险覆盖率-风险方法提取示意图
风险覆盖率-风险方法提取示意图
推荐的变更接口
推荐的变更接口
变更接口A
变更接口B
POP1接口A
非POP1接口A
资损接口A
损接口B
POP1接口A
非POP1接口A
方法3
方法5
方法1
方法
方法2
方法4
方法
方法4
推荐的变更方法
推荐的变更方法
变更方法E
资损方法A
变更方法B
麦更方法C
变更方法D
变更方法E
资损方法A
变更方法B
变更方法C
变更方法D
未变更方法池
未安更方法池
方法1
方法2
方法1
方法2
扩展风险方法推荐:通过AI或其他技术手段,分析出有风险的方法并推荐出对应的方法和接口
CAN'TSTOPWON'TSTOP
13. 02
精准测试落地挑战-精准测试使用流程及挑战
能力:
精准测试平台
应用维度
推荐出变更/影响接口
挑战一:平台推荐要精准,期望达到100%且稳定
1、
挑战二:业务规模化应用,其
精准测试任务
期望可自动化、智能化
2、单应用维度进行推荐
返回执行结果
推荐出变更影响
返回执行结果
接口
自动化平台
用例平台-全用例集
沙龙第26期
香
查找
查找
得物技术沙龙第
已覆盖
自动化用例(含资
损
手工用例(绑定apl)
已覆盖
关联执行
用例设计
关联执行
副
CAN'TSTOPWON'TSTOP
14. 得物技术沙龙第26期
导物技术沙龙第26期
得物技术沙龙第26期
03
精准测试提效实践
导物技术沙龙第
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物
CAN'T STOP WON'T STOP
15. 03
精准测试提效实践-实践一
【一】用精准平台,精准率是关键
导物技术沙龙第26期
精准率=推荐变更接口数/实际变更接口数*100%
痛点:精准率低,不可依赖,需人工二次review,效率低
目标:精准率达到100%且保持稳定
得物技术沙龙策
做了什么?
1.当前迭代应用&复盘,提出不精准案例
2.平台仔细分析&定位,解决不精准问题
3.下个选代验证&闭环,持续提升精准率
得物技术沙龙第26期
其中,解决问题过程中也遇到了3种典型问题导致变更接口推荐不出来的难题,
得物技术沙龙第26期
是比较大的技术挑战(之后会具体讲)
收益:期
2023.Q4末2个迭代精准率稳定在100%,为后期大规模推广应用莫定了良好的基础。
沙龙第26期
得物
CAN'T STOPWON'T STOP
16. 03
精准测试提效实践-实践一
技术挑战一:抽象调用(导致实际调用链断裂)
解决方案:拓展支持4种抽象写法,解决多父类/接口、多层级继承关系的最终归属调用链
技术挑战二:lombok注解(导致源代码缺少)
解决方案:解决@Data注解会在编译时生成对应的方法,源码AST分析时这些方法并不存。
推荐引擎通过分析注解和类属性及现有方法后生成缺少源代码
得物技术沙龙第26期
技术挑战三:反射调用(导致实际调用链断裂)
解决方案:解决反射调用方法时无法预知调用关系的难题,支持解析参数实际值
(普通值、计算结果值),支持变量被重复赋值后的精准匹配
得物技术沙龙第26期
得物
CAN'TSTOPWON'TSTOP
17. 03
精准测试提效实践-实践-
经过不到2个Q,精准率达到100%且保持稳定,
为后期大规模推广应用莫定了良好的基础。
平均精准率
100.00%
100%
80.00%
81.47%
得物技术沙龙第26期
60.00%
56.80%
40.00%
20.00%
得物技术沙龙第26期
得物技术沙龙第26期
0.00%
2023.Q3
2023.Q4
2024.Q1-至今
平均精准率
得物技术沙龙第2
Q3低的主要原因:以上介绍的3个原因导致
得物技术沙龙第26期
得物
CAN'T STOP WON'T STOP
18. 03
精准测试提效实践-实践二
沙龙第26期
1.应用多(单业务域应用数量达50+),单应用依次执行,耗时久,大约1d
背景
2.用例多(单业务域全量用例6000+),手动关联容易漏,时效差,大约0.5d
成本高,效率低
3.数据多(包括执行过程及结果数据),人工统计易出错,效率低,大约0.5d
规模化应用
任务
1.降低人工投入成本:让精准平台成为大家的”帮手
2.提升业务使用效率:打通平台工具为”人民”服务
,高效才是重点
1.结合流水线:通过提测流水线、集成流水线自动触发,早执行、成本低、效率高
行动
2.结合自动化:自动查找、关联用例:自动创建、执行计划:自动同步、记录数据
3.结合覆盖率:通过覆盖率反推测试执行情况,对用例查缺补漏,做到极致执行
1.每迭代冒烟、集成阶段执行精准测试人力投入降至0(-2d),均由流水线自动触发
结果
2.商家核心应用覆盖率,变更接口覆盖率100%,从而达到应用增量代码覆盖率85%+
得物
CAN'T STOP WON'T STOP
19. 精准测试提效实践-实践二
结合流水线
1.模板配置-应用一次性接入
子域:
场景:Feature分支
Release版本分支
Release分支
MR准入
集成流水线
测试准入
单应用模版
集成模版
运行环境:t1
修改模板名称及环块
任务编排
应用配置
保存模版
立即生效
当前业务域下共有仓库:个、应用
、关联应用记录
(注:其中没有关联应用的仓库不进行展示,大仓的仓库无法基于模版应用流水线计划)
关联应用
仓库
应用
后端精准测试
操作
导物技术沙龙第2
master
执行功能用例:关闭
执行自动化:开启
自动化项目id:未选择
master
执行功能用例:关闭
执行自动化:开启
自动化项目id:未选择
CAN'TSTOPWON'TSTOP
20. 精准测试提效实践-实践二
物技术沙龙策
结合流水线
1.准入流水线:开发提测时自动触发
2.集成流水线:迭代0集成阶段一键触发
流水线执行配置
X
【测试冒烟】商家集成准入-冒烟
【一轮测试】商家集成准出-一轮
【回归测试】商家集成准出-送代发布
【回归测试】商家集成准出-班车发布
【预发生产验
当前选择的是【商家集成准出-送代发布】集成流水线,以下是模板预设的标准流水线节点
节点预览
收起
1
代码检查
2
发送报告
容器构建
发送报告
运行配置
运行环境:
染色
环境信息由流水线模版默认生成修改模版配置
运行流水线
CAN'TSTOPWON'TSTOP
21. 03
精准测试提效实践-实践二
精准推荐结果
1.变更/风险推荐结果:包括自动化关联情况,风险覆盖等情况
已完成
开始
克隆源码(11>
代码对比(3)
>
提取api (s)
>推荐自动化case(7)>
推荐功能case
结来
V变更接口(14)
自动化关联率:21.43%功能关联率:28.57%风险覆盖率:54.2%
[一键自动化][查看变更方法][宣看变更方法资损链路][宣看覆盖率检测报告][宣看风险覆盖率报告]
风险接口总数:8核心接口风险数:5资损风险接口数:3
请求类型
接口类型
是否风险√是否新增请输入接口路径搜索
韩选标记状态
ID
链路ID
自动化状态:功能状态:风险状态
接口协议
优先级接口路径
qps
推荐用例
导物技术沙龙
136194
284
已推出
无关联
有风险
auto: 1
http
P1
功能:0
136196
284
已推出
无关联
有风险
http
auto: 1
P1
功能:0
136187
284
已推出
已推出
有风险
http
P0
auto: 1
功能:0
284
无关联
无关联
无风险
http
284
无关联
无关联
有风险
ttp
导物技术沙龙第
PO
284
无关联
无关联
无风险
ttP
136197
284
无关联
无关联
无风险
http
136198
284
无关联
无关联
无风险
http
136199
284
无关联
无关联
有风险
dubb
136200
284
无关肤
无关联
无风路
共14条
10条/页
CAN'TSTOPWON'TSTOP
22. 03
精准测试提效实践-实践二
物技术沙龙第26其
技术沙龙第26期
结合自动化
1.自动化任务:自动关联后自动生成和执行
2.自动化成功率:自动计算自动化执行结果
平台任务
自动化任务(1)
C刷新
成
失
跳
总
任务ID
项目ID
任务名
成功率
技术沙龙第26期
功
败
过
数
1366350
20006
0
98.75%
5)
得物技术沙龙第26
得物技术沙龙第26期
得物技术沙龙第26期
得物
CAN'T STOPWON'T STOP
23. 精准测试提效实践-实践二
结合数据报表
统计当前各应用自动化覆盖情况,【未实现接口数】是有变更但无自动化关联,
我们会优先去覆盖这些case
子域
POP1接口变更数
POP1实现接口数
POP1未实现接口数
POP1接口实现率
接口变更数
实现接口数
未实现接口数
接口实现率
风险代码链路覆盖率
应用选代增量覆盖率
商家
3
3
0
100.00%
1166
922
244
79.07%
0%
0%
应用名
优先级
POP1接口变更数
POP1实现接口数
POP1未实现接口数
POP1接口实现率
接口变更数
实现接口数
未实现接口数
接口实现率
TT
PO
0
0
47
38
80.85%
ces
PO
0
0
0
205
124
B1
60.49%
m
ille
P1
0
62
52
10
83.87%
ot
PO
131
113
18
86.26%
m
laf
PO
173
105
68
60.69%
ra
PO
341
315
26
92.38%
P1
口
30
30
100.00%
dua
vice
PO
100.00%
33
100.00%
me
aces
PO
100.00%
29
19
65.52%
P1
109
21
80.73%
TT
P1
100.00%
dop
ces
P1
0.00%
axy
P0
100.00%
CAN'TSTOPWON'TSTOP
24. 精准测试提效实践-实践二
结合覆盖率
根据应用增量代码覆盖率反推执行过程,防止漏测
应用名:
m
ar
环境:
请选择环境
染色标:
请选择染色标
业务域:
商家×
共1个
报告类型:
请选择
选代版本:
549 X
收集分支:
请选择分支
启动模式:
请选择启动模式
报告标签:
全量
ID :
55
31
任务ID:
报告ID
我的:
查询
标记
更多
ID
应用名
境
行覆盖率
增量行覆盖率
分支覆盖率
类覆盖率
合并染色标
方法覆盖率
代码版本
操作
当前版本:release-549
编辑
mercl
lar
Java
t1
176
41
17.8%
对比版本:
master
一键重跑
E
81
商家
rint-
)und
180
230
当前提交:5ba87313
html报告
对比提交:ae0349ca
问题分析
CAN'TSTOPWON'TSTOP
25. 03
精准测试提效实践-其他
得物配备了非常完善的测试平台和工具,将测试平台、工具结合起来:
1、重复工作机器做;2、难评估的事数据辅助;3、测试/发布效率持续提升.
协同平
质量大
1、需求管理平台:从MRD到PRD,绑定评审及任务拆解,为高效
台
交付打好基础;
盘
2、研发协同平台:从需求联调、自测、提测到缺陷记录、流转,
需求管
键式追踪过程节点,规避风险;
理平台
3、质量大盘管理:“没有度量就无法管理”。质量大盘让交付过程
可追踪,结果可衡量。
物产丰富,一键打通
物技术液
得物技术沙龙第26期
得物技术沙龙第26期
得物
CAN'TSTOPWON'TSTOP
26. 得物技术沙龙第26期
导物技术沙龙第26期
得物技术沙龙第26期
04
总结以及未来规划
导物技术沙龙第
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物
CAN'T STOP WON'T STOP
27. 04总结以及未来规划-总结
物技术沙龙第26期
物技术沙龙第26期
·拦截缺陷:100+
核心应用增量覆盖
·单迭代投入<4h
率85%+
·执行人力降至0
·核心应用自动化关
·分析失败case和结
联率78%+
果数据不超过4h
降发生
提效率
·流程强监管
获奖
1.获得技术部第十一期稳定性之星-优秀项目奖
2.获得质量平台-优秀技术类小项目-卓越质量奖
扩场景
落资产
·自测需求
·博客&分享
·后端技改需求
·博客:2篇,得物
公众号文章:1篇
·慢sql治理
·分享:大部门分享
·代码分支合并等
1次
得物技术沙龙第26期
旱咖
CAN'T STOPWON'T STOP
28. 04总结以及未来规划-未来规划
得物技术沙龙第26期
导物技术沙龙第26期
1、风险推荐规模化:全域规模化应用
得物技术沙龙第
2、跨域全链路推荐:全域全链路推荐,如:商家改动一行代码,
能推荐出该行代码对全域、全链路的影响面
3、其他技术创新探索
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物技术沙龙第26期
得物
CAN'T STOP WON'T STOP
29. 得物技术沙龙第
得物技术沙龙第26期
THANKS
得物技术沙龙第26期
导物技术沙龙第26
得物技术沙龙第26期
得物技术沙龙第26其
CAN'T STOP WON'T STOP