标签归档文章: sonarqube

sonarqube restfull api

sonarqube 提供了restfull api。 加入我的sonarqube部署到了 http://www.hissummer.com:9000/ 那么,可以直接通过访问 http://www.hissummer.com:9000/web_api/ 查看所有的api 文档。

常用的一些接口如下:

1. 搜索项目
/api/projects/search

2. 搜索指定的某个项目下的所有分析结果
/api/project_analyses/search?project=com.hissummer:test

3. 查看某一个扫描的结果指标值
如下就是获取 com.hissummer:test 该项目下的单元测试分支覆盖率和行覆盖率。
/api/measures/component?metricKeys=branch_coverage,line_coverage&component=com.hissummer:test

关于metrickeys可以通过该接口查询到所有的keys。

4. 查询所有的扫描指标metrickeys
/api/metrics/search

这样我们可以通过接口的方式获取项目的扫描结果,可以用来集成到我们自己内部的项目平台上进行结果展示使用。

代码行数覆盖和分支覆盖和条件覆盖的区别?

如何对白盒测试质量进行量化,通常就是使用代码覆盖。
line coverage(行数覆盖), branch coverage(分支覆盖),condition coverage(条件覆盖)到底有什么区别呢? 是否行数覆盖100%则意味着分支覆盖100%,条件覆盖100%呢? 如果条件覆盖100%,则是否意味着分支覆盖100%以及行数覆盖100%。

行覆盖,顾名思义代码行数(也可以成为statement 语句)的覆盖。
分支覆盖是指代码if else while等有条件导致的分支时,分支的覆盖情况。
条件覆盖(通常现代定义,例如sonarqube), 是指每一个分支条件表达式里,所有条件的覆盖。

那么我们回到这个问题。 是否行数覆盖100%则意味着分支覆盖100%,条件覆盖100%呢? 如果条件覆盖100%,则是否意味着分支覆盖100%以及行数覆盖100%。 借助这个问题,来更深入看看他们到底有什么区别。
下面举2个例子。
更多…

sonarqube 7.0 新功能及安装

2018年2月份sonarqube 7.0 发布 ,加入了一个长期被使用者期望的需求。 即关注新引入代码的质量,可以从新的代码开始不遗漏任何新代码违规问题的引入。

如何安装? 更多…