黑盒测试方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
效等价类 设计测试用例,使其尽可能多的覆盖无
效等价类
举例1(保险费率计算)
按照输入域划分等价类的例子。
某保险公司承担人寿保险,该公司保费计算方式 为:保费=投保额*保险率,保险率依点数不同而 有别,10点以上(含10点)费率为0.6%,10点以 下费率为0.1%
点数的计算是年龄、性别、婚姻、抚养人数所得 的点数的总和
测试用例的非重复性
测试用例不应是与原有测试用例重复的或等价效果的, 应追求测试用例数目的精简
测试用例的设计准则
测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测 试用例都应有相应的期望结果。
测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相 同的。 好的测试用例集能花费最小的代价(人力、物力、 财力、时间)做最好的测试。 测试用例的设计方法主要分为黑盒法和白盒法。
等价类划分法
等价类划分是将程序的输入域(较多见)或输出域 (较少见)的不同区间划分为不同的数据类,以便 导出测试用例
每个等价类所揭示的程序错误都是等价的
要求此方法的测试用例能各自发现一类错误,从而 减少必须开发的测试用例数
测试某等价类的代表值就是等效于对于这一类其它 值的测试。
例如:程序在输入小于4的数得到结果5,那么使用 2还是3或者都是一样的
举例:设计这样的测试用例,来实现一个对所有实数 进行开平方运算( y = sqrt(x) )的程序的测试。
➢ 思考方向:
由于开平方运算只对非负实数有效,这时需要将 所有的实数(输入域x)进行划分,可以分成:正实 数、0 和 负实数。假设我们选定+1.4444代表正实数, -2.345代表负实数,则为该程序设计的测试用例的输 入为+1.4444、 0 和 -2.345。
➢(4)(8)(10)(12) ➢(5)(9)(11)(13) ➢(6)(8)(10)(14) ➢(7)(8)(10)(14) ➢(1)(8)(10)(15) ➢(2)(9)(11)(16) ➢(3)(8)(10)(16)
说明:在设计无效部分的测试用例的时候,有效等价 类部分,可以任意选择。
第四步:选取测试用例
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11)
是否可以有更多无效等价类?
第二步:等价类划分
输入 抚养人数 输出 保险费率
有效等价类 无效等价类 有效等价类
1~2 (1点) 3~4 (2点) >4 (3点) 空白(未知) <1 (未知) 包含非数字字符(未知) >=10点(0.6%) <10点(0.1%)
2、用例设计可以与软件的实现同时进 行,加快了软件测试与开发的速度
黑盒测试的缺点
1、只能找到缺陷,难以查找错误的具体 原因。
2、没有清晰的需求规格说明书,测试用 例很难被设计。
3、相比白盒测试,测试用例产生遗漏或 冗余的可能性大大增加
黑盒测wenku.baidu.com的特点
从理论上讲,黑盒测试只有采用穷举输入 测试,把所有可能的输入都作为测试情 况考虑,才能查出所有的错误。
例:程序输入x取值于一个固定的枚举类型 {1,3,7,15},且程序 中对这4个数值分别进行了 处理,则有效等价类为x=1、x=3、 x=7、x=15 ,无效等价类为x≠1,3,7,15的值的集合。
确立等价类的原则
如果规定了输入数据必须遵守的规则,则可以 确立一个有效等价类(即遵守规则的数据)和 若干无效等价类(从不同角度违反规则的数据 ),例如:
如果输入条件或输出条件规定了值的范围并且有效条 件包括了值的边界,可分别对边界和略超出边界取值 ,例如:
数据范围是1<=x<=50正整数 边界值取为:1、50、0、51
如果输入条件或输出条件规定了值的范围并且有效条 件不包括了值的边界,可分别对边界和略处于边界内 取值,例如:
数据范围是1<x<50正整数 边界值取为:1、50、2、49
举例 —— 常见的边界值
对16-bit 的整数而言 32767 和 -32768 是边界 屏幕上光标在最左上、最右下位置 报表的第一行和最后一行 数组元素的第一个和最后一个 循环的第 0 次、第 1 次和倒数第 2 次、最后一

边界值分析
数学含义
A<=x<=B C<=y<=D
确立边界值的原则
确立边界值的原则
如果输入或输出域是个有序的集合(如顺序文 件、表格等),应注意选取有序集的第一个和 最后一个元素以及集合外但靠近集合的元素作 为边界 ,例如:
输入文件名介于file0101~file0120之间 边界值取为file0100,file0101,file0120,file0121
实际上测试情况是无穷多的,完全测试是 不可能的。那么我们如何设计黑盒测试 用例满足“最尽可能少的测试用例去发 现尽可能多的软件缺陷”呢?
典型的黑盒测试方法
等价类划分法 边界值分析法 因果图法 其他方法(正交试验法、错误推测法、判 定表法)
等价类划分法
等价类划分法是一种重要的、常用的黑盒测试方法, 它将不能穷举的测试过程进行合理分类,从而保证设 计出来的测试用例具有完整性和代表性。
数据范围是1~50 有效等价类为“>=1&&<=50” 两个无效等价类为“<1”和“>50”
确立等价类的原则
如果输入条件是一个布尔量,则可以确立一个 有效等价类和一个无效等价类
如果规定了输入数据的一组值,而且程序要对 每一个输入值分别进行处理,这时要对每一个 规定的输入值确立一个有效等价类,而对于这 组值之外的所有值确立一个无效等价类
-2--最后再形成相应的测试用例。 X:
有效等价类为: A<=x<=B ; 无效等价类为:x<A和B<x两个无效等价类 Y: 有效等价类为:C<=y<=D ; 无效等价类为:y<C和D<y两个无效等价类
确立等价类的原则
如果输入条件规定了取值范围,或者值 的个数,则可以确立一个有效等价类和 两个无效等价类,例如:
用例
输入
输出
编号 年龄 性别 婚姻 抚养人数 保险率
1
22 男 已婚
1
0.6%
2
45 女 未婚
4
0.1%
3
65 男 已婚
8
0.1%
4 空白 男 未婚
1
错误
5
-1 男 未婚
2
错误
6 122 男 未婚
8
错误
7 “tt1” 女 已婚
1
错误
8
22 女 已婚
空白
错误
9
22 女 已婚
-1
错误
10 22 女 未婚 “ ct2 ”
输入:年龄、性别、婚姻、抚养人数
输出:保险率
输入数据说明
20~39
6点
年龄
40~59
4点
99以下59以上、20以下1以上
2点

5点
性别

3点
已婚
3点
婚姻
未婚
5点
抚养人数
1人扣0.5点最多扣3点(四舍五入)
第一步:输入和输出变量确认
按照输入域划分等价类的例子。
输入:年龄、性别、婚姻、抚养人数 输出:保险率 等价类划分原则:按照输入变量来确认
边界值分析
等价类划分: 可以考虑作出如下划分: 输入 (i)<0 和 (ii)>=0 输出 (a)>=0 和 (b) Error 测试用例有两个: 输入4,输出2。对应于 (ii) 和 (a) 。 输入-10,输出0和错误提示。对应于 (i) 和 (b) 。
测试密码域,要求密码必须是数字或字母
有效等价类为“密码是数字和字母的组合”(还可 以细分)
无效等价类为“密码包括中文”、“密码包括其它 符号”等
如果确知已划分的等价类中的各元素在程序中 的处理方式不同(例如字母还要区分大小写等 ),则应进一步划分成更小的等价类
等价类测试用例设计
分析输入、输出 划分有效等价类、无效等价类 设计测试用例,使其尽可能多的覆盖有
黑盒测试方法
黑盒测试,把被测软件看成一个封闭的 盒子,在完全不考虑软件内部逻辑和内 部结构的情况下进行的测试。
黑盒测试常见的错误
1、功能不正确或者遗漏 2、界面错误。在接口上输入能否正确地接
受。能否输出正确的结果 3、数据库访问错误
黑盒测试的优点
1、黑盒测试与软件如何实现无关,如 果实现发生变化,黑盒测试用例仍然可 用(可重用性,面向回归测试)
测试用例的主要元素
测试名称:测试用例的编号和名称 预置条件:测试用例执行的前提条件 步骤描述、预期结果及实际结果 状态:测试用例的状态(是否执行,是否通过) 设计人员和执行人员 创建日期和执行日期
测试用例的重要性(了解)
测试用例在测试活动中占有核心的作用,主要体 现在以下几个方面:
测试用例构成了设计和执行测试过程的基础。 测试的“深度”与测试用例的数量呈比例。 测试是否完全的依据。 测试工作量与测试用例的数量呈比例 测试设计和开发的类型及所需的资源主要都受
(12) (13) (14) (15) (16) (17) (18) (19)
第三步:设计测试用例
按照输入域划分等价类的例子。 1、设计测试用例,尽可能的覆盖尚未覆盖的有效等价类。
➢(1)(8)(10)(12) ➢(2)(9)(11)(13) ➢(3)(8)(10)(14)
2、设计测试用俐,使得每一个新设计的测试用例只包含一个 无效等价类,其他的选择有效等价类。
问题1:例子中共有多少个等价类?有效的几个,无效的几个? 问题2:写出这些等价类,这些等价类是否可以合并? 问题3:最好用多少个数据来测试?测试数据是否可以减少?
确立等价类的原则
严格的,可以按照变量来划分有效和无效等价 类。即:
-1--先按照X来划分有效等价类和无效等价类,然 后再按照Y来划分有效等价类和无效等价类
边界值分析
边界值分析使用与等价类划分法相同的划分,只是边 界值分析假定错误更多地存在于划分的边界上,因此 在等价类的边界上以及两侧的情况设计测试用例。
例:测试计算平方根的函数
——输入:实数 ——输出:实数 ——规格说明:当输入一个0或比0大的数的时候,返 回其正平方根;当输入一个小于0的数时,显示错误信 息“平方根非法-输入值小于0”并返回0;库函数PrintLine可以用来输出错误信息。
等价类(有效等价类和无效等价类)
第二步:等价类划分
输入
年龄
性别 婚姻
有效等价类
无效等价类 有效等价类 有效等价类
20~39(6点) 40~59 (4点) 60~99、1~19 (2点) 空白(未知) <1 (未知) >99 (未知) 包含非数字字符(未知) 男(5点) 女(3点) 已婚(3点) 未婚(5点)
等价类分类
有效等价类
对于程序的需求说明来说是合理的,有意义的输入数 据所构成的集合
利用它可以检验程序是否实现了预期的功能和性能
无效等价类
对于程序的需求说明来说是不合理的,没有意义的输 入数据所构成的集合
利用它可以检验程序对于无效数据的处理能力
等价类划分
数学含义
A<=x<=B C<=y<=D
为什么使用边界值分析法?
无数的测试实践表明,大量的故障往往发生在输入定义域 或输出值域的边界上,而不是在其内部。因此,针对各种 边界情况设计测试用例,通常会取得很好的测试效果。 怎样用边界值分析法设计测试用例? (1)首先确定边界情况。通常输入或输出等价类的边界就是 应该着重测试的边界情况。 (2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试 数据,而不是选取等价类中的典型值或任意值。
控于测试用例
测试用例的设计准则
由于穷举测试是不可能的,因此测试人员应设计有限 的、有代表性或特殊性的测试用例。总之一句话,设 计尽可能少的用例去尽可能多的发现软件的缺陷。基 本准则如下:
测试用例的代表性
能够代表并覆盖各种合理的和不合理的、合法的和非 法的、边界的和越界的以及极限的输入数据、操作和 环境设置等。稀有、极端、特殊的点需要测试人员重 点关注。
黑盒测试
2011年7月
概览
在本章中,我们将学习: 测试用例简述 黑盒测试方法 等价类划分
边界值分析 因果图与决策表法
其他测试法
测试用例的概念
测试用例的定义
(1)为特定目标而编制的一组测试输入、执行条件和预 期结果,其目的是测试程序中的路径,核实程序或软 件能否满足某个特定的需求。
(2)测试用例是执行的最小实体。 (3)对被测程序的测试通常需要多个测试用例
错误
备注
(1)(8)(10)(12)(18) 13点 (2)(9)(11)(13)(19) 8点 (3)(8)(10)(14)(19) 7点
(4) (5) (6) (7) (15) (16) (17)
边界值分析
边界值分析法就是对输入或输出的边界值进行测试的一种 黑盒测试方法。通常边界值分析法是作为对等价类划分法 的补充,这种情况下,其测试用例来自等价类的边界。
相关文档
最新文档