什么是精准测试
百度百科:精准测试是一套计算机测试辅助分析系统。精准测试的核心组件包含的软件测试示波器、用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚类分析、测试用例自动生成系统,这些功能完整的构成了精准测试技术体系。
阿里:通过建立测试用例与业务方法的关联关系,在代码发生变化时,精准的推荐出需要运行的用例,进行测试执行与结果反馈。通过精准的圈定测试范围,可以带来效率和速度的双重收益。
Thoughtworks:利用技术手段对测试过程产生的数据进行采集存储,计算,汇总,可视化最终帮助团队提升软件测试的效率、并对项目整体质量进行改进和优化的这一系列操作。
网易:精准测试是一套计算机测试辅助分析系统。使用用例和代码两个关键因子,进行质量综合考量和分析的创新测试理论方法体系,核心组件包含软件测试示波器、用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚类分析、测试用例自动生成系统,这些功能完整的构成了精准测试技术体系。
阿里云效精准测试实施案例
阿里
阿里
Thoughtworks
精准测试的应用价值
基于测试用例与代码的关联数据分析,实现测试覆盖改进的方法
- 根据代码变更定位测试用例范围
- 根据代码覆盖精准改进测试用例
- 测试用例漏测精准定位
- 基于大数据反推有效测试用例
行业经典案例
- 百度利用覆盖率增量从回归数据中提取有效覆盖
- 精准定位用例数据与覆盖率关系
- 代码行为流建模
- 星云测试
- 有赞集成测试覆盖率统计实践
- 蚂蚁金服的代码实时染色
- 有赞精准测试实践
- 网易精准测试
- 阿里云效
- …
精准测试实现技术
关键技术点
- 静态分析
- 语法树分析 javaparser antlr
- 代码变更 git diff
- 字节码分析 ASM
- 动态分析
- 覆盖率 JaCoCo
- 插桩 JVM-SANDBOX ByteBuddy
- 流程追踪 debug trace hook
- 测试用例
- 手工用例
- 自动化用例 JUnit pytest
scale 5
用例流程 -> 动态执行
代码流程 -> 动态执行