软件测试 | Sonarqube中的覆盖率分析 天天动态
哔哩哔哩 2023-05-29 01:58:00

导入覆盖率

sonarqube 可以分析 jacoco 的 exec 文件与 xml 文件,并自动导入覆盖率。exec 文件的分析后续会放弃 支持,主支持 xml 文件的分析。


(资料图片仅供参考)

sonar-scanner \ -Dsonar.host.url=http://sonarqube.testing-studio.com:9000 \ -Dsonar.login=$SONARQUBE_TOKEN \ -Dsonar.projectKey=jmeter \ -Dsonar.projectVersion=1.0 \ -Dsonar.coverage.jacoco.xmlReportPaths=$PWD/jmeter_coverage_tcpserver2/jacoco.xml \ -Dsonar.projectBaseDir=/Users/seveniruby/projects/jmeter/ \ -Dsonar.java.binaries=/Users/seveniruby/projects/jmeter/

限定范围的代码覆盖

可以通过如下参数限定要分析代码的范围,通常是指明要覆盖的 package 范围

sonar.sources

sonar.inclusions

新增代码覆盖率

sonarqube 可以智能分析新老版本之间的新增代码的覆盖率,这点非常不错,以前一些分析代码 diff 的 工作就节省了。他的代码分析也比较智能,简单的换行并不会干扰代码 diff 的分析范围。

通用覆盖率数据

sonarqube 支持两种通用的测试数据导入

通用覆盖率数据:sonar.coverageReportPaths

通用测试执行数据:sonar.testExecutionReportPaths

这样方便与各种框架进行集成,也方便测试工程师二次定制。

通用测试数据模板

通用覆盖率数据模板

在 sonarqube 的 scanner 分析中,加入对应的配置参数即可导入通用测试数据。

通用测试数据导入的常见用途

将各种测试工具的测试报告转换为 sonarqube 支持的格式从而导入平台

将各种覆盖率工具的覆盖率报告转换为标准格式导入平台

根据需求对差异 diff 覆盖率进行定制,比如除了对新增代码做覆盖,还要对使用了新增代码的依赖 代码也做分析

代码diff方法

代码的 diff 分析是一个比较大的话题,diff 只是对代码的最简单的一个分析策略,要想深入的理解代 码,我们还需要更进一步的分析代码的调用链。我们先看最简单的代码 diff 分析工具。

代码 diff 分析工具

JGit:git 分析工具

JavaParser:语法分析

ASM:读取字节码

javap:jdk 自带字节码分析工具

猜你喜欢

软件测试 | Sonarqube中的覆盖率分析 天天动态

2023-05-29

热资讯!灰烬之塔:从现在到永远_关于灰烬之塔:从现在到永远介绍

2023-05-28

注册制之后,很多股票会被抛弃了!哪些股票,依旧会有机会?

2023-05-28

打造“平安校车” 湘潭高新区开展校车安全培训暨应急演练 时讯

2023-05-28

短讯!解锁“老鹰捉小鸡”新玩法 首场卡巴迪国家级赛事将在瓜沥举行

2023-05-28

武汉黄陂城管机关党支部举办“主题党日我来开”观摩践行活动

2023-05-28

吉林22岁大二学生失联近20天 家属悬赏50万元寻人

2023-05-28

千焦 换算千卡(千焦和千卡的换算简介介绍) 环球聚焦

2023-05-28

漯河召陵区法院召开长期未结案件“清零”督办会-前沿热点

2023-05-28

环球观速讯丨羽毛球拍1u等于多少克_1u等于多少克

2023-05-28

全球观察:宝宝多大才会翻身你知道了吗

2023-05-28

世乒赛综合:孙颖莎、陈梦会师女单决赛 国乒包揽五冠

2023-05-28

颁奖时,孙颖莎曼昱为何黑脸?马琳举动太过分,陈梦或保送大满贯|天天观速讯

2023-05-28

完爆广东黑白矮!辽宁后卫“新力量”打服林葳,杨鸣后场再添虎将

2023-05-28

天天微头条丨定安县气象台发布雷电黄色预警【Ⅲ级/较重】【2023-05-28】

2023-05-28

热门推荐