三角形白盒测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南华大学
计算机学院
实验报告
(2018 秋季学期)
课程名称软件验证与确认 A 实验名称白盒测试设计与实现
姓名学号
专业软件工程班级 2 班
地点8-606 教师楚燕婷
1 编写目的
输入三角形的三条边,判断三角形的类型,并返回三角形的详细类型
2 软件单元功能需求描述
设计判定三角形程序以及单元测试,完成对输入三个数值能否组成三角形的判
3 单元结构
列出核心部分源代码,并画出本单元的组织结构,分析包括本单元包括的属性、方法、输入/输出等。
流程图:
测试代码:
package timu;
import org.junit.Test; public class TestUnit {
public void calculator( double a, double b, double c){ if ( a<0|| b<0|| c<0) {
System. out .println( " 三角形边数不能为负数!");
}
// 能计算成三角形
else if (( a+b)> c&&(b+c)> a&&( c +a )> b) {
if ( a==b|| b== c || a==c) { if (( a ==b &&b== c &&a==c )) {
System. out .println( " 构成等边三角形!");
} else {
System. out .println( " 构成等腰三角形!" );
}
}
if (( a*a+b*b==c*c)||( a*a+c*c==b*b)||( c* c +b* b== a* a)) { if (( a==b|| b==c|| a==c)) {
System. out .println( " 构成等腰直角三角形!" );
} else
System. out .println( " 构成直角三角形!" );
}
else { System. out .print( " 能构成一般三角形!");
}
}
else
System. out .println( " 边数分别为:" +a+"," +b+"," +c+" 不能构成三角形!");
}
@Test public void Test01Unit() {
TestUnit t =new TestUnit();
t .calculator(-3, 4, 5);
t .calculator(2, 3, 3);
t .calculator(3, 3, 3);
t .calculator(3, 4, 5);
t .calculator(2, 6, 7);
t .calculator(1, 1, 2);
}
}
4 测试设计
该单元测试使用了判定覆盖以及条件判定覆盖,基本覆盖率为100%。使用的是JAVA自带的Junit ,列举部分测试用例结果图。
结果图:
5 测试结果
5.1 测试用例
测试用例执行结果统计表
测试项测试用例号输入预计输出测试结果
基本路径的判定:如图所示。
Test13
Test14
Test15
a=-3,b=4,c
角形!
三角形边数三角形边数不
=5不能为负数!能为负数!
a=3,b=6,c=能构成一般三能构成一般三角
7角形!形!
a=95533,b=
2,c=95533
能构成一般
三角形!构成
等腰三角形
边数分别为:
98833.0,2.0,
95533.0 不能构成
三角形!ProcessOn 线条没法弯折,见谅)
6 错误统计
7 质量评估
该单元测试完好的完成了目标需求,并能判定三角形的具体类型,质量较好,但可以设计更好的单元结构使判断锐、钝等普通三角形,可以继续改进。
8 总结
本次实验良好的完成了目标单元测试功能,对于白盒测试有了更加确切的认知,有时不细心可能会误漏判定覆盖测试用例,需谨慎注意,力求100%覆盖,对于条件判定覆盖用例过多列举了部分。需要更加详尽的改善对普通三角形的判定,会继续改进。