测试反模式:有效规避常见的92种测试陷阱
上QQ阅读APP看书,第一时间看更新

1.3 什么是缺陷

系统缺陷(defect,非正式地称为bug)是系统或组件的瑕疵或弱点,可能会导致它以意想不到的、不想要的方式来表现或展现出意外的、不必要的特性。缺陷与以下内容相关但有所不同:

·错误 人为引起缺陷的错误(例如,编程错误或输入不正确的数据)

·故障 是在系统内部而不是从系统边界之外直接可见的不正确的条件(例如,系统存储不正确数据或者是处在不正确的模式或状态)

·失效 使系统明显不正确的表现或具有不正确的特性的事件或条件(即它的一个或多个表现或特性不同于利益相关者所合理预期的)

常见缺陷的例子包括以下瑕疵或弱点:

·缺陷可能会导致SUT违反明确的(或不明确)需求,包括:

·功能性需求

·数据需求

·接口需求

·质量需求

·架构、设计、实施和配置约束

·当SUT符合不正确或不必要的需求时也可导致缺陷。

·缺陷可导致SUT:

·不能表现应该的行为

·遗漏应该具有的特性

·表现它不应该有的行为

·具有不该有的特性

·缺陷会导致SUT与架构或设计不一致。

·不正确或不恰当的架构、设计、实施、配置决策会导致缺陷。

·缺陷可以违反设计准则或编码标准。

·缺陷可以是安全或安保漏洞(例如,使用固有不安全的语言功能或未能验证输入数据)。