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

    文章

    5298

    浏览量

    90881
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66839
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73150

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

    一颗优质的音频功放芯片硬核素质有哪些?优质音频功放芯片的全维度评估框架

    多维度达到平衡。本文将系统剖析高品质音频功放芯片的核心技术指标与产品选型方案。 音频功放芯片的关键技术指标解析 音频功放芯片的性能评估需要综合考量电声学特性、可靠性设计与系统适配能力三大维度。 输出功率作为最基础
    的头像 发表于 09-17 14:17 823次阅读

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

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

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

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

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

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

    触摸芯片全面选型指南:从功能到场景的全维度考量

    触摸芯片全面选型指南:从功能到场景的全维度考量
    的头像 发表于 07-17 17:54 509次阅读

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

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

    如何评估CAN总线信号质量

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

    X-Ray检测助力BGA焊接质量全面评估

    ,如空洞、偏移、焊球缺失等 焊接过程中可能产生的桥接、焊球粘连等问题 传统检测方法难以在不破坏产品的情况下全面评估焊接质量 X-Ray检测技术通过X射线穿透被测物体,利用不同材料对X射线吸收能力的差异,形成不同灰度的图像,从而
    的头像 发表于 04-12 16:35 659次阅读

    SONY FCB-ER9500如何在智能交通实现多维度防抖捕捉?

    FCB-ER9500的超级图像防抖功能是其一大亮点,它采用了先进的电子防抖技术和840万像素的抖动补偿区间,能够在水平、垂直、中心旋转等多个维度实现防抖效果。
    的头像 发表于 03-11 09:59 625次阅读
    SONY FCB-ER9500如何在智能交通<b class='flag-5'>实现</b><b class='flag-5'>多维度</b>防抖捕捉?

    《AI Agent 应用与项目实战》阅读心得2——客服机器人、AutoGen框架 、生成式代理

    和反应模块则实现了基于目标的行为规划,采用蒙特卡洛树搜索算法对可能的行为序列进行评估和选择。在沙盒环境的实现上,项目采用了事件驱动的架构设计,通过细粒度的事件系统来模拟环境变化和代理间
    发表于 02-25 21:59

    多维度焊接质量监测仪:精准检测,保障安全

    焊点都达到预期标准,成为了现代制造业亟待解决的问题之一。多维度焊接质量监测仪的出现,为这一难题提供了全新的解决方案。 多维度焊接质量监测仪是一种集成了多种先进传
    的头像 发表于 01-10 09:17 739次阅读

    AI云端计算资源的多维度优势

    AI云端计算资源,作为AI技术与云计算深度融合的产物,在成本效益、性能优化、数据安全、灵活扩展以及创新加速等多个维度都具有显著优势。下面,AI部落小编带您探讨AI云端计算资源的优势。
    的头像 发表于 01-07 11:11 839次阅读