精准测试-2019年测试技术趋势

上一篇 / 下一篇  2019-06-12 11:26:22 / 个人分类:自动化测试平台

精准测试是能够精准统计测试的覆盖率的一种技术。这里的精准,是测试案例对业务覆盖率的精准把控。
更进一步就是双精准测试,所谓双精准测试,是指正向和反向两个维度的精准把控。即测试案例执行可以正向精准把控业务代码覆盖率;业务代码变更也可以反向筛选出对应的测试案例,做到业务代码和测试案例的多对多的关系。
精准测试可以统计每次测试执行的测试覆盖率,这里的覆盖率通常有两种覆盖率,一种是被的覆盖的代码占系统所有代码的覆盖率,即全量覆盖率。一种是覆盖的代码占增量代码的覆盖率,即增量覆盖率。每种覆盖率都有其价值。
这里重点对增量覆盖率进行介绍,所谓增量即当前代码分支比上一版本分支变化的代码量。针对变化的代码量进行测试覆盖,可以用更少的人力、物力达到更好的效果。
从人员评估的角度思考:精准测试可以客观的评价测试人员案例的设计能力和执行能力。
精准测试涉及到那些技术呢?
我们通过调研,核心是采用jacoco技术和git diff技术进行增量覆盖率统计,实现了双精准功能,开发了精准测试平台。
1、jacoco:class文件插装技术,采用on-the-fly模式,进行代码覆盖率统计;
2、git diff代码对比,统计增量代码数量;

精准测试平台实现的功能大概如下:
1、整合的案例管理平台和自动化案例执行平台;
2、功能案例或自动化案例执行时,开启代码覆盖率统计,统计结束后,记录案例和代码的对应关系;
3、给出覆盖率报告;
4、针对未覆盖的代码自动给出需要补充的用例提示;
5、新需求代码通过git diff统计出增量代码,根据案例和代码的对应关系,自动筛选出需要回归测试的案例;

经过一点时间的使用,起到的效果:
1、测试覆盖率提升了12.5%;质量提升了8.9%;
2、测试效率提升了20.3%
3、生产bug率降低了69.2%

由于时间原因,还有待进一步改进的功能:
1、根据未覆盖的代码自动生成测试案例;
2、基于上下文的业务逻辑的覆盖统计;

2、n-the-fly模式



TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar