你的位置:首页 > ASP.net教程

[ASP.net教程]PIE结对项目编程


一、题目描述    

   

      构造程序并测试,分别是:


    1.不能触发Fault。
    2.触发Fault,但是不能触发Error。
    3.触发Error,但是不能产生Failure。

 

二、结对对象

            结对对象博客:

 

            结对照片:

 

            贡献比例:

三、构造程序并测试

1.不能触发Fault.

       

         1.1:构造例子:判断一个数是不是正数还是负数,是正数返回,否则返回-1.   

 

 1 #include<stdio.h> 2 int signNumber(int i); 3 int main(){ 4   int a,flag; 5   printf("please input:"); 6   scanf("%d",&a); 7   flag=signNumber(a); 8   if(flag==1){ 9     printf("你输入的是正数\n");10   }else{11     printf("你输入的是负数\n");12   }13   return 0;14 }15 16 int signNumber(int i){17   if(i>0){18    return 1; //正数返回1,否则返回-119   }20   return -1;21 }

 

        1.2:分析:程序在第20行存在fault,没考虑输入数据为0的情况

 

        1.3:测试

                  

        1.4:结果:存在fault但没触发.

 

2.触发Falut,但是不能触发Error.

     

         2.1:构造例子:输入三个数,求其中最大值与最小值之和。

 

 1 #include<stdio.h> 2 int main(){ 3   int a[4]; 4   int max,min; 5   scanf("%d,%d,%d",&a[0],&a[1],&a[2]); 6   max=min=a[0]; 7   for(int i=0;i<3;i++){ 8     if(a[i]>=max){ 9       max=a[i];10     }11     if(a[i]>=min){12       min=a[i];13     }14   }15   16   int sum=max+min;17   18   printf("%d",sum);19 }

 

        2.2:分析:代码11行有fault,求最最小值变成了求最小值

 

        2.3:测试:input:2,2,2

                     max=2,min=2;

 

         2.4:  结果:触发了fault,但没触发Error.

 

3.触发Error,但是不能产生Failure。

        3.1:构造例子:输入三个数,求其中最大值与最小值之和。

     

 1 #include<stdio.h> 2 int main(){ 3   int a[4]; 4   int max,min; 5   scanf("%d,%d,%d",&a[0],&a[1],&a[2]); 6   max=min=a[0]; 7   for(int i=0;i<3;i++){ 8     if(a[i]<max){ 9       max=a[i];10     }11     if(a[i]>min){12       min=a[i];13     }14   }15   16   int sum=max+min;17 18   printf("%d",sum);19 }

     3.2:分析:最大值和最小值求反了。

    

     3.3:input:1,2,3

              max=1,min=3; error

              output:sum=4;

 

     3.4:触发了Error,但没触发failure

 

三、总结

      在这次结对编程中,发现与同学的配合更加默契,编程序的时候更加高效,考虑更全面,同时明白了fault,error,failure在软件测试方面的意义。