精准测试
前言
概念
借助一定的技术手段,通过辅助算法对传统测试过程进行可视化,分析,优化的过程。
目的
使用精确和智能的软件解决传统测试过程中存在问题,引领从经验型向技术型方法转型。软件质量评估不再全靠个人经验和业务熟悉度,而是通过精准数据来判定。 将用例精简到更加有针对性,提高测试通过率,减少漏测风险。
核心
- 正向追溯:开发人员看到测试人员执行用例代码细节,方便快速定位,缺陷修复。
- 反向追溯:测试人员通过修改的源代码快速定位测试用例的范围,减少回归测试盲从性和工作量,快速修订测试用例,提高测试覆盖率。
某大厂实践
提测阶段
版本提测,手工触发代码分析,获取本次版本提交精确到接口维度的变更影响范围,测试同学依此制定测试方案和测试范围。
测试阶段
测试完成,手工触发覆盖率分析,获取本次版本变更部分测试覆盖率情况,分析测试完成度,查漏补缺。
**回归阶段
跑测试用例集,除此以外还有针对本次执行集增量/全量代码覆盖率结果分析。
发布阶段
通过CI触发覆盖率卡点检测,若未到达卡点覆盖,说明存在发布风险
代码处理
-
拉工程代码,用于后续切换分支,编译,代码Diff计算,工程ASM扫描,代码染色。
-
对代码进行静态分析,生成全局方法调用关系,递归寻找方法的调用关系,接口和实现类桥接,内部类桥接
-
上下游分析,根据变更单元,从测试用例库筛选匹配合适自动化用例