1、Bug的类型:
Fault:静态存在于软件中的缺陷,如code写错了。
Error:软件运行时,运行到fault触发产生错误的中间状态。
Failure:Error传不到软件外部,使得用户或测试人员观测到失效的行为。
2、Pie模型的三个必要条件:
(1)Execution/Reachability:执行必须通过错误的代码
(2)Infection:在执行错误代码时必须触发一个错误的中间状态
(3)Propagation:错误的中间状态必须传播到最后输出,使得观测到的输出结果和预期结果不一致,即失效。
3、总结:
【tips】产生fault的程序,可能在测试时不会触发错误的中间状态;同理,触发错误的中间状态可能不会使测试人员观察到失效的行为。
【prob】有没有一个fault,任何测试都不会将其测试出来?这样还能称之为fault吗?
【ans】有这样的fault。