黑盒测试实验二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑盒测试实验二
1.1 实验类型
实验类型为验证型,3个学时。
1.2 实验目的
(1)能熟练应用黑盒测试技术进行测试用例设计;
(2)对测试用例进行优化设计;
1.3 背景知识
功能测试是指在对程序进行功能抽象的基础上,将程序划分成功能单元,然后在数据抽象的基础上,对每个功能单元生成测试数据进行测试。进行功能测试时,被测程序被当作打不开的黑盒,因而无法了解其内部构造,因此又称为黑盒测试。
一、等价类测试
等价类测试方法是把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。使用等价类划分方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。
等价类的划分有两种不同的情况:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。②无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。
用等价类划分法设计测试用例步骤:
(1) 形成等价类表,每一等价类规定一个唯一的编号;
(2) 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;
(3) 设计一个新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖。
二、边界值测试
1.边界值分析
边界值分析是考虑边界条件而选取测试用例的一种功能测试方法。边界值分析关注输入空间的边界,以标识测试用例,因为错误更可能出现在输入变量的极值附近。
边界值分析的基本思想是:利用输入变量的最小值(min)、略大于最小值(min+)、正常值(nom)、略小于最大值(max-)和最大值(max)来设计测试用例。使用在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。
在边界值分析法中获取测试用例的方法是:
1)每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、
nom 、max-和max 作为有效边界值;依次取min- 和max+作为无效边界值。
2)对程序中的每个变量重复 1) 。
三、基于决策表的测试
决策表(也称判定表)适合描述分析和表达针对不同逻辑条件的组合取值执行不同操作的情况。决策表分为4部分,如下图所示:
其中:
(1)条件桩:列出问题的所有条件
(2)条件项:针对条件桩给出的条件列出所有可能的取值
(3)动作桩:列出问题规定的可能采取的操作
(4)动作项:指出在条件项的各组取值情况下应采取的动作
使用决策表标识测试用例,则决策表中的条件就是规格说明书中的输入条件,动作就是输出结果,而规则就是贯穿条件项和动作项的一列,一条规则要对应设计一个测试用例。
1.4 实验设备
主流PC 机一套,要求安装windows 操作系统、Visual Studio 2008开发工具和OFFICE 工具;
1.5 实验内容
题目一:日期问题
现有以下程序::该程序有一个NextDate 函数,NextDate 函数包含三个输入变量month 、day 、year ,分别作为输入日期的月份、日、年份,要求输入变量 month 、 day 和 year 均为整数值,并且同时满足下列条件:
①1≤month ≤12
②如果是闰年且month=2,则 1≤day ≤29;如果是平年且month=2,则1≤day ≤28;如果month ∈{1,3,5,7,8,10,12},则 1≤day ≤31; 如果month ∈{4,6,9,11},则1≤day ≤30
③1920≤year ≤2050
函数的输出:
(1)若条件① ~ ③同时满足,NextDate 函数的输出为输入日期后一天的日期。例如,输入日期为 2011 年10月27日,即令输入变量year=2011,month=10,day=27,则NextDate 函数的输出为2011年10月28日。
规则
(2)若条件①~ ③中仅仅只有一个条件不满足,则NextDate 函数都会产生一个输出,指明相应的输入变量超出取值范围:
条件①不满足时,输出"month 的值不在1-12 范围当中,请重新输入"
条件②不满足时,输出"无效的输入日期,请重新输入"
条件③不满足时,输出"year的值不在1920-2050范围当中,请重新输入"
(3)若条件①~ ③中有两个或三个的条件同时不满足,NextDate 函数输出:" 无效的输入日期,请重新输入" 。
要求:
(1) 分析各种输入情况,列出输入变量month 、day 、year的有效等价类。
(2) 分析程序的规格说明,并结合以上等价类划分的情况和边界值分析法,设计测试用例。
(3)采用NUnit工具或手动进行测试。
1.6 实验步骤
(1)根据功能性测试技术设计测试用例,主要考虑等价类划分,结合边界值分析测试技术;
(2)根据所学知识确定优化策略(原则:用最少的用例检测出更多的缺陷、软件测试的充分性与冗余性考虑),优化测试用例集;
(3)根据设计的测试用例集,采用NUnit工具或手动进行测试;
1.7 实验要求
(1)根据题目要求编写测试用例;
(2)实验结果要求给出测试用例集测试结果;
(3)撰写实验报告;
1.8 实验思考
(1)在实际的测试中,如何设计测试用例才能达到用最少的测试用例检测出最多的缺陷;
(2)在进行用例设计时,如何考虑软件测试用例的充分性和减少软件测试用例的冗余性。