更新时间:2022-08-03 来源:黑马程序员 浏览量:
软件缺陷就是通常所说的Bug,它是指软件中(包括程序和文档)存在的影响软件正常运行的问题。IEEE(Institute of Electrical and Electronics Engineers,电气电子工程师协会)729-1983标准对软件缺陷有一个标准的定义:从产品内部看,缺陷是产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统运行过程中某种功能的失效或者违背。
软件缺陷的产生主要是由软件产品的特点和开发过程决定的,比如需求不清晰、需求频繁变更、开发人员水平有限等。归结起来,软件缺陷产生的原因主要有以下几点。
(1)需求不明确。软件需求不清晰或者开发人员对需求理解不明确,导致软件在设计时偏离客户的需求目标,造成软件功能或者特征上的缺陷。此外,在开发过程中,客户频繁变更需求也会影响最终的质量。
(2)软件结构复杂。如果软件系统结构比较复杂,很难设计出一个具有很好层次结构或组件结构的框架,这就会导致软件在开发、扩充、系统维护上的困难。即使能够设计出一个很好的架构,复杂的系统在实现时也会隐藏着相互作用的难题,从而导致隐藏的软件缺陷。
(3)编码问题。在软件开发过程中,程序员水平参差不齐,再加上开发过程中缺乏有效的沟通和监督,问题积累越来越多,如果不能逐一解决这些问题,会导致最终软件中存在很多缺陷。
(4)项目期限短。现在大部分软件产品开发周期都很短,开发团队要在有限的时间内完成软件产品的开发,压力非常大,因此开发人员往往是在疲劳、压力大、受到干扰的状态下开发软件,这样的状态下,开发人员对待软件问题的态度是“不严重就不解决”。
(5)使用新技术。现代社会,每种技术发展都日新月异。使用新技术进行软件开发的时候,如果新技术本身存在不足或开发人员对新技术掌握不精,也会影响软件产品的开发过程,导致软件存在缺陷。