Homework 2

Homework 2

软件工程3班         3015207191             林家乐

Below are two faulty programs. Each includes a test case that results in failure. Answer the following questions (in the next slide) about each program.

(1).Identify the fault.

(2).If possible, identify a test case that does not execute the fault. (Reachability)

(3).If possible, identify a test case that executes the fault, but does not result in an error state.

(4).If possible identify a test case that results in an error, but not a failure.

Due Date: 23:59:59 March 15. 

Please send your answer to tjuscsst@qq.comand post it to your blog. 

1.public int findLast(int[] x, inty) {              

//Effects: If x==null throw NullPointerException

// else return the index of the last element in x that equals y. 

// If no such element exists, return -1

for (int i=x.length-1; i> 0; i--) 

if (x[i] == y) 

{

return i; 

}

}

return -1; 

}

// test: x=[2, 3, 5]; y = 2

// Expected = 0

(1).for循环应为:for(int i=x.length-1; i >=0; i--)。

(2).test: x=[],即为一个空的数组,没有执行for循环,抛出NullPointerException异常。

(3).test: x=[314]y=1

  Expected =1

  执行了fault,但不会导致error状态。

(4).test: x=[314]y=2

  Expected =-1

  执行了error,但不会导致failure

    2.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).for循环应为:for(int i=x.length-1; i > =0; i–)。

(2).test: x=[],即为一个空的数组,没有执行for循环,抛出NullPointerException异常。

(3).test: x=[340]

  Expected =2

  执行了fault,但不会导致error状态。

(4)..test: x=[314]

  Expected =-1

  执行了error,但不会导致failure

posted @ 2018-03-12 17:06  3015207191  阅读(91)  评论(0编辑  收藏  举报