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

    文章

    4691

    浏览量

    87079
  • 函数
    +关注

    关注

    3

    文章

    4276

    浏览量

    62316
  • 代码
    +关注

    关注

    30

    文章

    4721

    浏览量

    68213

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

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

收藏 人收藏

    评论

    相关推荐

    如何评估 Llama 3 的输出质量

    评估Llama 3(假设这是一个虚构的人工智能模型或系统)的输出质量,可以通过以下几个步骤来进行: 定义质量标准 : 在开始评估之前,需要明确什么是“高
    的头像 发表于 10-27 14:32 233次阅读

    如何评估AIGC内容的质量和效果

    评估AIGC(人工智能生成内容)的质量和效果是一个复杂的过程,因为它涉及到多个维度,包括内容的准确性、相关性、创造性、一致性、可读性以及用户满意度等。以下是一些评估AIGC内容
    的头像 发表于 10-25 16:02 270次阅读

    如何评估AI大模型的效果

    评估AI大模型的效果是一个复杂且多维度的过程,涉及多个方面的考量。以下是一些关键的评估方法和步骤: 一、基准测试(Benchmarking) 使用标准数据集和任务来评估模型的性能,如G
    的头像 发表于 10-23 15:21 257次阅读

    基于FPA的软件工作量综合评估研究与实践

    软件工程监理项目中如何对软件开发系统进行工作量评估,如何在实施过程中对承建单位已完成的工作量进行审核是实施信息化项目的难题。本文在分析专家
    发表于 10-15 10:45 0次下载

    石化行业电能质量监测装置

    质量测量的权威指南,确保了测量结果的精准性与可靠性。该装置不仅覆盖了谐波分析、波形采样等基础功能,更创新性地整合了电压暂降/暂升/中断、闪变监测、电压不平衡监测等复杂场景下的监测需求,实现了对电能质量的全方位、
    的头像 发表于 08-07 22:18 104次阅读

    光伏电站故障预警与在线监测智能诊断系统 一键运检 多维度故障对比

    光伏电站故障预警与在线监测智能诊断系统|一键运检|多维度故障对比 光伏电站故障预警与在线监测智能诊断系统是专为光伏电站设计的智能化运维管理工具。该系统基于设备智能监测、应用算法模型进行设备智能诊断
    的头像 发表于 07-30 15:33 694次阅读

    MES里面有质量模块,为什么还要实施质量管理软件QMS

    ​为什么一些知名头部的大厂,已经有了MES , 却还都去实施了质量管理软件(QMS)? 答:是这些MES里面的质量模块不能满足客户的需求。 ​ 那么来看看,从质量管理的角度来看,QMS软件
    的头像 发表于 07-29 12:16 254次阅读
    MES里面有<b class='flag-5'>质量</b>模块,为什么还要实施<b class='flag-5'>质量管理软件</b>QMS

    iAuto与华人运通签署全面战略合作协议

    华人运通——高合汽车的母公司,与国际知名的汽车投资咨询服务平台iAuto在香港达成全面战略合作。双方正式签署合作协议,标志着在新能源汽车领域将展开多维度的深入合作。
    的头像 发表于 05-20 10:01 399次阅读

    DC电源模块的质量控制与品牌评估

    BOSHIDA DC电源模块的质量控制与品牌评估 质量控制是确保DC电源模块符合一定标准的过程。品牌评估是对品牌形象、市场认可度和用户满意度的评估
    的头像 发表于 03-11 15:52 325次阅读
    DC电源模块的<b class='flag-5'>质量</b>控制与品牌<b class='flag-5'>评估</b>

    采用端到端的逆设计方法实现多维度多通道超构表面全息设计

    近日,北京理工大学光电学院黄玲玲教授团队采用端到端的逆设计方法实现多维度多通道超构表面全息设计。
    的头像 发表于 03-11 11:35 1038次阅读
    采用端到端的逆设计方法<b class='flag-5'>实现</b><b class='flag-5'>多维度</b>多通道超构表面全息设计

    知语云全景监测技术:现代安全防护的全面解决方案

    可以帮助实现政务数据的安全保护,防止敏感信息泄露;对于个人用户而言,知语云全景监测技术可以提供更加全面的网络安全保护,防范网络钓鱼、恶意软件等安全威胁。 总之,知语云全景监测技术作为现代安全
    发表于 02-23 16:40

    芯驰科技通过ASPICE CL2评估,提升软件开发流程达到国际水准

    ASPICE(汽车软件过程改进及能力评定)作为汽车产业评定软件团队研发能力的基准框架,被誉为“软件解决方案前装生产市场通行证”。通过本次评估,证明芯驰科技不仅能高效完成研发任务,更有能
    的头像 发表于 02-19 16:32 812次阅读

    软件测试活动有哪些?

    第三方软件测试是一种软件测试活动,旨在确保软件质量、功能、性能和安全性等方面符合预期要求。 一、以下是一些常见的第三方软件测试类型: 1、
    发表于 01-08 11:11

    1400亿巨资投入!2023传感大项目全景图来了

    2023年接近尾声,感知芯视界编辑部正在策划多维度观察年度产业发展专题。本期为大家带来2023年传感大项目全景图。
    的头像 发表于 12-26 10:16 731次阅读

    c语言中多维数组可以嵌套定义

    。一个多维数组可以看作是一个矩阵,其中每个元素都有一个唯一的索引来定位它。多维数组的维数决定了它的形状,即它有多少行和列,以及可能的更高维度。 以二维数组为例,它是最基本的多维数组类型
    的头像 发表于 11-24 10:18 1033次阅读