一、题目描述
构造程序并测试,分别是:
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:测试
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在软件测试方面的意义。