三角形白盒测试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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%覆盖,对于条件判定覆盖用例过多列举了部分。需要更加详尽的改善对普通三角形的判定,会继续改进。

相关文档
最新文档