第三讲 黑盒测试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ຫໍສະໝຸດ Baidu
弱健壮等价类测试用例(考虑a,b,c的无效值) (0<a,b,c<=200)
测试用例 a b c 预期输出
WR1 WR2
WR3 WR4 WR5 WR6
-1 5
5 201 5 5
5 -1
5 5 201 5
5 5
-1 5 5 201
a值不在范围内 b值不在范围内
c值不在范围内 a值不在范围内 b值不在范围内 c值不在范围内

R1={等边三角形} R2={等腰三角形} R3={不等边三角形} R4={不构成三角形}
弱一般等价类测试用例(强一般等价类) 测试用例编号 WN1 WN2 WN3 WN4 a 5 2 3 4 b 5 2 4 1 c 5 3 5 2 预期输出 等边三角形 等腰三角形 不等边三角形 不构成三角形
等价类的划分原则
(4)按照限制条件或规则划分 在规定了输入数据必须遵守 的规则或限制条件的情况下,可确定一个有效等价类(符合 规则)和若干个无效等价类(从不同角度违反规则)。 例:程序输入条件为以字符‘a’开头、长度为8的字符串,并 且字符串不包含‘a’~ ‘z’之外的其它字符 有效等价类: 满足了上述所有条件的字符串 无效等价类: 不以‘a’开头的字符串、 长度不为8的字符串、 包含了‘a’~ ‘z’之外其它字符的字符串。
强健壮等价类测试用例
测试用例 SR1 SR2 SR3
a -1 5 5
b 5 -1 5
c 5 5 -1
预期输出 a值不在范围内 b值不在范围内 c值不在范围内
SR4
SR5 SR6 SR7
-1
5 -1 -1
-1
-1 5 -1
5
-1 -1 -1
a,b值不在范围内
b,c值不在范围内 a,c值不在范围内 a,b,c值不在范围内
等价类测试用例
弱一般等价类测试用例应该有4个 强一般等价类测试用例应该有 3个(月份类)x 4个(日期类)x 2(年类)= 24个 强健壮等价类测试用例
• 对每个变量加上2个无效类 • 测试用例数为:5 x 6 x 4 = 120个
请同学自己思考各测试用例。 弱一般等价类测试:测试用例使用每个等价类中的一个值 强一般等价类测试:测试用例集合为等价类笛卡儿积
测试用例书写标准
标志符(Identification) 测试项(Test Items) 测试环境要求 输入标准(Input Criteria) 输出标准(Output Criteria) 测试用例之间的关联
测试用例书写标准
案例分析-三角形问题的等价类测试用例
使用输出确定等价类
问题
应该怎样设计测试用例?
什么是测试用例
•测试用例(test case)是可以被独立执行的一个过程,这个过 程是一个最小的测试实体。
•是为了某个测试点而设计的测试操作过程序列、条件、期望结 果及其相关数据的一个特定的集合。
测试用例的特征
测试用例的特征: (1)最有可能抓住错误的; (2)不是重复的、多余的; (3)一组相似测试用例中最有效的; (4)既不是太简单,也不是太复杂。
健壮性测试 是边界值分析的一种简单扩展,用于观察例外处理情况 基本思想是测试时输入变量取
• • • • • • •
最小值(min) 略高于最小值(min+) 正常值(nom) 略低于最大值(max-) 最大值(max) 略超过最大值(max+) 略低于最小值(min-)
案例分析-三角形问题
SWPU
软件测试方法和技术
陈月峰
第 3讲
黑盒测试方法
1
黑盒测试法概述
主 要 内 容
2 3 4 5
等价类测试
边界值测试
基于决策表的测试
错误推测法
3.1 黑盒测试法概述
又称为功能测试或数据驱动测试,把程序看成一个黑盒子, 完全不考虑程序的内部结构和处理程序,只是在程序的接 口进行测试,以检查程序功能是否正常,程序是否能适当 接收输入数据产生正确的输出数据。
弱一般等价类测试
考虑单缺陷假设 测试用例使用每个等价类中的一个值 设两变量x1和x2函数有以下边界和等价区间: • a<=x1<=d,区间为:[a,b),[b,c),[c,d] • e<=x2<=g,区间为:[e,f),[f,g)
强一般等价类测试
考虑多缺陷假设 测试用例集合为等价类笛卡儿积 设两变量x1和x2函数有以下边界和等价区间: • a<=x1<=d,区间为:[a,b),[b,c),[c,d] • e<=x2<=g,区间为:[e,f),[f,g)
弱健壮等价类测试
考虑单缺陷假设、无效值 用例标识 • 对于有效输入,使用每个有效类的一个值 • 对于无效输入,使用一个无效值,并保持其余的值都有效的
强健壮等价类测试
考虑多缺陷假设、无效值 用例标识 • 从所有等价类(包括若干无效等价类)笛卡儿乘积中选取
http://blog.csdn.net/Kerryzhu
案例分析-NextDate函数的等价类测试用例
确定等价类(方法二)

M1={月份:每月有30天} M2={月份:每月有31天} M3={月份:此月是2月} D1={日期:1<=日期<=28} D2={日期:日期=29} D3={日期:日期=30} D4={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年}
设计测试用例的基本准则
测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非法 的、边界的和越界的以及极限的输入数据、操作和环境 设置等。 测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用例 都应有相应的期望结果。 测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。
(1)按照区间划分 在输入条件规定了取值范围或值的个 数的情况下,可以确定一个有效等价类和两个无效等价类。 例:程序输入条件为小于100大于0的整数x, 有效等价类:0 ≤ x ≤ 100 两个无效等价类:x<0和x>100。
1 等价类的划分原则 进行等价类划分的依据:
(2)按照数值划分 在规定了一组输入数据(假设包括 n个 输入值),并且程序要对每一个输入值分别进行处理的情况 下,可确定 n 个有效等价类(每个值确定一个有效等价类) 和一个无效等价类(所有不允许的输入值的集合)。
第二步:为有效等价类和无效等价类设计数据,并确定测试用例
测试用例编号 测试用例数据 覆盖等价类
51testing/wang12345
test/wang12345
1,2,3,4,5,6
51testing12345/wang12 345
/wang12345 /wang12345 /wang12345 /wang12345
使用输入确定等价类

D1={a=b=c} D2={a=b,a!=c} D3={a=c,a!=b} D4={b=c,b!=a} D5={a!=b,a!=c,b!=c} D6={a>=b+c} D7={b>=a+c} D8={c>=a+b}
同学们可自己设计等价类测试用例
检查程序功能是否按照需求规格说明书的规定正常 使用,测试每个功能是否有遗漏,检测性能等特性 要求是否满足要求。 检测模块接口是否存在问题。 检测程序初始化和终止方面的错误。
黑盒测试的简单示例
某一程序的功能是实现函数求值:
-1 (x<0) y= 0 (x=0), 1 (x>0) 如何测试??
案例一:三角形问题 三角形问题接受三个整数a、b、c作为输入,代表三角形的三条边。a,b,c必须 满足以下条件:
3.不为空、空格和特殊字符
13.只有字符组成 14.只有数字组成
15.为空 16.有空格 17.有特殊字符 18.长度小于6位 19.长度大于10位 20.只有字符组成 21.只有数字组成 22.为空 23.有空格 24.有特殊字符
4.长度为6到10位 5.用户名由字符和数字组成 6.不为空、空格和特殊字符
动机
希望进行完备的测试 希望避免冗余
3.2 等价类测试
等价类的划分
根据等价关系对输入或输出数据的集合进行划分 将集合划分为互不相交的子集(无冗余性) 这些子集的并是整个集合(完备性)
测试思想
等价类
通过每个等价类中的一个元素标识测试用例
等价类的划分原则
划分等价类可分为两种情况:
有效等价类
检验程序是否实现了规格说 明中所规定的功能和性能
合理的、有意义的输入数据构成的集合。 无效等价类 确保软件具有更高的可靠性 不合理的或无意义的输入数据所构成的集合。
设计测试用例时,要同时考虑这两种等价类。 all inputs
i2 i1 i4 i
3
等价类的划分原则 进行等价类划分的依据:
3.3 边界值测试
基本原理
错误更可能出现在输入变量的极值附近
基本思想是测试时输入变量取

最小值(min) 略高于最小值(min+) 正常值(nom) 略低于最大值(max-) 最大值(max)
边界值分析设计测试用例的获得 通过使所有变量取正常值,只使一个变量按边界值基本思想循环取 值。 例如:两变量函数(X1,X2)的边界值分析测试用例为: • (X1nom,X2min) • (X1nom,X2min+) • (X1nom,X2nom) • (X1nom,X2max-) • (X1nom,X2max) • (X1min,X2nom) • (X1min+,X2nom) • (X1max-,X2nom) • (X1max,X2nom) 对于一个n变量函数,测试用例数为4n+1个
等价类划分法的测试用例设计
①划分等价类
? A、为每个等价类编号; B、使一个测试用例尽可能覆盖多个有效等价类 ? C、一个测试用例只能覆盖一个无效等价类。
② 选择测试用例
重复步骤B、C,直到所有的有效和无效等 价类均被测试用例所覆盖。
使用下面的表格有利于确定测试用例
使用下面的表格有利于确定测试用例
边界值分析法 1
等价类划分法
2
黑盒测试
5
其它
决策表法
3
4
错误推测法
黑盒测试的特点
优点 – 比较简单,与软件的内部实现无关; – 从用户角度出发; – 基于软件开发文档。 缺点 – 覆盖率较低,大概只能达到总代码量的30%; – 自动化测试的复用性较低。
3.2 等价类测试
示例:
第一步:划分等价类,填入等价类表
有效等价类 输入 用户名长度为6到10位 1.长度为6到10位 11.长度小于6位 12.长度大于10位 无效等价类
用户名由字符和数字组成
用户名不能为空、空格和特 殊字符 密码长度为6到10位 密码由字符和数字组成 密码不能为空、空格和特殊 字符
2.用户名由字符和数字组成
例:程序功能是根据输入的等级(‘A’、’B’、’C’、’D’、 ’E’)来输出相应的分数段。 有效等价类5个: x= ‘A’、x=’B’、x=’C’、x=’D’、x=’E’ 无效等价类1个: x≠ (‘A’、’B’、’C’、’D’、’E’)的值的集 合。
等价类的划分原则
(3)按照数值集合划分 在输入条件规定了输入值的集合或 规定了“必须如何”的条件下,可以确定一个有效等价类和 一个无效等价类(该集合有效值之外)。 例:程序输入条件为取值为奇数的整数x, 有效等价类: x的值为奇数的整数 无效等价类: x的值不为奇数的整数
测试用例要描述什么?
5W1H
Why ——为什么而测? What ——测什么? Where ——在哪里测? When ——什么时候开始测? Which ——哪些输入数据? How ——如何操作软件?
测试用例的元素
测试用例的作用
重要参考依据 提高测试质量 有效性 复用性 客观性 可评估性和可管理性 知识传递
案例分析-NextDate函数的等价类测试用例
确定等价类(方法一)

M1={月份:1<=月份<=12} D1={日期:1<=日期<=31} Y1={年:1912<=年<=2012} M2={月份:月份<1} M3={月份:月份>12} D2={日期:日期<1} D3={日期:日期>31} Y2={年:年< 1912} Y3={年:年>2012}
相关文档
最新文档