
上QQ阅读APP看书,第一时间看更新
1.3 什么是缺陷
系统缺陷(defect,非正式地称为bug)是系统或组件的瑕疵或弱点,可能会导致它以意想不到的、不想要的方式来表现或展现出意外的、不必要的特性。缺陷与以下内容相关但有所不同:
·错误 人为引起缺陷的错误(例如,编程错误或输入不正确的数据)
·故障 是在系统内部而不是从系统边界之外直接可见的不正确的条件(例如,系统存储不正确数据或者是处在不正确的模式或状态)
·失效 使系统明显不正确的表现或具有不正确的特性的事件或条件(即它的一个或多个表现或特性不同于利益相关者所合理预期的)
常见缺陷的例子包括以下瑕疵或弱点:
·缺陷可能会导致SUT违反明确的(或不明确)需求,包括:
·功能性需求
·数据需求
·接口需求
·质量需求
·架构、设计、实施和配置约束
·当SUT符合不正确或不必要的需求时也可导致缺陷。
·缺陷可导致SUT:
·不能表现应该的行为
·遗漏应该具有的特性
·表现它不应该有的行为
·具有不该有的特性
·缺陷会导致SUT与架构或设计不一致。
·不正确或不恰当的架构、设计、实施、配置决策会导致缺陷。
·缺陷可以违反设计准则或编码标准。
·缺陷可以是安全或安保漏洞(例如,使用固有不安全的语言功能或未能验证输入数据)。