第六章等价类测试
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三角形问题的另一种等价类划分
{<a, D1 = {<a,b,c>: > {<a, c>: D2 = {<a,b,c>: {<a, c>: D3 = {<a,b,c>: {<a, c>: D4 = {<a,b,c>: {<a, c>: D5 = {<a,b,c>: a a a c b = = = = ≠ b = c } b,a≠c } c,a≠b } b,a≠c } a≠c}
计算机软件测试
三角形问题的强健壮等价类测试用例
测试用例 SR1 SR2 SR3 SR4 a -1 5 -1 -1 b -1 -1 5 -1 c 5 -1 -1 -1 预期输出 a、b取值不在允许的范围内 b、c取值不在允许的范围内 a、c取值不在允许的范围内 a、b、c取值不在允许的范围内
计算机软件测试
计算机软件测试
弱一般等价类测试用例
用例ID WR1 WR2 WR3 WR4 月份 6 7 2 6 日期 14 29 30 31 年 1900 1996 2002 1900 预期输出 6/15/2000 7/30/1996 无效输入 无效输入
计算机软件测试
强一般等价类测试用例
测试用例的个数:M×D×Y = 3 * 4 * 3 = 36 测试用例的个数:
有效等价类: 有效等价类: M1 = {月份:1≤月份 月份: 月份 月份≤12} 月份 D1 = {日期:1≤日期 日期: 日期 日期≤31} 日期 Y1 = {年:1812≤年≤2012} 年 年 无效等价类: 无效等价类: M2 = {月份:月份 月份: 月份 月份<1} M3 = {月份:月份 月份: 月份 月份>12} D2 = {日期.:日期 日期. 日期<1} 日期 D3 = {日期:日期 日期: 日期 日期>31} Y2 = {年:年<1812} 年 Y3 = {年:年>2012} 年
g f e a b c d
计算机软件测试
弱一般等价类测试
• •
弱一般等价类测试是基于单缺陷假设的; 弱一般等价类测试是基于单缺陷假设的; 弱一般等价类测试通过使用一个测试用例中的每个等价 区间)的一个变量实现。 类(区间)的一个变量实现。
g f e a b c d
计算机软件测试
强一般等价类测试
• •
计算机软件测试
等价类测试用例生成步骤
1. 选择确定类的等价关系。 选择确定类的等价关系。 2. 选择每个等价类中的一组数据标识测试用例。 选择每个等价类中的一组数据标识测试用例。
计算机软件测试
函数F的功能扩展 函数 的功能扩展
有两个变量x 的函数F 如果函数F实现为一个程序, 有两个变量x1和x2的函数F。如果函数F实现为一个程序,则输入两 个变量x 会有一些(可能未规定)边界: 个变量x1和x2会有一些(可能未规定)边界: a≤ x1 ≤d d e≤ x2 ≤g g 区间为[a,b),[b,c),[c, 区间为[a,b),[b,c),[c,d] [a 区间为[e f), , [e, 区间为[e,f),[f,g]
计算机软件测试
NextDate函数的弱一般等价类测试用例 NextDate函数的弱一般等价类测试用例
用例ID WN1,SN1 月份 6 日期 15 年 1912 预期输出 6/16/1912
计算机软件测试
NextDate函数的弱健壮等价类测试用例 NextDate函数的弱健壮等价类测试用例
用例ID WR1 WR2 WR3 WR4 WR5 WR6 WR7 月份 6 -1 13 6 6 6 6 日期 15 15 15 -1 32 15 15 年 1912 1912 1912 1912 1912 1811 2013 预期输出 6/16/1912 无效输入 无效输入 无效输入 无效输入 无效输入 无效输入
{<a, c>: b+c D6 = {<a,b,c>:a≥b+c } {<a, c>: a+C D7 = {<a,b,c>:b≥a+C } {<a, c>: a+b D8 = {<a,b,c>:c≥a+b }
பைடு நூலகம்
计算机软件测试
NextDate函数的等价类测试用例 NextDate函数的等价类测试用例
确定等价类: 确定等价类:
计算机软件测试
NextDate函数的等价类另一种划分法 NextDate函数的等价类另一种划分法
M1 = {月份:每月有 天} 月份: 月份 每月有30天 M2 = {月份:每月有 天} 月份: 月份 每月有31天 M3 = {月份:此月是 月} 月份: 月份 此月是2月 D1 = {日期:1≤日期 日期: 日期 日期≤28} 日期 D2 = {日期:日期 日期: 日期 日期=29} D3 = {日期:日期 日期: 日期 日期=30} D4 = {日期:日期 日期: 日期 日期=31} Y1 = {年:年=1900} 年 Y2 = {年:年是非 年的闰年} 年 年是非1900年的闰年 年的闰年 Y3 = {年:年是非 年的平年} 年 年是非1900年的平年 年的平年
计算机软件测试
等价类分类
等价类可分为有效等价类和无效等价类。 等价类可分为有效等价类和无效等价类。
计算机软件测试
等价类划分的意义
等价类构成集合的划分。 等价类构成集合的划分。 等价类测试的重要意义: 等价类测试的重要意义: 1.提供了完备性; 提供了完备性; 提供了完备性 2.保证了无冗余性; 保证了无冗余性; 保证了无冗余性
计算机软件测试
佣金问题的输出域等价类划分
销售额 = 45 × 枪机 + 30 × 枪托 + 25 × 枪管 佣金值域定义三个变量的等价类: 佣金值域定义三个变量的等价类: S1 = {<枪机,枪托,枪管 :销售额 枪机, 枪机 枪托,枪管>:销售额≤1000} S2 = {<枪机,枪托,枪管 :1000<销售额 枪机, 销售额≤1800} 枪机 枪托,枪管>: 销售额 S3 = {<枪机,枪托,枪管 :销售额 枪机, 枪机 枪托,枪管>:销售额>1800}
第二步:选取测试用例 第二步:
测试用例 WN1 WN2 WN3 WN4 a 5 2 3 4 b 5 2 4 1 c 5 3 5 2 预期输出 等边三角形 等腰三角形 三角形 非三角形
计算机软件测试
三角形问题的弱健壮等价类测试用例
测试用例 WR1 WR2 WR3 WR4 WR5 WR6 a -1 5 5 201 5 5 b 5 -1 5 5 201 5 c 5 5 -1 5 5 201 预期输出 a取值不在允许的范围内 b取值不在允许的范围内 c取值不在允许的范围内 a取值不在允许的范围内 b取值不在允许的范围内 c取值不在允许的范围内
g f e a b c d
计算机软件测试
强健壮等价类测试
所有等价类笛卡儿积的每个元素中获得测试用例。 所有等价类笛卡儿积的每个元素中获得测试用例。
g f e a b c d
计算机软件测试
三角形问题的等价类测试用例
第一步:划分等价类 第一步:
R1={<a,b,c>:有三条边 、b和c的等边三角形 , , :有三条边a、 和 的等边三角形 的等边三角形} R2={<a,b,c>:有三条边 、b和c的等腰三角形 的等腰三角形} , , :有三条边a、 和 的等腰三角形 R3={<a,b,c>:有三条边 、b和c的不等边三角形 的不等边三角形} , , :有三条边a、 和 的不等边三角形 R4={<a,b,c>:三条边 、b和c不构成三角形 不构成三角形} , , :三条边a、 和 不构成三角形
强一般等价类测试是基于多缺陷假设的; 强一般等价类测试是基于多缺陷假设的; 等价类笛卡儿积的每个元素对应的测试用例; 等价类笛卡儿积的每个元素对应的测试用例;
g f e a b c d
计算机软件测试
弱健壮等价类测试
1 . 对于有效输入, 使用每个有效类的一个值( 就像我们 对于有效输入 , 使用每个有效类的一个值 ( 在所谓弱一般等价类测试中所做的一样。 在所谓弱一般等价类测试中所做的一样。) 对于无效输入,测试用例将拥有一个无效值, 2.对于无效输入,测试用例将拥有一个无效值,并保持 其余的值都是有效的。 其余的值都是有效的。
计算机软件测试
佣金问题的输入域等价类划分
输入变量有效类: 输入变量有效类: L1 = {枪机:1≤枪机 枪机: 枪机 枪机≤70} 枪机 L2 = {枪机:枪机 = -1} 枪机: 枪机 S1 = {枪托:1≤枪托 枪托: 枪托 枪托≤80} 枪托 B1 = {枪管:1≤枪管 枪管: 枪管 枪管≤90} 枪管 输入变量无效类: 输入变量无效类: L3 = {枪机:枪机 或枪机 枪机: 或枪机<-1} 枪机 枪机=0或枪机 L4 = {枪机:枪机 枪机: 枪机 枪机>70} S2 = {枪托:枪托 枪托: 枪托 枪托<1} S3 = {枪托:枪托 枪托: 枪托 枪托>80} B2 = {枪管:枪管 枪管: 枪管 枪管<1} B3 = {枪管:枪管 枪管: 枪管 枪管>90} 计算机软件测试
计算机软件测试
佣金问题的输出域等价类测试用例
用例ID OR1 OR2 OR3 枪机 5 15 25 枪托 5 15 25 枪管 5 15 25 销售额 500 1500 2500 佣金 50 175 360
计算机软件测试
指导方针和观察
• 等价类测试的弱形式(一般或健壮)不如对应的强形式的测试全面。 等价类测试的弱形式(一般或健壮)不如对应的强形式的测试全面。 • 如果实现语言是强类型的(无效值会引起运行时错误),则没有必要使 如果实现语言是强类型的(无效值会引起运行时错误)
用健壮形式的测试。 用健壮形式的测试。 • 如果错误条件非常重要,则进行健壮形式的测试是合适的。 如果错误条件非常重要,则进行健壮形式的测试是合适的。 • 如果输入数据以离散值区间和集合定义,则等价类测试是合适的。当 如果输入数据以离散值区间和集合定义,则等价类测试是合适的。 然也适用于如果变量值越界系统就会出现故障的系统。 然也适用于如果变量值越界系统就会出现故障的系统。 • 通过结合边界值测试,等价类测试可得到加强。 通过结合边界值测试,等价类测试可得到加强。 • 如果程序函数很复杂,函数的复杂性可以帮助标识有用的等价类,就 如果程序函数很复杂,函数的复杂性可以帮助标识有用的等价类, 函数一样。 像NextDate函数一样。 函数一样 • 强等价类测试假设变量是独立的,相应的测试用例相乘会引起冗余问 强等价类测试假设变量是独立的, 题。如果存在依赖关系,则常常会生成“错误”测试用例,就像 NextDate函数一样。 函数一样。 函数一样 • 在发现“合适”的等价关系之前,可能需要进行多次尝试,就像 NextDate函数例子一样。在其他情况下,存在“明显”或“自然”等价 函数例子一样。 自然” 函数例子一样 在其他情况下,存在“明显” 关系。如果不能肯定,最好对任何合理的实现进行再次预测。 关系。如果不能肯定,最好对任何合理的实现进行再次预测。
佣金问题的强健壮等价类测试用例
用例ID SR1 SR2 SR3 SR4 SR5 SR6 SR7 枪机 -2 35 35 -2 -2 35 -2 枪托 40 -2 40 -2 40 15 -2 枪管 45 45 -2 45 -2 -2 -2 预期输出 无效输入 无效输入 无效输入 无效输入 无效输入 无效输入 无效输入
计算机软件测试
NextDate函数的强健壮等价类测试用例 NextDate函数的强健壮等价类测试用例
用例ID SR1 SR2 SR3 SR4 SR5 SR6 SR7 月份 -1 6 6 -1 6 -1 -1 日期 15 -1 15 -1 -1 15 -1 年 1912 1912 1811 1912 1811 1811 1811 预期输出 无效输入 无效输入 无效输入 无效输入 无效输入 无效输入 无效输入
第六章 等价类测试
计算机软件测试
等价类定义
等价类是指某个输入域的子集合,在该子集合中, 等价类是指某个输入域的子集合,在该子集合中,各个输 入数据对于揭露程序中的错误都是等效的, 入数据对于揭露程序中的错误都是等效的,或者进行相同 的处理。 的处理。测试某等价类的一组数据就等价于对这一类其他 值的测试。 值的测试。