黑盒测试着重测试软件功能,它并不涉及程序的内部结构和内容特性,主要根据规格说明,只依靠被测试程序的输入和输出之间关系或程序的功能来设计测试用例。
白盒测试则清楚程序内部的结构以及是如何运作的,因此白盒测试需要对系统内部的结构和工作原理有一个清楚的了解。
程序
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | #include<stdio.h> #include<stdlib.h> #define N 2<<25 int a=N,b=N,c=N,d=N; void shuru(); void panduan(int a1,int b1,int c1); int main() { char se; shuru(); panduan(a,b,c); while(1) { printf("是否要继续 y or n :"); scanf("%c",&se); if(se=='\n') scanf("%c",&se); switch(se) { case 'y': shuru(); panduan(a,b,c); break; case 'n': return 0; } } } void shuru() { printf("Please enter 三角形三边 (a,b,c)\n"); while(!scanf("%d,%d,%d,%d",&a,&b,&c,&d)){//判断非数字字符 fflush(stdin);//清理缓存 a=N;b=N;c=N;d=N; printf("输入错误、n"); } fflush(stdin); while((a<1||a>100)||(b<1||b>100)||(c<1||c>100)||d!=N) { if(b==N||c==N||d!=N) printf("输入错误、n");//边数为 1、2、4 条 else if(a==0||b==0||c==0) printf("边长不能为 0\n"); else if(a<0||b<0||c<0) printf("边长不能为负、n"); else printf("Please enter 1-100 之间的整数、n"); a=N;b=N;c=N;d=N; while(!scanf("%d,%d,%d,%d",&a,&b,&c,&d)){//判断非数字字符 fflush(stdin);//清理缓存 a=N;b=N;c=N;d=N; printf("输入错误、n"); } fflush(stdin); } } void panduan(int a1,int b1,int c1) { if(a1+b1>c1&&b1+c1>a1&&a1+c1>b1) { if(a1==b1&&a1==c1) printf("等边三角形、n"); else if(a1==b1||a1==c1||b1==c1) printf("等腰三角形、n"); else printf("一般三角形、n"); } else printf("非三角形、n"); } |
---|
测试
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICMyYTMvw1dvwlMvwlM3VWaWV2Zh1Wa-cmbw5Scwt2bvp3Nr1WYvwFOmZ2NxMTNiR2M0MjYtUGall3LcdXYy9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)