三角形白盒测试

合集下载
  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 测试用例

测试用例执行结果统计表

基本路径的判定:(ProcessOn 线条没法弯折,见谅) 如图所示。

角形!

Test13 a=-3,b=4,c =5

三角形边数不能为负数! 三角形边数不能为负数!

Test14

a=3,b=6,c=7 能构成一般三角形!

能构成一般三角形!

Test15

a=95533,b=2,c=95533

能构成一般

三角形!构成等腰三角形

边数分别为:98833.0,2.0,95533.0不能构成三角形!

注:测试用例已经完全覆盖(对于该测试)。因用例可能过多,列举一部分。

6错误统计

7质量评估

该单元测试完好的完成了目标需求,并能判定三角形的具体类型,质量较好,但可以设计更好的单元结构使判断锐、钝等普通三角形,可以继续改进。

8总结

本次实验良好的完成了目标单元测试功能,对于白盒测试有了更加确切的认知,有时不细心可能会误漏判定覆盖测试用例,需谨慎注意,力求100%覆盖,对于条件判定覆盖用例过多列举了部分。需要更加详尽的改善对普通三角形的判定,会继续改进。

相关文档
最新文档