软件质量度量:故障与可维护性解析
1. 软件质量概述
软件质量属性大多与代码的运行相关,如性能、可用性和安全性等。不过,软件质量有两个静态属性值得关注:软件故障和软件可维护性。目前,我们能够对可维护性进行度量,但对于软件故障的度量却存在困难。若能开发出一种工具,可自动检查源代码库并识别故障,那软件开发生态将迎来重大变革。然而,现实是我们往往只能在故障引发问题,或是对个别源代码模块进行深入审查时,才能发现它们。
2. 软件故障
- 故障定义与分类难题 :软件故障至今没有明确的定义,这给建立故障与度量之间的关联模型带来了挑战。从本质上说,故障是系统的一种物理特性,如同传统物理系统的属性一样,其类型和程度是可以被测量的。故障的产生源于人们在工作中所犯的错误,这些错误可分为作为错误(commission errors)和不作为错误(omission errors)。在故障分类中,主要有两类:作为故障和不作为故障。作为故障是指在不知情的情况下,故意实现了规范或设计中未包含的行为;不作为故障则是指设计中规定的行为未被实现。明确这些区别十分重要,它能让我们在检查时,将其作为过往发现的特定故障的清单。
- 故障识别与分类的重要性 :在统计故障时,需要一种明确、可重复且一致的识别方法,并且要与静态源代码测量的粒度保持一致。多年来对软件故障的仔细研究发现,大量被记录为代码故障的问题,实际上是设计故障,还有一些是规范故障。规范可能无法满足客户需求,若问题首先在代码中显现,这并非代码故障,而是程序规范故障。软件设计也可能无法实现软件需求规范,这类设计问题通常在软件测试阶段暴露,必须正确识别为设计
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



