一、实验目的

(1)掌握JUnit的参数化测试

(2)掌握基于边界值分析方法进行黑盒测试

(3)理解设计测试用例时实数与整数的差异

二、实验环境(仪器设备、软件等)

Junit5、Eclipse

三、实验原理(或要求)

(1)每个测试用例至少包含编号,输入和预期输出三项内容

(2)按照测试用例进行测试并记录测试结果,将测试结果与预期结果进行比较,分析程序中是否有错误、失效和故障

(3)使用JUnit5完成实验

四、实验步骤

(1)练习参数化的JUnit测试

运行测试,观察在Hello.java中是否存在Error或Failure。

(2)重新改写教材上例2-8三角形问题的程序,使其接受实数作为参数,利用边界值分析方法设计测试用例,使用JUnit运行测试用例,记录和分析测试结果。

五、记录与处理(实验数据、误差分析、结果分析)

1.练习参数化的JUnit测试

Hello代码:

使用Junit5的代码进行测试:

运行测试,观察在Hello.java中存在一个Failure。

是因为测试的数据中“0,3,2”,3+2不等于0,所以测试出现了Failure

2.重新改写教材上例2-8三角形问题的程序,使其接受实数作为参数,利用边界值分析方法设计测试用例使用JUnit运行测试用例,记录和分析测试结果。

3.设计测试用例:

(1)边长必须为正数:

至少有一条边长≤0(非法输入)

(2)非三角形:

三角形有效性条件:

不满足三角形不等式(任意两边之和≤第三边)

(3)三角形类型条件:

等边三角形(a=b=c)

等腰非等边三角形(a=b≠c 或 a=c≠b 或 b=c≠a)

一般三角形(a≠b≠c≠a)

(4)边长必须为数字:

      如果输入了浮点数、字母、特殊符号、空格、空白等,会显示“边长必须为数字”

4.导出测试用例,基于测试覆盖项,设计具体的测试用例:

编号

a

b

c

预期输出

说明

1

0

5

5

边长必须为正数

a为下边界值0

2

0.0000001

5

5

等腰非等边三角形

a略大于下边界

3

-0.0000001

5

5

边长必须为正数

a略小于下边界

4

5

0

5

边长必须为正数

b为下边界值0

5

5

0.0000001

5

等腰非等边三角形

b略大于下边界

6

5

-0.0000001

5

边长必须为正数

b略小于下边界

。。。

。。。。。

5

。。。

。。。

37

null

5

5

边长必须为数字

null输入

5. JUnit测试类实现代码

项目如下:

实现三角形判断程序:

测试结果通过,所有测试用例通过:程序实现正确

六、思考题

(1)在软件测试中为什么需要在边界值处进行测试?

七、实验小结

本次实验围绕黑盒测试展开,重点学习了JUnit参数化测试与边界值分析方法的应用,通过具体案例实践,我加深了对黑盒测试技术的理解,并掌握了利用JUnit5进行自动化测试的基本流程。

八、源文件实验报告提取链接 


通过网盘 分享的文件:
链接: https://pan.baidu.com/s/1grJ6ohwR_svNbvH2pk5igg?pwd=mj2u 提取码: mj2u
 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐