软件测试作业2

Homework 2

public int findLast (int[] x, int y) {
//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
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
Questions
Identify the fault.
If possible, identify a test case that does not execute the
fault. (Reachability)
If possible, identify a test case that executes the fault, but
does not result in an error state.
If possible identify a test case that results in an error, but
not a failure.

 

  1. The findLast() function

Fault: In the for loop, it should search to 0, not 1;

Test1: no test case will not execute the fault

Test2: no test case will not result in an error state, cause array start with 0;

Test3:  x=[2,3,4]; y=3, the case results in an error that can not search to 0, but it does not cause a failure;

 

  1. The lastZero() function

FaultIn the for loop, it start searching with 0, while the function aims to find the last 0, so it should start with the last one in the x;

Test1:  x=[1,2,3], the case does not execute the fault, because it does not have 0;

Test2:  x=[0],  the case execute the fault, but it does not result in an error state;

Test3:  x=[1,0,1], the case result in an error, but it does not cause a failure;

 

 


posted @ 2017-03-02 13:51  wyp_run  阅读(127)  评论(0编辑  收藏  举报