【软件质量与测试】实验二:黑盒测试(二)
一、实验目的
(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
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)