ant接口自动化 junit_有效接口自动化测试动态代码覆盖率解决方案

89b729979d73bbb8cd571e5cd68c2811.gif

是新朋友吗?记得先点蓝字关注我们哦~

396e8f8773eae1f8e0686bb07fff0d76.png

本周TestOps免费试听课课程表

时间主题
6.3(周三)20:00 基于接口调用的动态覆盖率获取

B站直播地址

【扫一扫】

f60681fc7fb963eb3d1a32f27ad3c63a.png

“ 

6.3周三晚上20:00B站和腾讯课堂一起直播哦!

9fb5ac35b360c72bace80adb5b0b9873.png最近每次在和客户聊自动化测试的时候都会引出一个问题,我怎么知道我的测试做的是有效的呢?哪些是我没有测试到的部分?其实在这点上的解决方案是比较成熟的,很多传统大型软件公司都能做到智能化的覆盖率统计分析及测试拓展,然而这样的方案了解的人却比较少,大大出乎了云层的意料,所以这次云层来给大家分享一下关于这个知识点的内容。首先来简单聊一下覆盖率,在单元测试中很容易通过覆盖率工具获取对代码的调用情况。

765f6010d239cf19a41d652092d25484.png

这里的覆盖率都是在junit类的单元测试框架获取了,那么能不能让系统在生产运行的情况下获取动态覆盖率呢?所谓的运行时动态获取覆盖率,答案是肯定的,通过Jacoco插桩的模式即可。首先需要下载Jacoco的代理Agent,然后在应用启动的时候加载这个Agent来收集覆盖率。

46b850b2153c6e82bd99c713e5db6da0.png

这里我们使用一个Springboot项目,打包获取Jar包,并使用Java -jar启动(War包要通过Tomcat启动插桩模式)
java  -javaagent:lib/jacocoagent.jar=destfile=e:/jacoco.exec,output=file  -jar demo-0.0.1-SNAPSHOT.jar
接着使用PostMan对被测对象 的方法进行访问相应的功能接口,可以看到jacoco.exec文件已经发生了变化,也就是刚才的接口访问带来了覆盖率统计的变化。 传统 一般使用ant调用jacoco的解析来生成报告,这里可以直接使用IDEA工具自带的覆盖率读取功能。 0dd8fe3706bfd668c9574b5a2f613129.png可以发现前面Postman调用的代码已经被覆盖了,而别的模块没有被覆盖。通过这样的方式可以快速了解当前自动化体系的漏测及覆盖率,从而提高测试用例的有效性。

6ed00e423dba30a332b1398957598cf0.png

TestOps公众号

微信号 : TestOps

新浪微博:@TestOps官方微博

知乎:TestOps-云层

701a495904331e12aa7f46cfe74360aa.png

往期文章

这位客官,520抽奖活动了解下

敏捷课程开始邀请返现啦!上不封顶哦

吵着要过儿童节的你,真的有小学生努力吗

自动化测试的策略和实施|TestOps邀您参与直播探讨

我知道你在看哟>>>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值