在做作业之前我们首先要明确软件测试过程中的几个名词:
Fault:在软件测试中,fault是指程序中静态的缺陷,也就是指在程序中存在的编程错误。
Error:在软件测试中,error是指由于程序中存在的fault而产生的不正确的内在状态。
Failure: 在软件测试中,failure是指程序产生与我们期望不同的结果,强调外在表现。
作业内容:
分析:
1、第一个程序的fault是:i>0不能满足条件,应改为i≥0.
第二个程序的fault是:应该从后往前搜索而不是从前往后
2、设计一个不执行fault的测试用例。
第一个程序:x=null , y=2
第二个程序:x=null
3、设计一个执行fault但是不导致error的测试用例
第一个程序:x=[2,3,4] , y=4 //执行fault但是不受数组第一位(error处)影响
第二个程序:x=[1,0,1] //执行fault但是不受数组检索顺序(error处)影响
4、设计一个导致Error,但不导致Failure的测试用例
//受error处影响但是实际值与期待值相同,不产生Failure。
第一个程序:x=[1] , y=2 //expected:-1 , actual:-1
第二个程序:x=[0,1,2] //expected:0 , actual:0