软件测试学习(2)

分析下面两段代码,并回答下面问题。

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.

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

1.for循环中,i>0应改为i>=0;

2.x=[];

3.x=[1,2,3]; y=2;

4.x=[1,2,3]; y=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

1.for循环中,int i=0;i<x.length;i++应改为int i = x.length-1;i>=0;i--;

2.x=[];

3.x=[0];

4.x=[0,1,2];

posted @ 2016-03-10 22:06  LoN丶ginus  阅读(187)  评论(0编辑  收藏  举报