第二次作业

public static int lastZero (int[] x) { //Effects: if x==null throw NullPointerException // else return the index of the LAST 0 in x. // Return -1 if 0 does not occur in x for (int i = 0; i < x.length; i++) { if (x[i] == 0) { return i; } } return -1; } // test: x=[0, 1, 0] // Expected = 2
--------------------------------------------------------------------------
1. Identify the fault.
for循环中的判断条件应该为:for (int i=x.length-1; i >= 0; i--)
2. If possible, identify a test case that does not execute the fault. (Reachability)
text:x=[];
测试结果:抛出空指针异常,没有执行下面的程序,没有执行fault
3.If possible, identify a test case that executes the fault, but does not result in an error state.
text:x=[3,2,1]
expected=1
测试结果:执行了含有fault的程序,但是并没有产生错误,即执行了fault,没有执行error
4.If possible identify a test case that results in an error, but not a failure.
test: x=[3, 2, 5]; y = 1
expected = -1
测试结果:没有遍历x=1,直接返回了-1,因此执行了error,没有执行failure
--------------------------------------------------------------------------
public static int lastZero (int[] x) {

    //Effects: if x==null throw
                    NullPointerException
    // else return the index of the LAST 0 in x.
    // Return -1 if 0 does not occur in x
    for (int i = 0; i < x.length; i++)
    {
         if (x[i] == 0)
        {
              return i;
         }
     } return -1;
}
// test: x=[0, 1, 0]
// Expected = 2
---------------------------------------------------------------------------------------

1.Identify the fault.
for循环中的判断条件应该为:for(int i=x.length-1; i > =0; i–-);
2.If possible, identify a test case that does not execute the fault. (Reachability)
test: x=[];
测试结果:抛出空指针异常,没有执行下面的程序,则没有执行fault
3.If possible, identify a test case that executes the fault, but does not result in an error state.
test: x=[1, 2, 0]
Expected = 2
测试结果:执行了含有fault的程序,但是并没有产生错误,即执行了fault,没有执行error
4.If possible identify a test case that results in an error, but not a failure.
test: x=[3, 2, 5];
Expected = -1
测试结果:遍历到i=3时,返回了-1,不符合设计目的,因此执行了error,没有执行failure

转载于:https://www.cnblogs.com/leimingmwj/p/8577063.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值