第7课时黑盒测试—案例分析与实践
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
划分等价类---说明
在划分等价类时,可以参考下面的建议:
1.
如果某个输入条件规定值的范围,可以确定一个有效等 价类和两个无效等价类
2.
如果输入条件规定了一个输入值的集合,可以确定一个
有效等价类和一个无效等价类。
3.
如果输入条件是一个布尔表达式的条件,可以确定一个 有效等价类和一个无效等价类
3-9
确定测试用例
5. 6.
3-21
参考答案2
测试用例1(续)
7.
8. 9. 10.
覆盖等价类1,13,7: 测试输入=(2004,-2,10),预期结果=“输入错误!”
覆盖等价类1,14,7: 测试输入=(2004,15,10),预期结果=输入错误!” 覆盖等价类1,3,15: 测试输入=(2004,8,-2), 预期结果=“输入错误!” 覆盖等价类1,3,16: 测试输入=(2004,8,38),预期结果=“输入错误!”
参考答案3
测试用例2(续)
7. 8. 9. 10.
覆盖等价类1,13,7: 测试输入=(2004,-2,10),预期结果=“输入错误!” 覆盖等价类1,14,7: 测试输入=(2004,15,10),预期结果=输入错误!” 覆盖等价类1,3,15: 测试输入=(2004,8,-2), 预期结果=“输入错误!” 覆盖等价类1,3,16: 测试输入=(2004,8,38),预期结果=“输入错误!”
种结果中的要好,但仍有些遗漏,例如年底、平年的二月等。
3-26
案例讨论
如何再次提高测试用例质量呢?
1.
在实际测试时,可以考虑增加一些测试用例来补充想到但是通
过使用测试用例设计方法没有办法覆盖到的测试点(实际上, 运用了错误猜测法)
2.
根据功能规格说明,选取恰当的测试用例设计方法。 Nextdate各个输入变量之间其实并不是完全独立的,在设计 测试用例时并没有考虑到这点,可以使用:
项则是预期结果
输入条件 测试输入
条件桩
条件项
动作桩
动作项
输出结果
3-36
测试用例
预期结果
不相关项
为了减少测试用例的个数,我们可以合并具有相同动作结果的规则
第一个条件无论取何值都会产生相同的动作,所以我们可以 将第一条规则和第五条规则利用不相关项进行合并
3-37
不相关项
不相关项用“-”表示. 规则数降低到4,相应的测试用例数也降低到4
各个变量之间进行全组合 决策表
3.
综合运用多种测试用例设计方法,以求得测试质量与成本之间 的平衡
3-27
边界值测试
边界值
1. 2.
任何值得测试的范围的临界点,可分为: 边界值:明确地定义在规格说明书中 次边界:隐含在软件中必须经过分析才能获得 取边界点附近的值作为测试用例的输入,可参考如下的设计原则: 如果输入条件定义了数值区间(a,b),那么测试用例应包括a、b、 稍微比a大、稍微比b大、稍微比a小和稍微比b小等几种情况. 举个例子,如果a,b是整数, 除在a,b之间取正常点外,a,b,a1,b-1,a+1,b+1都应被测试.
测试用例
1. 2. 3.
覆盖等价类1,2,3: 测试输入=(2006,6,16), 预期结果=(2006,6,17) 覆盖等价类4,2,3: 测试输入=(1890,4,10), 预期结果=“输入错误!” 覆盖等价类5,2,3: 测试输入=(2062,4,10), 预期结果=“输入错误!”
3-17
参考答案1
在2001~ 2005之间
在1~12之间
2
小于2001 大于2005 小于1 大于12
月份范围
3
3-13
第二步:为有效等价类设计测试 用例
对表中编号为1、2、3的3个有效等价类用 一个测试用例覆盖:
测试数据 200105
期望结果 输入有效
覆盖范围 等价类1,2,3
3-14
第三步:为每一个无效等价类至 少设计一个测试用例
件下所产生的输出结果,验证系统是否达到用户需求。
常用的黑盒测试技术包括
1. 2. 3. 4.
等价类划分 边界值测试 决策表 因果图
3-5
不可能进行完全的测试
1.
结论是不计其数 整型: 从 1+1 到 9999999999999999999999 99999999+
9999999999999999999999
3-29
2.
常见的边界值
1)对16-bit 的整数而言:
32767 和 -32768 是边界
2)屏幕上光标: 在最左上、最右下位置 3)报表的: 第一行和最后一行
4)数组元素的:
第一个和最后一个
5)循环的:
第 0 次、第 1 次和倒数第 2 次、最后一次
边界值测试
边界值测试比较适合运用在有下列含义的变量上
表示法
使用下面的表格有利于确定测试用例
3-11
例:报表日期
设某公司要打印2001~2005年的报表,其 中报表日期为6位数字组成,其中,前4位为年 份,后两位为月份。
3-12
第一步:划分等价类
条件 有效等价类 编号 无效等价类 有非数字字符 报表日期的 6位数字字符 类型及长度 1 少于6个数字字符 多于6个数字字符 年份范围 编号 4 5 6 7 8 9 10
功能说明
NextDate(年,月,日)是三个变量的函数。函数返 回输入日期的下一个日期。变量年份,月份,日期都是
整数值,且满足下面的条件: 1900≤年 ≤2060 ,1≤
月 ≤12, 1≤日 ≤31.
分析和比较两种不同的等价类划分方法以及三种设计的 结果。
3-16
参考答案1
等价类及其编号Байду номын сангаас
3-25
案例讨论
对三种设计结果的讨论
1.
每种结果都覆盖了一些应该测试的功能点。 第一组结果过多的关注于对无效等价类的测试,遗漏了很多
NextDate问题需测试的关键点,比如平年闰年、二月、大小月、
月底等等。
2.
第二组结果包含了第一组的结果的基础上,增加了对二月、年
底等的测试。
3.
第三组结果通过日常知识的运用,使得测试用例涵盖了大部分 需测试的要点,尤其是测试用例1,2,3的有效性明显要比前二
3-22
参考答案3
测试用例2(续)
1.
覆盖等价类2,3,10: 测试输入=(2001,7,31), 预期结果 =(2001,8,1) 覆盖等价类2,4,9: 测试输入=(2006,4,30), 预期结果=(2006,5,1) 覆盖等价类1,5,8: 测试输入=(2000,2,29), 预期结果=(2000,3,1)
测试数据 001MAY 20015 2001001 200001 期望结果 输入无效 输入无效 输入无效 输入无效 覆盖范围 等价类4 等价类5 等价类6 等价类1,7,3
200801
200100 200113
3-15
输入无效
输入无效 输入无效
等价类1,8,3
等价类1,2,9 等价类1,2,10
案例
覆盖等价类1,2,9: 测试输入=(2006,4,33), 预期结果=“输入错误!”
参考答案2
另一种答案
等价类及其编号
3-19
参考答案2
测试用例1
1.
覆盖等价类1,3,7: 测试输入=(2000,7,16), 预期结果 =(2000,7,17)
2.
覆盖等价类2,4,8: 测试输入=(2006,4,29), 预期结果
2. 3.
3-23
参考答案3
测试用例2(续)
4.
覆盖等价类2,6,7: 测试输入=(2001,12,15),预期结果
=(2001,12,16) 覆盖等价类11,3,7: 测试输入=(1830,3,19), 预期结果=“输入错误!”
5.
6.
3-24
覆盖等价类12,3,7: 测试输入=(3000,3,19), 预期结果=“输入错误!”
测试思想
1.
3-28
案例
功能描述
某选课系统中规定每门课程的选修人数在[20,60] 之间,小于20人不开设该门选修课,大于60人不接 受后面的选课要求。
测试设计
1.
输入变量:选课人数 测试输入
选择当选课人数分别为19,20,21, 59,60和61
等几个边界点 再加上一个正常值点40
99999999
2.
小数:1.0+0.1,1.0+0.2…等等
如果你打算测试一个 计算器程序的功能, 你认为需要进行多少 次输入?
3. 4.
键盘上的任何一种组合
为乘法和除法运算重复上面的操作
黑盒测试
通常运用一种测试用例设计方法不能获得理想的测试用例 集。在设计测试用例时,比较实用的方法是综合运用几种 设计技术,取长补短。
决策表分为
有限项决策表:每个条件只有两个值,如Y/N, T/F,1/0 等. 扩展项决策表:条件项的取值有多个(大于2个)
3-34
决策表示例
下面的决策表描述了读书时的场景
条件桩 条件项
动作桩
动作项 规则
3-35
决策表
和测试用例之间的关系
一条规则对应一个测试用例, 条件项构成了测试用例的输入,相应的动作
最短的/最长的, 稍微短点/稍微长点 最慢的/最快的, 稍微慢点/稍微快点 最早的/最晚的, 稍微早点/稍微晚点 最大的/最小的, 最大的+1/最小的-1 最高的/最低的, 最高的+1/最低的-1 距离最近的/距离最远的
3-32
与等价划分的区别
边界值分析使用与等价类划分法相同 的划分。 只是边界值分析假定错误更多地存在 于划分的边界上,边界值分析不是从 某等价类中随便挑一个作为代表,而 是在等价类的边界上以及两侧的情况 设计测试用例。
进行黑盒测试设计方法的主要依据是软件系统需求规格说 明书,之前需要确保说明书是经过评审的。另外,如果没
有说明书的话,可以选择探索式测试。
黑盒测试思想不仅可以用于测试软件的功能,同时,也可 用于测试软件的非功能,如性能、安全、可用性等
等价类划分
测试思想
在进行测试用例设计时,以具有相同的预期结 果为等价划分原则,将系统的被测试域划分为 不同的等价类集合,从中选出代表作为测试用 例,以期达到尽可能完备同时又可避免冗余的 测试。 被测试域可能是输入域、输出域、输入或输出 域的部分或任何其它值得测试的范围。
=(2006,4,30) 覆盖等价类1,5,9: 测试输入=(2000,2,30), 预期结果=“输入错
3-20
3.
误!”
参考答案2
测试用例1(续)
4.
覆盖等价类2,6,10: 测试输入=(2001,12,31),预期结果 =(2002,1,1) 覆盖等价类11,3,7: 测试输入=(1830,3,19), 预期结果=“输入错误!” 覆盖等价类12,3,7: 测试输入=(3000,3,19), 预期结果=“输入错误!”
软件测试技术与实践
第7课时 黑盒测试—案例分析与实践
内容提纲
复习 讨论常用的黑盒测试用例设计方法,包括
等价类划分 边界值测试 决策表 因果图 综合运用黑盒用例设计方法
总结
上一节课我们学了什么呢?
黑盒测试
把系统看成一个不透明的黑匣,在完全不考虑系统内部结构 和处理过程的情况下,只关注在选择的输入和相应的执行条
测试用例
4.
覆盖等价类1,6,3: 测试输入=(2006,-2,16), 预期结果=“输入错 误!” 覆盖等价类1,7,3: 测试输入=(2006,13,16), 预期结果=“输入错 误!” 覆盖等价类1,2,8: 测试输入=(2006,6,0), 预期结果=“输入错误!”
5.
6. 3-18 7.
数值 字母
位置
数量 速度 大小
3-31
边界值测试
除了遵循前面论述的边界值设计原则,还应考虑测试下面的情况
第一个/最后一个, 第一个-1/最后一个+1 开始/结束, 开始-1/结束+1 超过/低于, 刚刚超过/刚刚低于
空的/满的, 比空的少点/比满的多些
3-33
决策表
定义
决策表由四个部分组成,分别是条件桩(condition stub), 条件项
(condition entry), 动作桩(action stub)和动作项(action entry).
1.
2. 3. 4. 5.
条件桩是条件的列表
动作桩是满足条件时系统可能产生的动作的列表. 条件项是条件值的组合 动作项是在条件值组合情况下发生的动作 表中的每一列称为一条规则。规则定义了动作在什么条件下发生
步骤
1. 2. 3.
划分等价类。 为每一个有效等价类和无效等价类规定一个唯一的编号。 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有 效等价类, 重复这一步直到所有有效等价类均被测试用 例所覆盖。
4.
设计一个测试用例,使其只覆盖一个无效等价类,重复
这一步,直到所有无效等价类均被覆盖。
3-10