21.精准测试体系

发布时间 2023-12-31 08:51:39作者: 想要暴富的小男孩

什么是精准测试

 

百度百科:精准测试是一套计算机测试辅助分析系统。精准测试的核心组件包含的软件测试示波器、用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚类分析、测试用例自动生成系统,这些功能完整的构成了精准测试技术体系。

阿里:通过建立测试用例与业务方法的关联关系,在代码发生变化时,精准的推荐出需要运行的用例,进行测试执行与结果反馈。通过精准的圈定测试范围,可以带来效率和速度的双重收益。

Thoughtworks:利用技术手段对测试过程产生的数据进行采集存储,计算,汇总,可视化最终帮助团队提升软件测试的效率、并对项目整体质量进行改进和优化的这一系列操作。

网易:精准测试是一套计算机测试辅助分析系统。使用用例和代码两个关键因子,进行质量综合考量和分析的创新测试理论方法体系,核心组件包含软件测试示波器、用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚类分析、测试用例自动生成系统,这些功能完整的构成了精准测试技术体系。

阿里云效精准测试实施案例

 

阿里

阿里

Thoughtworks

精准测试的应用价值

 

基于测试用例与代码的关联数据分析,实现测试覆盖改进的方法

  • 根据代码变更定位测试用例范围
  • 根据代码覆盖精准改进测试用例
  • 测试用例漏测精准定位
  • 基于大数据反推有效测试用例

行业经典案例

 
  • 百度利用覆盖率增量从回归数据中提取有效覆盖
  • 精准定位用例数据与覆盖率关系
  • 代码行为流建模
  • 星云测试
  • 有赞集成测试覆盖率统计实践
  • 蚂蚁金服的代码实时染色
  • 有赞精准测试实践
  • 网易精准测试
  • 阿里云效

精准测试实现技术

 
 

关键技术点

 
  • 静态分析
    • 语法树分析 javaparser antlr
    • 代码变更 git diff
    • 字节码分析 ASM
  • 动态分析
    • 覆盖率 JaCoCo
    • 插桩 JVM-SANDBOX ByteBuddy
    • 流程追踪 debug trace hook
  • 测试用例
    • 手工用例
    • 自动化用例 JUnit pytest
scale 5
用例流程 -> 动态执行
代码流程 -> 动态执行