第 5 章 缺陷管理 5 .1 简 介 异 常 ( Anomaly) : 任 何 和 基 于 需 求 文 档 、设计文 档 、用户文 档 、标准或者个人的期望和 预期之间偏差的情况,都可以称为异 常 。异 常 可以在但不限于 下面的过程中识别: 评审(Review)、测试分析(Test Analysis)、编译(Compilation)、软件产品或应用文 档 的使用等。 缺陷( Defect/Bug) : 可能会导致软件组件或系统无法执行其定义的功能的瑕疵,例如: 错误的语句或变量定义。如果在组件或系统运行中遇到缺陷,可能会导致运行的失败。 5 软件测试管理 软件测试管理 2 5 4 错 误 ( Error) : 人 为 产 生 不 正 确 结 果 的 行 为 。 失 效 ( Failu re): 组 件 /系 统 与 期 望 的 交 付 、服务或结 果 存在的 偏差,失 效 是缺陷的 外部反映。 事件 ( Incident) : 任何有必要调查的 事情。 事件(Incident)主要涉及任何与预期之间存在偏差的情形。而预期可以来自具体的文档,例如:软件需求规格说明、软件设计规格说明,也可以来自软件项目利益相关者的经验和直觉。在软件测试过程中,除了事件之外,具有类似意思的概念还有错误(Error/Mistake)、失效(Failu re)、异常(Anomaly )和缺陷(Defect)等。 所有的人都会犯错误,因此,由人设计的代码、系统和文档中都可能会引入缺陷。当存在缺陷的代码被执行时,系统就可能无法执行期望的指令(或者做了不应该执行的指令),从而引起软件失效。虽然软件、系统和文档中的缺陷可能会引起失效,但并不是所有的缺陷都会这样。 从上面的术语定义中,可以看出错误、缺陷和失效之间的关系:人为的错误导致一个不正确的结果,这个不正确的结果可以是程序内的内部错误,也可能是文档内的错误;而内在的缺陷是人为错误的具体表现,可以是不正确的文档、程序段、指令或数据定义,它们可能会引起一个外部的失效;失效是在执行软件时缺陷的外部反映,失效也可能是由于环境条件引起的,例如:放射、电磁辐射和污染等都有可能引起硬件的故障,或者由于硬件条件的改变而影响软件的执行。它是期望的结果与实际观察到的结果存在的偏差,如系统的不正确的反应、崩溃、死机等。 在实际的应用中,各个组织和项目更多地采用缺陷,而不是事件、错误或者其他术语,所以本章中主要使用缺陷这个词代表上述的各种情形。 软件测试是评估软件产品质量的一个重要手...