这周和小伙伴结对构造程序,来深刻理解软件测试中,bug发现的三种状态。
1:不能触发Fault
2:触发Fault,但是不能触发Error
3:触发Error,但是不能产生Failure
我们完成的代码如下:
package test; import java.util.Scanner; public class Work1 { public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int number[]=new int[7];
System.out.println("请输入7个数");
for(int i=0;i<7;i++)
{
number[i]=input.nextInt();
}
for(int i=0;i<number.length;i++)
{
System.out.printf(number[i]+",");
}
System.out.printf("number.length:"+number.length+"\n");
double sum=0;
double avg=0.0;
int m=1;
//1:不能触发Fault if(m==2)
{
for(int i=1;i<number.length;i++)//Fault
{
sum+=number[i];
}
}
//avg=sum/(number.length*1.0);
System.out.println("Fault:sum:"+sum+",avg:"+avg);
//2:触发Fault,但是不能触发Error
sum=0;
for(int i=1;i<number.length;i++)//触发Fault,但是不能触发Error
{
sum+=number[i];
}
avg=sum/number.length;
System.out.println("触发Fault,但是不能触发Error:sum:"+sum+",avg:"+avg);
//3:触发Error,但是不能产生Failure
sum=0;
for(int i=1;i<number.length;i++)//触发Error,但是不能产生Failure
{
sum+=number[i];
}
avg=sum/number.length;
System.out.println("触发Error,但是不能产生Failure:sum:"+sum+",avg:"+avg);
input.close();
} }
输入输出结果如下:
在课堂上听老师讲可能自己理解的并不那么深刻,通过和小伙伴结对讨论完成编程的方法,能够理解的更透彻。