标签:
一、6个值得测试的具体部位,他们能够提高你的测试技巧
二、测试模块
测试在出现乘除法和加减法的过程中,是否会出现不符合运算规则的数据,比如出现除数为0的状况,判断程序运行数据的在其他模块中,在本模块的测试中,使用的数据为其他模块中确定好的数据范围(0-1000),并在测试过程中,强制出现除数为0 的错误条件,并使被减数大于减数,被除数大于除数,测试差出现负数以及商出现假分数是否正确
三、测试计划
R、通过输入代表性数据测试该模块运行结果是否正确
B、引用了外部条件,随机数生成划定范围,可以避免出现原始数据不在范围内的情况
I、通过对生成结果数据的检查判断是否对原始数据进行了处理
C、通过修改程序参数满足测试需求,检查结果
E、通过强制发生错误条件,测试该模块会出现什么样的结果
P、更改判断条件,检查结果是否满足要求
四、测试代码
1 // 测试.cpp : Defines the entry point for the console application. 2 // 3 /*有乘除法,对加减有负数模块进行测试*/ 4 #include "stdafx.h" 5 #include"stdlib.h" 6 #include"iomanip.h" 7 #include"iostream.h" 8 #include"string" 9 using namespace std; 10 11 int main() 12 { 13 int a,b,c,d; 14 string judge1="Y"; 15 string judge2="Y"; 16 cout<<"允许加减结果出现负数,允许乘除法出现结果是假分数"<<endl; 17 cout<<"请随机输入两个数:空格键隔开"<<endl; 18 cin>>a>>b; 19 cout<<"请输入要测试的运算( 0:加法 1:减法 2:乘法 3:除法)"<<endl; 20 cin>>c; 21 /*设置右对齐*/ 22 cout.flags(ios::right); 23 if((judge1=="Y"||judge1=="y")) //允许假分数 24 { 25 switch(c) //随机产生运算符 26 { 27 case 0: 28 cout<<setw(4)<<a<<‘+‘<<b<<‘=‘; 29 break; 30 case 1: 31 if(judge2=="Y"||judge2=="y") //允许负数结果出现 32 { 33 cout<<setw(4)<<a<<‘-‘<<b<<‘=‘; 34 } 35 else 36 { 37 if(a>=b) 38 cout<<setw(4)<<a<<‘-‘<<b<<‘=‘; 39 else 40 cout<<setw(4)<<b<<‘-‘<<a<<‘=‘; 41 } 42 break; 43 case 2: 44 cout<<setw(4)<<a<<‘*‘<<b<<‘=‘; 45 break; 46 case 3: //判断生成除法的条件,除数不能为零 47 if(a!=0&&b==0) 48 cout<<setw(4)<<b<<‘/‘<<a<<‘=‘; 49 else if(a==0&&b!=0) 50 cout<<setw(4)<<a<<‘/‘<<b<<‘=‘; 51 else if(a==0&&b==0) 52 cout<<setw(4)<<a<<‘/‘<<b+1<<‘=‘; 53 else 54 cout<<setw(4)<<a<<‘/‘<<b<<‘=‘; 55 break; 56 } 57 58 } 59 else //不允许假分数出现 60 { 61 switch(c) 62 { 63 case 0: 64 cout<<setw(4)<<a<<‘+‘<<b<<‘=‘; 65 break; 66 case 1: 67 if(judge2=="Y"||judge2=="y") //允许负数结果出现 68 { 69 cout<<setw(4)<<a<<‘-‘<<b<<‘=‘; 70 } 71 else 72 { 73 if(a>=b) 74 cout<<setw(4)<<a<<‘-‘<<b<<‘=‘; 75 else 76 cout<<setw(4)<<b<<‘-‘<<a<<‘=‘; 77 } 78 break; 79 case 2: 80 cout<<setw(4)<<a<<‘*‘<<b<<‘=‘; 81 break; 82 case 3: //真分数判断 83 if(a<=b&&b!=0) 84 cout<<setw(4)<<a<<‘/‘<<b<<‘=‘; 85 else 86 cout<<setw(4)<<b<<‘/‘<<a<<‘=‘; 87 break; 88 } 89 } 90 cout<<endl; 91 cout<<"是否继续 是(1)否(0)"<<endl; 92 cin>>d; 93 if(d==1) 94 main(); 95 else 96 return 0; 97 }
五、测试结果
加法测试结果
减法测试结果
乘法测试结果
除法测试结果
六、测试结果分析
在程序编写过程中,每个模块要有相应的测试模块,才能避免整个程序完成后,发生出现问题很难找到或者找不到出现错误的地方,另外,编写测试模块,可以帮助完善整个程序,是一种很好的编程习惯
标签:
原文地址:http://www.cnblogs.com/zhshto/p/4342353.html