一个旅游网站建设需求分析,台州企业免费建站,外贸公司网站空间,广州市城乡建设部网站首页SonarQube 指标解读 1.BUG 评级计算方法#xff08;可靠性#xff09;2.漏洞评级计算方法#xff08;安全性#xff09;3.债务和坏味道4.覆盖率4.1 代码覆盖率4.2 分支覆盖率4.3 单元测试覆盖率 5.重复 1.BUG 评级计算方法#xff08;可靠性#xff09;
✅ A#xff1a… SonarQube 指标解读 1.BUG 评级计算方法可靠性2.漏洞评级计算方法安全性3.债务和坏味道4.覆盖率4.1 代码覆盖率4.2 分支覆盖率4.3 单元测试覆盖率 5.重复 1.BUG 评级计算方法可靠性
✅ A表示代码无 Bug最高级别✅ B代码有一个 次要 Bug等级评估为 B✅ C代码有一个 重要 Bug等级评估为 C✅ D代码有一个 严重 Bug等级评估为 D✅ E代码有一个 阻断 Bug等级评估为 E最低级别
BUG 级别描述 级别 详细描述信息 次要界面、性能缺陷建议类问题不影响操作功能的执行可以优化性能的方案等。如错别字、界面格式不规范页面显示重叠、不该显示的要隐藏描述不清楚提示语丢失文字排列不整齐光标位置不正确用户体验感受不好可以优化性能的方案等。重要功能没有完全实现但是不影响使用功能菜单存在缺陷但不会影响系统稳定性。如操作时间长、查询时间长、格式错误、边界条件错误删除没有确认框、数据库表中字段过多等。严重系统主要功能部分丧失、数据库保存调用错误、用户数据丢失一级功能菜单不能使用但是不影响其他功能的测试。功能设计与需求严重不符模块无法启动或调用程序重启、自动退出关联程序间调用冲突安全问题、稳定性等。如软件中数据保存后数据库中显示错误用户所要求的功能缺失程序接口错误数值计算统计错误等。阻断阻碍开发或测试工作的问题造成系统崩溃、死机、死循环导致数据库数据丢失与数据库连接错误主要功能丧失基本模块缺失等问题。如代码错误、死循环、数据库发生死锁、重要的一级菜单功能不能使用等。
2.漏洞评级计算方法安全性
✅ A表示代码无漏洞最高级别✅ B代码有一个 次要 漏洞等级评估为 B✅ C代码有一个 重要 漏洞等级评估为 C✅ D代码有一个 严重 漏洞等级评估为 D✅ E代码有一个 阻断 漏洞等级评估为 E最低级别
漏洞级别描述 级别 详细描述信息 次要能够获取一些数据但不属于核心数据的操作 在条件严苛的环境下能够获取核心数据或者控制核心业务的操作 需要用户交互才可以触发的漏洞。包括但不限于 XSS 漏洞、CSRF 漏洞、点击劫持。重要需要在一定条件限制下能获取服务器权限、网站权限与核心数据库数据的操作。包括但不限于交互性代码执行、一定条件下的注入、特定系统版本下的 getshell 等 任意文件操作漏洞。包括但不限于任意文件写、删除、下载敏感文件读取等操作 水平权限绕过。包括但不限于绕过限制修改用户资料、执行用户操作。严重直接获取普通系统权限的漏洞。包括但不限于远程命令执行、代码执行、上传 webshell、缓冲区溢出等 严重的逻辑设计缺陷和流程缺陷。包括但不限于任意账号密码修改、重要业务配置修改、泄露 可直接批量盗取用户身份权限的漏洞。包括但不限于普通系统的 SQL 注入、用户订单遍历 严重的权限绕过类漏洞。包括但不限于绕过认证直接访问管理后台、Cookie 欺骗。 运维相关的未授权访问漏洞。包括但不限于后台管理员弱口令、服务未授权访问。阻断直接获取重要服务器客户端权限的漏洞。包括但不限于远程任意命令执行、上传 webshell、可利用远程缓冲区溢出、可利用的 ActiveX 堆栈溢出、可利用浏览器 use-after-free 漏洞、可利用远程内核代码执行漏洞以及其它因逻辑问题导致的可利用的远程代码执行漏洞 直接导致严重的信息泄漏漏洞。包括但不限于重要系统中能获取大量信息的 SQL 注入漏洞 能直接获取目标单位核心机密的漏洞。
3.债务和坏味道
坏味道是指在代码之中潜在问题的警示信号。并非所有的坏味道所指示的确实是问题但是对于大多数坏味道均很有必要加以查看并作出相应的修改。
债务每一个问题Sonar 都会计算出更改这个问题需要花费的时间。通过相加这些时间得出一个总的值称为债务。 4.覆盖率 指标中文解释值Lines to Cover可覆盖行13242Uncovered Lines未覆盖的代码7943Conditions to Cover可覆盖分支4738Uncovered Conditions未覆盖分支3760
4.1 代码覆盖率 代码覆盖率 ( L i n e C o v e r a g e ) 可覆盖行 − 未覆盖的代码 可覆盖行 13242 − 7943 13242 40.0 % 代码覆盖率(Line\ Coverage) \frac{可覆盖行 - 未覆盖的代码}{可覆盖行}\frac{13242-7943}{13242}40.0\% 代码覆盖率(Line Coverage)可覆盖行可覆盖行−未覆盖的代码1324213242−794340.0%
或者称为 行覆盖率Line Coverage在给定的代码行上行覆盖率只是回答 “这行代码是否在单元测试执行期间被执行过” 的问题。它是单元测试覆盖线的密度。 线路覆盖率 L C E L 线路覆盖率 \frac{LC}{EL} 线路覆盖率ELLC L C LC LC 覆盖线Lines to Cover - Uncovered Lines E L EL EL 可执行行总数Lines to Cover
4.2 分支覆盖率 分支覆盖率 ( B r a n c h C o v e r a g e ) 可覆盖分支 − 未覆盖分支 可覆盖分支 4738 − 3760 4738 20.6 % 分支覆盖率(Branch\ Coverage) \frac{可覆盖分支 -未覆盖分支}{可覆盖分支}\frac{4738-3760}{4738}20.6\% 分支覆盖率(Branch Coverage)可覆盖分支可覆盖分支−未覆盖分支47384738−376020.6%或者 条件覆盖率 ( C o n d i t i o n C o v e r a g e ) C T C F 2 × B 条件覆盖率(Condition\ Coverage) \frac{CT CF}{2×B} 条件覆盖率(Condition Coverage)2×BCTCF C T CT CT 至少一次被评估为 “真” 的条件 C F CF CF 至少一次被评估为 “假” 的条件 B B B 条件总数Conditions to Cover
4.3 单元测试覆盖率
它是 Line Coverage 和 Condition Coverage 的混合体。
代码中单元测试的覆盖率计算方法 C o v e r a g e C T C F L C 2 × B E L ∗ 100 % Coverage\frac{CTCFLC}{2×BEL}*100\% Coverage2×BELCTCFLC∗100% C T CT CT至少有一次被判断为 true 的条件数 C F CF CF至少有一次被判断为 false 的条件数 L C LC LC已覆盖的行数Lines to Cover - Uncovered Lines B B B条件总数Conditions to Cover E L EL EL所有可执行的代码总行数Lines to Cover
5.重复 重复度 重复行数 总行数 ∗ 100 % D u p l i c a t e d L i n e s L i n e s ∗ 100 % 重复度\frac{重复行数}{总行数}*100\%\frac{Duplicated\ Lines}{Lines}*100\% 重复度总行数重复行数∗100%LinesDuplicated Lines∗100%