软件缺陷是什么

发生了软件失败,软件未按照预期目标运行。

软件失败的术语:缺点(defect)、偏差(variance)、故障(fault)、失败(failure)、问题(problem)、错误(error)、缺陷(bug) ......

软件缺陷的定义

  • 首先要了解什么是“产品说明书”,它是开发小组的一个协定,它对开发的产品进行定义,给出产品的细节、如何做、做什么、不能做什么,有从简单口头说明到正式的书面文档等多种形式。

至少满足下列5个规则之一时,才称为发生了一个软件缺陷(software bug):

  1. 说明书要求了,但软件未实现
  2. 说明书未提及,但实现了的功能
  3. 说明书指明不应该出现的错误,软件出现了
  4. 说明书没有明确提及,但应该实现的
  5. 软件难以理解、不易使用、运行缓慢 —— 最终用户认为不好

这里可以从炒菜的角度理解。比如顾客点了一盘青椒炒蛋,没放青椒不行、擅作主张额外放了西红柿也不行、顾客说不要太辣,但辣椒是用的非常辣的品种、顾客没说,但菜里出现了不少鸡蛋壳、最后上菜了,你准备了勺子但没有筷子,不容易吃,而且上菜慢,人都快饿死了,最终顾客认为不好!

为什么会出现软件缺陷

对众多从小到大的项目进行了研究得出的结论往往是一致的,导致软件缺陷的最大的原因是产品说明书,第二大原因就是设计。在很多情况下,说明书没写;说明书不全面、经常改,或者开发小组没有很好的沟通。设计的原因也是类似的。

软件缺陷的修复费用

伴随着开发流程的推进,发生缺陷时,问题修复的费用呈指数级增长,在说明书阶段,只需要修改说明书即可;而到了编码阶段,需要修改编码,而编码包含很多部分;到了发布时,发生软件缺陷可能导致用户产生损失,如“迪斯尼狮子王”的实例。

软件测试员究竟做些什么

软件测试员的目标时尽可能早的找出软件缺陷,并确保其得到修复。

注意:“修复”缺陷并非指一定要改正软件,也可以是指在用户手册中增加一段注释或为用户提供培训。

最后修改:2024 年 08 月 03 日
如果觉得我的文章对你有用,就是对我最好的赞赏。