软件质量指标
软件质量指标
软件指标可以分为三类 –
-
产品指标– 描述产品的特征,例如尺寸、复杂性、设计特征、性能和质量水平。
-
流程指标– 这些特征可用于改进软件的开发和维护活动。
-
项目指标– 此指标描述项目特征和执行。示例包括软件开发人员的数量、软件生命周期内的人员配备模式、成本、进度和生产力。
一些指标属于多个类别。例如,项目的过程中质量度量既是过程度量又是项目度量。
软件质量度量是软件度量的一个子集,侧重于产品、过程和项目的质量方面。与项目指标相比,这些指标与流程和产品指标的关联更紧密。
软件质量指标可以进一步分为三类 –
- 产品质量指标
- 过程质量指标
- 维护质量指标
产品质量指标
该指标包括以下内容 –
- 平均无故障时间
- 缺陷密度
- 客户问题
- 消费者满意度
平均无故障时间
这是失败之间的时间。该指标主要用于安全关键系统,例如航空公司交通控制系统、航空电子设备和武器。
缺陷密度
它衡量相对于软件大小的缺陷,表示为代码行或功能点等。即,它衡量每单位代码的质量。该指标用于许多商业软件系统。
客户问题
它衡量客户在使用产品时遇到的问题。它包含客户对软件问题空间的看法,包括面向非缺陷的问题和缺陷问题。
问题指标通常表示为每个用户月的问题 (PUM)。
PUM = Total Problems that customers reported (true defect and non-defect oriented problems) for a time period + Total number of license months of the software during the period
在哪里,
Number of license-month of the software = Number of install license of the software × Number of months in the calculation period
PUM 通常是在软件上市后的每个月计算的,也可以按年计算月平均值。
消费者满意度
客户满意度通常通过五分制的客户调查数据来衡量 –
- 非常满意
- 使满意
- 中性的
- 不满意
- 非常不满
对产品的整体质量及其具体尺寸的满意度通常是通过客户调查的各种方法获得的。基于五点尺度数据,可以构建和使用几个略有变化的指标,具体取决于分析的目的。例如 –
- 完全满意的客户百分比
- 满意客户的百分比
- 不满意客户的百分比
- 不满意客户的百分比
通常,使用此百分比满意度。
过程质量指标
在某些组织的正式机器测试期间,过程中的质量指标处理缺陷到达的跟踪。该指标包括 –
- 机器测试期间的缺陷密度
- 机器测试期间的缺陷到达模式
- 基于相位的缺陷去除模式
- 缺陷去除效果
机器测试期间的缺陷密度
正式机器测试(代码集成到系统库后测试)的缺陷率与现场的缺陷率相关。测试期间发现的较高缺陷率表明软件在其开发过程中经历了较高的错误注入,除非较高的测试缺陷率是由于异常的测试工作所致。
这个简单的每个 KLOC 或功能点的缺陷指标是一个很好的质量指标,而软件仍在测试中。在同一开发组织中监视产品的后续版本特别有用。
机器测试期间的缺陷到达模式
测试期间的整体缺陷密度将仅提供缺陷的摘要。缺陷到达模式提供了有关现场不同质量水平的更多信息。它包括以下内容 –
-
在测试阶段按时间间隔(例如,周)报告的缺陷到达或缺陷。在这里,所有这些都不会是有效的缺陷。
-
当对报告的问题进行问题确定时,有效缺陷到达的模式。这是真正的缺陷模式。
-
缺陷积压加班的模式。需要此指标是因为开发组织无法立即调查和修复所有报告的问题。这是一份工作量声明,也是一份质量声明。如果在开发周期结束时缺陷积压量很大,并且许多修复程序尚未集成到系统中,则会影响系统的稳定性(从而影响其质量)。需要重新测试(回归测试)以确保达到目标产品质量水平。
基于相位的缺陷去除模式
这是测试期间缺陷密度度量的扩展。除了测试之外,它还在开发周期的所有阶段跟踪缺陷,包括设计审查、代码检查和测试前的形式验证。
由于很大一部分编程缺陷与设计问题有关,因此进行正式审查或功能验证以增强前端流程的缺陷消除能力,从而减少软件中的错误。基于相位的缺陷去除模式反映了开发过程的整体缺陷去除能力。
关于设计和编码阶段的指标,除了缺陷率之外,许多开发组织还使用诸如检查覆盖率和检查工作量之类的指标来进行过程质量管理。
缺陷去除效果
它可以定义如下 –
$$DRE = \frac{缺陷\:移除\:期间\:a\:发展\:阶段}{缺陷\:潜在\:在\:\:产品}\times 100\%$$
可以针对整个开发过程、代码集成前的前端和每个阶段计算该指标。当用于特定阶段的前端和阶段有效性时,它被称为早期缺陷去除。度量值越高,开发过程越有效,传递到下一阶段或现场的缺陷就越少。该度量是软件开发的缺陷消除模型的关键概念。
维护质量指标
尽管在此阶段无法做很多事情来改变产品的质量,但可以执行以下修复以尽快消除缺陷并具有出色的修复质量。
- 修复积压和积压管理索引
- 修复响应时间并修复响应能力
- 拖欠修复百分比
- 修复质量
修复积压和积压管理索引
修复积压与缺陷到达率和报告问题修复可用的速度有关。它是对每个月末或每周的报告问题的简单计数。以趋势图的格式使用它,该指标可以为管理维护过程提供有意义的信息。
积压管理指数 (BMI) 用于管理未解决和未解决问题的积压。
$$BMI = \frac{Number \: of \: questions \: closed \: during \:the \:month {Number \: of \: questions \:到达 \: during \:the \:month} \times 100\%$$
如果BMI大于100,则意味着积压减少。如果 BMI 小于 100,则积压量增加。
修复响应时间并修复响应能力
修复响应时间度量通常计算为所有问题从打开到关闭的平均时间。较短的修复响应时间可提高客户满意度。
修复响应的重要元素是客户期望、约定的修复时间以及履行对客户承诺的能力。
拖欠修复百分比
计算如下 –
$Percent \:Delinquent\: 修复 =$
$\frac{Number \: of \:fixed \:that\: exceeded\: the \:response \:time\:criteria\:by\:ceverity\:level}{Number \: of \:fixed \: Delivered \: 在 \:a \:specified \:time} \times 100\%$
修复质量
修复质量或缺陷修复的数量是维护阶段的另一个重要质量指标。如果修复没有修复报告的问题,或者修复了原始问题但注入了新的缺陷,则修复是有缺陷的。对于关键任务软件,有缺陷的修复不利于客户满意度。缺陷修复百分比的度量标准是时间间隔内所有缺陷修复的百分比。
有缺陷的修复可以通过两种方式记录:在发现的月份记录或在修复交付的月份记录。第一个是客户衡量标准;二是过程措施。两个日期之间的差值是缺陷修复的潜伏期。
通常延迟越长,受影响的客户就越多。如果缺陷数量很大,那么百分比度量的小值将显示出乐观的画面。当然,维护过程的质量目标是零缺陷修复且无拖欠。