鉴于这几个单词太容易混淆,软件错误、缺陷、故障、失效,在日常工作中基本大家都在混用,如果遇到真刀真枪做题的时候,就傻眼了。于是通过进行一些调研,总结了这么一句简单的话进行记忆
人为错误 -> 内部缺陷 -> 内部故障 ->外部失效
这句话不仅包含了这几个术语在生命周期的时间顺序,也体现了谁导致谁,还提现了软件内部和软件外部的概念。具体解释为:
- 首先是由于人都会犯错,在软件开发过程中,由于人的行为,才会导致最初的错误,播下了一颗devil的种子
- 由于人为的错误,给软件带来的后果是产生了内部缺陷,比如开发人员把判断逻辑写反了
- 接下来,当软件运行了,前一个步骤里的缺陷就被激活了,这就是软件故障,从内部和外部性质上,故障属于软件内部
- 最后,软件运行时产生的能被用户和测试人员感知到的,且不被希望不可接受的行为结果,就是失效这种外部行为结果
BTW,为什么强调内部和外部,不仅仅是为了说明这4个词之间关系,同样也是出题老师的一个出题点