广东海洋大学学生实验报告书
实验名称 实验三 黑盒测试(2) 课程名称 学院(系) 学生姓名
软件测试
班级
成绩
实验日期
软件学院
学号
专业
软件工程 实验地点
一、 实验目的:
1. 掌握黑盒测试方法中的等价类划分方法和边界值分析方法。 2. 掌握组合分析工具Pict的使用
二、 实验内容:
1. 编写NextDate()函数,结合等价类划分方法和边界值分析方法来设计测试用例,并运行测试验
证是否存在缺陷。
(详细代码在后面的附录中) 测试程序源代码已检查
下面是对NextDate程序划分等价类: ? 年份在1900-2010内(含边界) ? 月份在1-12月内(含边界) ? 闰年二月29天 ? 输入必须是整数
? 输入月份对应天数一定 ? 输入必须是八个数 有效等价类 年份在1900-2010内(含边界) (1) 输入必须为整数 (2) 输入月份在1-12内(含边界)(3) 输入闰年2月29天(4) 输入月份正确天数(5) 输入为八个数(6)
根据等价类划分测试用例:
无效等价类 1. 年份小于1900(7) 2. 年份大于 2010(8) 输入非整数(9) 1.月份小于1(10) 2.月份大于12(11) 输入闰月无29号(12) 输入日期不与月份对应(13) 1. 输入大于八个数(14) 2. 输入小于八个数(15) 测试用例 19010331 20000229 19010228 18990130 覆盖等价类 (1)(2)(3)(5)(6) (1)(2) (3)(4)(5)(6) (1)(2)(3)(5)(6) (7) (2) (3) (5) (6) 20110130 *asd1238 19010030 19011330 19010229 19010332 190103112 1901312 (8)(2)(3)(5)(6) (1)(9)(3)(5)(6) (1)(2)(10)(5)(6) (1)(2)(11)(5)(6) (1)(2)(3)(12)(5)(6) (1)(2)(3)(13)(6) (1)(2)(3)(5)(14) (1)(2)(3)(5)(15)
2. 假设一个基于登录的测试集,需要如下参数:帐户、密码、验证码、按钮。每个参数都要列出其
对应的值,如下所示: 帐户名: 密码: 验证码: 按钮: 空,不存在,超长,超短,正常 空,超长,超短,不匹配,正常 空,超长,超短,不匹配,正常 确定,取消 上述的测试如果做完全的测试,需要多少个测试用例?请说明组合分析算法的思想,并使用Pict工
具生成测试用例。
1) 从列表可以看出,有250种组合方式。在短时间内对其做测试,将是非常困难的。研究表明,通
过PICT,测试用例的数量将大大降低;同时,也可保证很高的测试覆盖率。
2) 组合分析算法思想:
通过对测试变量的所有维度及维度的组合,避免穷举测试所有维度的所有值及其组合来减少测试用例数量的一种方法
3) PICT是一个命令行工具;测试用例的输入、输出可通过文本模式的文件进行。
C:\\Documents and Settings\\tongzhan>pict Pairwise Independent Combinatorial Testing Usage: pict model [options] Options: /o:N - Order of combinations (default: 2) /d:C - Separator for values (default: ,) /a:C - Separator for aliases (default: |) /n:C - Negative value prefix (default: ~) /e:file – File with seeding rows /r[:N] - Randomize generation, N – seed /c - Case-sensitive model evaluation /s - Show model statistics
PICT安装的时候,在系统环境中自动增加了PICT的PATH,所以可在任意路径下执行。 如直接通过PICT执行参数文档,测试用例会打印在屏幕上,如下所示:
D:\\测试方法\\两两测试>pict login.txt 帐户名 密码 验证码 按钮 不存在 空 不匹配 确定 空 正常 正常 取消 超长 不匹配 空 确定 超短 超短 空 取消 超短 空 超长 取消 空 超长 不匹配 确定 正常 超短 正常 确定 不存在 不匹配 超短 取消 空 正常 超短 确定 超长 超长 正常 取消 正常 正常 不匹配 取消 正常 不匹配 超长 确定 不存在 超长 正常 确定 超短 不匹配 正常 确定 不存在 正常 空 确定 超长 空 超短 取消 超短 超长 超短 取消 正常 空 空 确定 超短 超长 空 确定 超短 正常 正常 确定 空 超短 超短 确定 空 超短 超长 确定 正常 超长 超短 取消 不存在 空 正常 确定 超长 超短 不匹配 取消 超短 不匹配 不匹配 取消 超长 正常 超长 取消 空 空 空 确定 空 不匹配 超长 取消 不存在 超短 超长 取消 空 超长 超长 确定 也可把测试用例保存到指定文件中,如下所示: D:\\测试方法\\两两测试>pict login.txt > 登录.xls 三、 实验总结
通过本次试验加深了对黑盒测试中的“划分等价类”分析方法、“边界类”分析方法的了解。并学会了如何使用pict软件。
附录
NextDate()函数 源代码
1、调用java类库
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class CTime{ private String strTime; public CTime(String strTime) {
this.strTime = strTime; }
public void printNextTime() {
Calendar cal = Calendar.getInstance(); Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(\ try {
date = sdf.parse(this.strTime); cal.setTime(date);
cal.add(Calendar.DATE, 1);
System.out.println(sdf.format(cal.getTime())); }
catch (Exception e) {
// TODO Auto-generated catch block