软件测试实验报告
一、实验题目 软件测试实验环境搭建 二、实验内容 基于 JUnit 实现白盒测试用例 ? 记录测试结果 三、实验步骤 针对 com.ustc.biz 下的类设计简单测试用例 DatabaseConn.java GradeMgr.java StudentMgr.java 2. 基于 JUnit 编程实现 3. 撰写测试报告 ===junit 配置 首先创建测试文件夹 src\test 项目->属性->源,设置 test 文件夹 ? 问题 1、在对五个模块每个参数进行等价类划分时,有时候从一个选定的角 度划分会分出很多类(分的太细) ,导致在开始测试的时候用例太 多。 解决方法:在对每个参数进行等价类划分时,考虑是否有其他的划分角度, 找出一个最合适的方式对参数进行划分, 从而避免测试用例过多, 过于复杂。
四、实验结果
测试工具
用途 单元测试 工具名称 JUNIT 生产厂商 JUnit.org 版本 4.7/3.8
一、
针对此函数我们运用了等价类划分的方法生成 JUnit 测试用例总共划分
出 25 个用例,等价类分别是: ? 对 latitudeS 划分:-90 到 0,0 到 90 以及不合法输入; ? 对 longitudeS 划分:-180 到 0,0 到 180 以及不合法输入; ? 对 latitudeF 划分:-90 到 0,0 到 90 以及不合法输入; ? 对 longitudeF 划分:-180 到 0,0 到 180 以及不合法输入; ? 对半径 r 的划分:大于 0 以及不合法的输入; 以下为具体的测试用例:
实际测试结
latitudeS
30 30 30 30 30 30 30 30 -60 -60 -60 -60 -60 -60 -60 -60 120 -120 60 60 30
longitudeS latitudeF longitudeF
30 30 30 30 -60 -60 -60 -60 30 30 30 30 -60 -60 -60 -60 30 30 30 30 -210 30 30 -60 -60 30 30 -60 -60 30 30 -60 -60 30 30 -60 -60 60 60 120 -120 60 30 -120 30 -120 30 -120 30 -120 30 -120 30 -120 30 -120 30 -120 120 120 120 120 120
r
100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
预期结果 果 0 115.98 157.08 63.003 131.812 89.566 112.296 135.256 157.08 63.003 0 100.807 112.296 135.256 72.273 50.536 抛出异常 抛出异常 抛出异常 抛出异常 抛出异常 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过
30 30 30 30
210 30 30 30
60 60 60 60
120 -210 210 120
100 100 100 -100
抛出异常 抛出异常 抛出异常 抛出异常
通过 通过 通过 通过
1) 测试结果描述 一、 针对此函数我们运用了等价类划分的方法生成 JUnit 测试用例总共划分 出 22 个用例,分别是: ? 数组 a:可划分为合法输入与不合法输入(具体为 null) ; ? aOff:可以划分为<0 以及>=a.length; ? 数组 b:可划分为合法输入与不合法输入(具体为 null); ? bOff:可以划分为<0 以及>=b.length; ? len:可以划分为合法与不合法(具体包括 len<0 以及 len > a.length aOff || len > b.length – bOff; ? 此外,数组 a,b 还需考虑符号扩展问题。对于数组中元素,需分别考虑 其大于 0、小于 0 的情况(此时,其对应的无符号数大于或等于 0x80) 。 以下为具体的测试用例:
实际测试结 数组 a null {1,2,3} {1,2,3} {1,2,3} {1,2,3} {1,2,3} {1,2,3} {1,2,3,4} {1,2,3} {1,2,3}
aOff
1 -1 3 1 1 1 1 1 1 1
数组 b
{5,6,2,3} {5,6,2,3} {5,6,2,3} null {5,6,2,3} {5,6,2,3} {5,6,2,3} {5,6,2,3} {5,6,3,3} {5,6,0xf0,
bOff
2 2 2 2 -2 4 2 2 2 2
len
2 2 2 2 2 2 -1 3 2 2
预期结果 果 抛出异常 抛出异常 抛出异常 抛出异常 抛出异常 抛出异常 抛出异常 抛出异常 -1 -1 通过 通过 通过 通过 通过 通过 通过 通过 通过 通过
3} {5,6, {1,0xf0,3} {1,3,3} 1 0xf1,3} 1 {5,6,2,3} 2 2 1 通过 2 2 -1 通过
{1,0xff,3} {1,0xf1,3} {1,3,2} {1,3,0xf0} {1,3,3} {1,3,0xf1} {1,3,0xf1}
1 1
{5,6,2,3} {5,6,0xf0,
2 2
2 2 2 2 2 2 2
1 1 -1 -1 1 1 1
通过 通过 通过 通过 通过 通过 通过
3} 1 1 1} 1 1 1 0} {5,6,3,0xf {1,3,0xf0} 1 0} 2 2 0 通过 {5,6,3,2} {5,6,3,3} {5,6,3,0xf 2 2 2 {5,6,3,3} {5,6,3,0xf 2 2
五、实验的心得体会 实验中对于路径测试有了更深的理解,可以更好、更迅速的去划分路径,设 计测试用例,通过实验过程对其有了进一步的理解,可是感觉还有点模糊,课后 好好复习!