衡量软件质量的指标

   每一个软件人,都应该掌握从专业角度评价一款软件的质量高低。

     每一类事物都有其评价的标准,是好是坏是美或是丑。比如说我们评价一个女生,首先我们通常第一眼看脸,脸蛋漂亮了就差不多算半个美女了,然而光靠脸蛋还不够,还得看身材(女人的身材在男人眼里其实相当相当重要,你懂的),如果说脸蛋漂亮而身材实在难以恭维,也不能算正在的美女。一般的,当我们评价一个女生时,我们会从相貌、身材、性格、文化程度、内涵修养等这些要素出发,最终判别该女生属于哪一个层次。同样的,当我们评价一款软件是否属于高质量软件时,我们也要有参考指标。下面是摘自百度文库的软件质量的指标。

 

        尽管软件质量被很多人经常性的挂在口头,但是如果被问到“衡量软件质量的指标有哪些?”相信很多人会说不出话来,为了帮助更多的软件质量人了解衡量软件质量的指标,下面就简要的介绍一下软件质量指标。

  软件质量指标是衡量那些可识别的软件质量特性的项目,有助于软件质量进行度量,选择软件工程方法来达到特定的质量目标。在一个理想的范围内,一个系统总是最大限度的展示所有这些属性的可能价值,系统将随时可用、绝不崩溃、可以立即提供结果、易于使用。
  在 ANSI/IEEE中提到的软件的6个品质要素如下:
  正确性:实现的功能达到设计规范并满足用户需求的程度。
  可靠性:在规定的时间和条件下,维持其性能水准的程度。
  易用性:用户掌握软件操作所要付出的时间及努力程度。
  效率:软件执行某项功能所需的计算机资源和时间的有效程度。
  可维护性:当环境改变或者软件发生错误时,执行修改或者修复所作的努力地程度。
  可移植性:从一个系统 /环境移到另一个系统/环境的容易程度。
  根据这些软件品质要素,我们可以确定一系列的软件质量指标:
   1、功能性的质量指标
  功能的正确性:系统功能和用户的实际需求、已定义的产品规范一致。
  功能的准确性:系统产生的结果在精度允许的误差范围内。
  功能的完整性:所有功能及其定义清楚、可用。
   2、可用性的质量指标
  可操作性:容易使用和操作,包括理解用户界面、适应一些特殊用户的可选项等。
  通用性:数据显示、网络通信接口和用户界面等都遵守已有的软件标准。
  一致性:在软件开发整个生命周期内建立和使用相同的标准,保证全局变量、数据类型、出错处理的命名和使用一致。
   3、可靠性的质量指标
  自我恢复能力:当系统的某个功能失效发生时,系统在当前环境下能实现故障自动转移,重新自动配置、继续执行的能力,软件系统具有自我检测、容错、备份等机制,尽量做到独立于硬件的编码、硬件设备之间的通信协议一致等。
  健壮性:各种恶劣环境(大数据量、大用户量)下系统能正常工作。
  分布性:软件系统的某些子功能或子系统被定位于不同的处理主机、存储设备。
   4、性能的质量指标
  有效性:系统在通信、处理、存储等方面占有很少资源或者对所使用的资源进行了优化。
  完整性:系统具有良好的安全管理,能防止不安全存取系统、防止数据丢失病毒入侵等。
  易存取性:对系统的存取权限设置清楚,存取操作方便,存取操作有记录。
   5、可维护性的质量指标
  模块化:指讲一个复杂的软件系统分解为分别命名并具备最小耦合性、很强凝聚性、结构化的组件。
  灵活性:容易为系统增加一个新功能或者新的数据而不需要进行大量的代码修改或者设计修改。
  可测试性:测试软件组件或者集成产品时查找缺陷的简易程度。
  可追溯性:对一个特殊需求容易找出相应的代码,反之,也可以根据代码找出特定的需求。
  兼容性:软件、硬件、通信系统之间协调及兼容其他系统的能力。
  可解释性:相关文档齐全、符合标准、逻辑清晰、描述准确、用词恰当,容易理解和定位。
   6、可移植性质量指标
  适应性:系统不依赖于环境,即系统不做修改或作很少的修改即可运行在其他环境下。
  易安装性:与在指定的环境下安装软件所需努力有关的软件属性。如在线更新、安装包自动生成等。
  可重用性:一个软件组件除了在最初开发的系统之外应用于其他系统的能力。
  互操作性:软件系统与其他系统交换数据和服务的难易程度。
  可替换性:与软件在该环境中用来替代指定的其他软件的机会和努力有关的软件属性。
  看过读者其他文章的朋友会觉得上面的内容似曾相识,不错,笔者之前的文章《非功能需求的 6种类型》中的内容和此文中的内容遥相呼应,一定程度上也反馈出“质量就是客户满意的程度”的观点。实际上,软件的质量并非静态的而是动态的,假如客户对于某项质量指标没有要求,就没必要花费时间和工作去满足该项质量指标,因此,在具体软件系统的质量指标定义上,一定要结合用户的非功能需求,不但能恰到好处的满足客户需求,也能尽可能的节省开发成本。
  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试衡量指标可以从多个角度进行考量。以下是一些常见的衡量指标: 1. 缺陷密度(Defect Density):表示单位代码或测试用例中的缺陷数量。通常以每千行代码或每个测试用例的缺陷数来计算。较低的缺陷密度表示较高的软件质量。 2. 测试覆盖率(Test Coverage):衡量测试用例对软件功能和代码的覆盖程度。测试覆盖率可以根据不同的维度进行衡量,如语句覆盖、分支覆盖、路径覆盖等。 3. 测试通过率(Test Pass Rate):表示在执行测试用例后,通过的测试用例数量与总测试用例数量之比。较高的通过率意味着软件质量较好。 4. 缺陷修复效率(Defect Fix Efficiency):衡量开发团队对缺陷的修复速度和效率。通常以缺陷修复的平均间或平均修复周期来评估。 5. 回归测试效果(Regression Test Effectiveness):衡量回归测试对已修复缺陷和修改代码的检测能力。通过评估回归测试发现的新缺陷数量和已修复缺陷数量来计算。 6. 平均故障间隔间(Mean Time Between Failures,MTBF):表示系统在连续运行期间平均发生故障的间间隔。较长的MTBF表示较高的系统可靠性。 7. 平均故障修复间(Mean Time To Repair,MTTR):表示系统故障发生后平均修复的间。较短的MTTR表示快速修复故障的能力。 这些衡量指标可以根据具体项目和组织的需求进行调整和补充。通过监控和评估这些指标,可以帮助评估软件测试的效果和质量,并指导测试团队的改进工作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值