PIE结对项目编程

时间:2024-10-03 22:06:08

一、题目描述

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

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

二、结对对象

            结对对象博客:

            结对照片:

            贡献比例:

三、构造程序并测试

1.不能触发Fault.

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

 #include<stdio.h>
int signNumber(int i);
int main(){
int a,flag;
printf("please input:");
scanf("%d",&a);
flag=signNumber(a);
if(flag==){
printf("你输入的是正数\n");
}else{
printf("你输入的是负数\n");
}
return ;
} int signNumber(int i){
if(i>){
return ; //正数返回1,否则返回-1
}
return -;
}

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

1.3:测试

PIE结对项目编程

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

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

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

 #include<stdio.h>
int main(){
int a[];
int max,min;
scanf("%d,%d,%d",&a[],&a[],&a[]);
max=min=a[];
for(int i=;i<;i++){
if(a[i]>=max){
max=a[i];
}
if(a[i]>=min){
min=a[i];
}
} int sum=max+min; printf("%d",sum);
}

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

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

max=2,min=2;

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

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

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

 #include<stdio.h>
int main(){
int a[];
int max,min;
scanf("%d,%d,%d",&a[],&a[],&a[]);
max=min=a[];
for(int i=;i<;i++){
if(a[i]<max){
max=a[i];
}
if(a[i]>min){
min=a[i];
}
} int sum=max+min; printf("%d",sum);
}

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

3.3:input:1,2,3

max=1,min=3; error

output:sum=4;

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

三、总结

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