0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Squore对软件项目实现多维度的全面质量评估

Vector维克多 来源:Vector维克多 作者:Vector维克多 2021-11-16 17:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着软件工程的规模逐步扩大、复杂程度逐渐提升,以及敏捷开发对效率和协作有了更高的要求,项目干系人如何及时全面发现软件开发过程中的问题,又如何快速高效地处理和反馈呢?

这些疑问对项目管理人员、质量人员以及开发、测试人员都带来了更大的挑战。基于此,对于一款看板工具而言,能否从更加全面的维度对软件质量进行实时客观衡量和趋势分析,并给出相关干系人明确的质量评级、清晰的问题指示和相应的建议方案,将使得管理和决策形成正反馈的闭环、达到流程持续优化的落地。

质量如何把控?

—工欲善其事,必先利其器

Squore是高效的看板管理工具,更是软件分析平台,能够支持众多第三方工具数据的导入并依据自身高效的数据挖掘能力对数据进行分类汇总,形成看板视图。Squore依托其强大的KPI评析引擎,将导入的各类数据(如源代码、需求、票据、动态测试覆盖率信息、静态代码扫描结果等)从克隆代码、代码复杂程度、标准合规性、代码覆盖率、问题密度、测试效率等多个维度中选取关联项进行衡量,最终确定当前软件工程的质量评级(见图2),从而使项目团队可以时刻掌握软件质量状态。

Squore关键绩效指标(KPI)

—海纳百川,有容乃大

1. 可自定义的测试策略

测试策略旨在帮助开发团队提高其软件项目的可靠性信心。Squore充分考虑到随着代码的体量和复杂度的增长,执行详尽的测试活动越来越困难。使用测试策略(见图3),可以降低代码的被测范围,并结合项目实际需求定义代码覆盖率期望。例如,通过圈复杂度 (VG)、嵌套级别 (LEVL)、非循环路径数 (NPAT)、词汇频率 (VOCF)、代码稳定性指数(SI)的阈值来确定被测函数,低于阈值的函数会被排除监测范围并且不影响KPI评级;通过自定义测试策略,可以使项目团队关注重点功能函数。

2. 技术债务评估

技术负债(Technical debt)于1992年由沃德·坎宁安首次提出,是指因为加速当前软件开发效率而忽视可维护性等质量特性,从而造成未来的额外开发负担。Squore依据ISO质量模型从可维护性、可靠性、效率、可测试性、易变性对软件进行度量并依据内置算法,对项目中发现的所有违约的修复成本以时间单位(人日)进行评估(见图4),同时依据迭代版本形成趋势分析图。项目干系人可通过技术债务的发展趋势进行指导干预,避免未来代码复用时出现高额的重构成本。

3. 代码规则合规性评估

规则合规性,表明项目开发团队遵循编码指南的程度。用户可以选用第三方静态代码分析工具(如德国的Axivion,或美国的QAC等),将测试结果导入Squore进行统计和报告。Squore考虑用户实际需求,为用户提供“放宽功能”:在Findings列表(见图5),选择相关违规具体问题进行备注说明、放宽该违规行为,同时该放宽条目将不再影响规则合规性KPI。

4. 代码复杂度评估

复杂度评估,旨在根据代码复杂性指标评估项目的风险。Squore依托HIS指标中如下标准(见图6),进行函数的复杂度判定。如果这些指标中至少有一半不符合预期阈值,则类或函数将被Squore判定是复杂的;同时,Squore也为用户开放HIS指标的阈值配置接口,便于用户根据项目实际情况进行复杂度判读。

在项目层面,Squore通过热点图的方式来区分函数的复杂程度便于用户的高效识别(见图7)。自上而下贯穿软件项目管理至函数代码实现层面,Squore提供该函数复杂程度的检测蛛网图以及函数控制流图,便于发现关键复杂点。

结合ISO 25010质量分解图,Squore还可以提高项目团队对自下而上、从单个函数至整体工程项目质量的把握程度(见图8)。

5. 覆盖率评估

覆盖率评估可以有效监督当前代码的覆盖测试情况。用户可以通过导入动态代码测试工具如VectorCAST覆盖率测试结果获得覆盖率统计视图(见图9),而Squore则会依据覆盖率完成的百分比来进行该项KPI评级。Squore可以给出项目层级的覆盖率统计结果,绿色为实现预期值的有效覆盖测试的函数占比,红色为覆盖率还未达到预期值的函数占比,灰色意味着该函数尚未开启任何类型的覆盖率测试。与此同时,Squore在函数层面根据具体覆盖率类型展示覆盖率测试情况,可有助于用户快速发现不足方面采取相应措施。ISO 26262对不同安全等级提出了不同类型覆盖率的测试要求,因此Squore也提供用户配置接口,可以自定义选择覆盖类型(如Statement、Branch或MCDC覆盖)并设置期望值。

6. 克隆代码评估

该指标旨在关注应该返工的代码,主要涉及架构设计和实现,其计算指标突出显示重复块和类似算法。

Squore的克隆代码评估汇总了有关文本复制和算法克隆的信息(基于控制流分析), 会区分克隆是来自程序代码组件内部还是外部(类似于其他组件)。内部克隆会关注组件本身是否设计良好,外部克隆关注组件之间的相似冗余性。

7. 函数违规密度评估

违规密度旨在突出代码中最违反规则的函数,密度由Squore内置严重性加权算法处理检测到的违规问题而获得。通过该指标可以优先发现具有关键问题的函数,或者有很多次要/主要问题的函数;而对于这些问题函数,项目团队应该重点关注,进行及时补救以提高代码质量。

Squore基于函数技术债务和它们的违规密度(按严重程度加权的问题密度)通过图形化的视图,突出显示所有函数的分布(见图11)。顶部区域的模块具有更高的技术债务,这意味着它们更难以维护;更大的模块意味着函数具有较多的问题,同时问题的严重程度通过颜色进行区分,气泡颜色的深浅显示组件内部问题的严重程度。

总 结

本文对Squore进行质量管理的部分关键绩效指标(KPI引擎)进行了介绍。如前文所述,Squore不仅可以通过强大的API接口与数据挖掘能力实现与众多主流测试、项目管理和需求工具的无缝衔接,呈现多样且直观的视图看板和报告,更能依托自带的KPI评析引擎对软件项目实现多维度的全面质量评估,确保软件在开发过程中能够满足相关质量标准和行业规范,实现产品最终的成功交付。

原文标题:基于KPI评析引擎的Squore软件质量管理

文章出处:【微信公众号:Vector维克多】欢迎添加关注!文章转载请注明出处。
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    5362

    浏览量

    91895
  • 函数
    +关注

    关注

    3

    文章

    4422

    浏览量

    67855
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74388

原文标题:基于KPI评析引擎的Squore软件质量管理

文章出处:【微信号:VectorChina,微信公众号:Vector维克多】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    迅为电子RK3568+RK3588开发板资料焕新升级!多维度优化助力开发者效率提升

    迅为电子RK3568+RK3588开发板资料焕新升级!多维度优化助力开发者效率提升
    的头像 发表于 03-26 15:06 491次阅读
    迅为电子RK3568+RK3588开发板资料焕新升级!<b class='flag-5'>多维度</b>优化助力开发者效率提升

    零碳园区的碳减排效果评估指标有哪些?

    、可实操落地”的原则,构建涵盖碳排放总量、能源结构、产业效率、资源循环等多维度的指标体系,全面反映园区从能源供给到消费终端的碳减排综合成效。结合《零碳产业园区建设导则》等国家标准及实践经验,零碳园区碳减排效果评估指标主要分为核心
    的头像 发表于 03-10 13:38 862次阅读
    零碳园区的碳减排效果<b class='flag-5'>评估</b>指标有哪些?

    多维度分析光纤电缆损伤的成因

    光纤电缆作为高速数据传输的核心介质,其损伤会直接影响通信质量甚至导致系统中断。其损伤成因可从物理、环境、安装施工、人为操作及材料老化等多个维度分析,具体如下: 一、物理损伤 外力挤压或弯曲 过度弯曲
    的头像 发表于 01-23 14:20 419次阅读

    NXP TJA14xx评估板使用指南:从硬件到软件全面解析

    NXP TJA14xx评估板使用指南:从硬件到软件全面解析 作为电子工程师,在进行高速CAN收发器和部分网络相关的设计与评估工作时,NXP的TJA14xx
    的头像 发表于 12-24 10:00 2525次阅读

    电能质量在线监测装置的多维度统计报表支持远程访问导出吗?

    是的,现代电能质量在线监测装置的多维度统计报表全面支持远程访问导出功能 ,已成为主流产品标配,可通过多种方式随时随地获取分析数据。 一、远程访问导出方式全景 1. Web 浏览器直连(最通用) 输入
    的头像 发表于 12-17 15:39 514次阅读
    电能<b class='flag-5'>质量</b>在线监测装置的<b class='flag-5'>多维度</b>统计报表支持远程访问导出吗?

    不同类型的电能质量在线监测装置在多维度统计报表功能上有哪些差异?

    不同类型的电能质量在线监测装置(基础型 / 增强型 / 电网级)在多维度统计报表功能上的差异,核心围绕 “统计维度丰富度、报表类型覆盖、定制化能力、输出集成、合规适配” 展开,本质是匹配不同应用场
    的头像 发表于 12-12 13:59 584次阅读

    电能质量在线监测装置支持多维度统计报表吗?

      是的,主流电能质量在线监测装置普遍支持多维度统计报表功能 ,这是其数据分析能力的核心组成部分,能帮助用户全面评估电网电能质量状况,满足合
    的头像 发表于 12-11 16:51 707次阅读

    如何评估电能质量在线监测装置的定制化和联动应用效果?

    评估电能质量在线监测装置的定制化和联动应用效果,需围绕 “是否满足场景核心需求” 展开,通过 “量化指标 + 实际场景验证” 结合的方式,分别针对定制化(硬件、软件、数据、报告)和联动应用(系统
    的头像 发表于 10-23 09:28 630次阅读

    如何评估电能质量在线监测装置的扩展性?

    评估电能质量在线监测装置的扩展性,需围绕 “ 硬件可扩展、软件可升级、协议可兼容、场景可适配 ” 四大核心维度展开,通过 “技术参数核查、厂商能力验证、实际场景测试” 三层验证,判断装
    的头像 发表于 10-22 16:35 733次阅读

    多种类几何尺寸集成智能仪器定制 一站式解决产线多维度测量需求

    长度、直径、圆度、轮廓等);工件单次上料即可完成多维度测量,无需二次定位;内置数据管理系统,自动整合多参数测量结果,生成报表/趋势图;搭载高精度传感器自动化智能检测,减少人工干预。 实现集成化几何尺寸
    发表于 10-09 13:50

    从成本、量产、质量体系等多维度看瑞沃微CSP封装的劣势对比

    在半导体封装技术向微型化、高集成度加速演进的浪潮中,瑞沃微CSP封装凭借其极致小型化、高集成度和性能优越性,在消费电子、汽车电子等领域展现出显著优势。然而,从成本、量产、质量体系等多维度审视,其仍存在一定劣势。
    的头像 发表于 08-01 17:04 1825次阅读
    从成本、量产、<b class='flag-5'>质量</b>体系等<b class='flag-5'>多维度</b>看瑞沃微CSP封装的劣势对比

    解锁高品质音频体验:探索音频质量评估与测试的科学之道

    多维度质量评估帮助用户全面掌握语音通信在不同网络环境下的真实表现,为产品优化和部署提供有力支持。 四、信而泰应用和安全测试仪信而泰DarPeng2000E是一款基于新一代x86架
    发表于 07-22 11:15

    机场保障能力评估系统软件全面解析

    机场保障能力评估系统软件全面解析
    的头像 发表于 07-17 22:06 694次阅读
    机场保障能力<b class='flag-5'>评估</b>系统<b class='flag-5'>软件</b><b class='flag-5'>全面</b>解析

    AEM多维度安全保障赋能加氢站,制、加氢无忧!

    AEM(阴离子交换膜)电解水制氢设备在技术、材料、结构、设计与运行控制等多维度安全性能方面表现突出,其技术特性与加氢站的安全需求高度契合,能够确保站点制、加氢无忧!
    的头像 发表于 07-03 10:27 1139次阅读
    AEM<b class='flag-5'>多维度</b>安全保障赋能加氢站,制、加氢无忧!

    如何评估CAN总线信号质量

    CAN总线网络的性能在很大程度上取决于其信号质量。信号质量差可能导致通信错误,进而引发系统故障、效率降低甚至安全隐患。因此,评估和确保CAN总线信号质量是维护系统健康和可靠性的关键。
    发表于 06-07 08:46