一、实验目的与要求
实验目的
1.掌握软件测试技术中白盒测试方法;
2.掌握如何进行单元测试
实验要求
1.设定固定的时间和质量要求,以便测试如何平衡时间、范围和质量之间的关系。
2.确定软件项目的范围和需求,以便在接下来的测试中使用。
3.根据软件项目的范围和需求,确定开发时间,以便在接下来的测试中使用。
4.测试软件项目的质量是否符合要求,并记录测试结果。
通过增加开发时间或减少软件项目的范围,测试如何平衡时间、范围和质量之间的关系,并记录测试结果。
5.分析测试结果,并找到平衡时间、范围和质量的最佳方法。
6.编写实验报告,包括实验步骤、测试结果和分析、结论和建议。
二、实验环境
-
WINDOWS10 ;
vscode;
codeBlocks。
-
三、实验内容
-
输入三个数a b c分别为三边的边长构成三角形,通过程序判定所构成的三角形是一般三角形,等腰三角形还是等边三角形。用等价划分方法为该程序设计测试用例。
1.1三角形问题描述。
1.2三角形问题分析与设计。
1.3三角形问题实现。
-
四、测试用例描述及实验步骤
-
用例描述
一般三角形:
((a>0)∩(b>0) ∩(c>0))∩(a<=0 ∪b<=0 ∪ cK<=0)∩
(((a+b)>c) ∪ ((a+c)>b) ∪ ((b+c)>a)) (1)
(((a+b)<=c) ∪ ((a+c)<=b) ∪ ((b+c)<=a))(2)
等腰三角形: (1)∩(a=b ∪ a-c ∪ b=c)(3)
(2)∪(a! =b A b!=c ∩ a!=c)(4)
等边三角形:
(1)∩(a=b=c)(5)
(2)∪(a! =b!=c)(6)
a<=0||b<=0||c<=0(7)
流程图如图1:
-
实验代码
-
#include<stdio.h> void main() { int a,b,c; printf("请输入三角形得三条边:\n"); scanf("%d",&a); scanf("%d",&b); scanf("%d",&c); if(a+b>c&&a+c>b&&b+c>a) { if(a<=0||b<=0||c<=0) printf("非法输入"); if(a==b&&a==c&&b==c) printf("等边三角形"); else if(a==b||a==c||b==c) printf("等腰三角形"); else printf("一般三角形"); } else printf("非一般三角形!"); }
五、调试过程及实验结果
-
测试用例
-
输入数据
覆盖测试用例
输出结果
测试用例1
3 4 5
(1)
一般三角形
测试用例2
1 4 5
(2)
非一般三角形
测试用例3
3 3 5
(3)
等腰三角形
测试用例4
3 3 3
(5)
等边三角形
测试用例5
3 4 9
(4)
非一般三角形
测试用例6
-1 0 1
(7)
非法输入
测试用例7
9 3 2
(2)
非一般三角形
测试用例8
2 2 1
(3)
等腰三角形
测试用例9
10 8 8
(1)
一般三角形
测试用例10
0 8 9
(7)
非法输入
运行结果
-
六、总结
-
软件质量与测试实验为我们提供了很好的学习机会,但也需要我们在实践中不断完善和深入探索,以提高软件质量和测试效果。本次我进行了三角形问题的相关实验,总体来说完成了预定功能,可以进行等边三角形,等腰三角形,一般三角形和非一般三角形的判断。但仍存在一定的缺陷,并且实验界面也缺乏美观性,故而我认为可以优化的地方有很多,比如增加对数值判定要求的范围,美化界面设计,并且对字母字符进行一定的过滤。总之,这次实验让我学到了很多,让我切实的体会了测试的意义以及如何规范的进行测试,我在这次实验中获益匪浅,并会不断地继续在实验中成长进步。