关键字:软件质量、质量管理
7.2.2 度量元
度量元简单地描述为软件度量的内容,再确切地可以定义为“一个软件企业要对它的产品、项目或者过程进行量化管理时,需要关注的信息对象基本属性的描述”。度量元根据度量数据的获得方式划分为基本度量元(直接度量元)和派生度量元(间接度量元)两种。基本度量元的数据可直接度量获得,派生度量元的数据来自其他数据,通常由两个或多个基本度量组合而来。
软件工程权威Barry Boehm概括了软件开发活动中最主要的10个软件度量元,准确地描述了使用传统的软件过程产生的某些基本的经济学关系。简单描述如下:
(1)在交付之后找到并修复一个软件问题的成本,是在设计早期找到并修复该问题的成本的100倍,这是过程改进的理论基础。
(2)软件开发进度至多能够压缩25%,主要是因为缩减进度需要增加人力资源,从而增加管理开销。
(3)在开发中,每花费1美元,在维护中就得花费2美元,因此要注意度量改进维护的度量元。
(4)软件的开发成本和维护成本主要是源代码行数的函数。这是因为采用定制软件,缺乏商业构件和缺乏重用的结果。
(5)人与人的不同导致了软件生产率的最大差异,雇用优秀人才是传统的至理名言。
(6)在总体上,软件和硬件成本之比仍然在继续上升:在1955年是15:85;1985年是85:15。这说明对软件的需求、应用范围及其复杂性几乎没有限制地持续增长。
(7)只有15%的软件开发工作是专用于编码的,因此要重视需求管理、设计、测试、计划、项目控制、变更管理和工具开发等。
(8)随着软件系统规模的增大,其成本成倍增长,呈现1:3:9的关系,称之为软件产业的非规模经济现象。
(9)走查可以发现60%的逻辑缺陷和风格缺陷,但很难发现诸如资源争夺、性能瓶颈、控制冲突问题。
(10)20%的贡献者做出了80%的贡献。
在日常的开发管理过程中,我们建议使用的基本度量元包括如下一些方面内容:
(1)进度性能度量元(里程碑进展、工作包完成情况等)。
(2)成本性能度量元(实际与计划的对照,用来衡量成本的不一致情况)。
(3)工作量性能度量元(人时数、人月数实际与计划的对照,用来衡量工作量的不一致情况)。
(4)需求管理度量元(需求追踪矩阵中增加的、删除的、修改的需求数量,衡量需求易变性)。
(5)程序规模度量元(源码行数、页数,实际与计划的对照)。
(6)测试性能度量元(需要执行的测试用例数、已经执行通过的测试用例数)。
(7)度量度量元(未解决的问题、解决完成的问题、缺陷数、严重缺陷数、缺陷密度、缺陷来源)。
(8)过程性能度量元(完成的任务、行动项数)。
(9)计算机资源利用情况度量元(内存占有量、CPU占有量)。
(10)管理计划项目过程的性能度量元(对照实际进展做估计、重计划、项目总结数据)。
派生度量元通常表示为比率、复合指标或其他累计度量,有更加量化的可靠性和有意义的解释。可能使用的派生度量元如下:
(1)挣值(Earned Value,EV)。
(2)进度性能指标(Schedule Performance Index,SPI)。
(3)缺陷密度(Defect Density),发现的缺陷数目与规模的比值。
(4)同行评审覆盖率(Peer Review Coverage)。
(5)测试或验证覆盖率(Test or Verification Coverage)。
(6)可靠性度量(Reliability Measures),如平均故障间隔时间(Mean Time to Failure)等。
(7)质量度量(Quality Measures),如严重缺陷数/总缺陷数(Number of Defects by Severity/Total Number of Defects)等。
以上这些度量元中,对过程改进和开发最为关键的基本度量元包括项目的规模、投入的成本、工作量、项目进度,这些控制量的期望值及其阈值。而衡量软件质量的度量元,除这些外,还包括了生命周期不同阶段的缺陷数据及各种分布情况,确保缺陷被准确地记录和跟踪,并客观地依据缺陷状况对软件过程和最终发布进行决策。
文章来源于领测软件测试网 https://www.ltesting.net/