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,否则返回-1
19     }
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=1;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在软件测试方面的意义。

posted @ 2016-04-12 22:28  鱼儿游上天  阅读(540)  评论(2编辑  收藏  举报