软件测试之黑盒测试(等价类划分,边界值分析,判定表驱动)
2017-04-25 22:20
316 查看
案例实战—直角三角形
试用等价类划分、边界值分析和因果图加判定表驱动法为三角形问题中的直角三角形设计测试用例。假定三边边长a、b和c均为1到100之间的正整数,其中整数的要求通过数据类型控制。直角三角形问题满足以下规则:当三边中任意两边边长之和小于等于第三边,则输出“非三角形“;
当其中两边边长的平方和等于第三边的平方,则输出“直角三角形”;
当任意两边边长的平方和都不等于第三边的平方,则输出“一般三角形”。
当三边中任意一边边长小于1或者大于100,则给出“输入无效”的提示信息。
要求如下:
① 等价类划分法中需分析输入域和输出域得到等价类,并设计覆盖弱健壮等价类的测试用例。
② 边界值分析法在等价类划分的基础上考虑输入域和输出域的边界情况,补充测试用例。
③ 判定表驱动法需分析程序的规格说明,列出原因和结果,画出因果图,并将因果图转换为判定表,设计测试用例。
④ 运行待测程序,将设计的测试用例通过界面实现输入,记录实际输出,并给出测试结果。如果预期输出与实际输出相匹配,则测试结果为Passed,否则,测试结果为Failed。
⑤ 通过应用实例,简单总结归纳等价类划分、边界值分析、判定表驱动等黑盒测试技术在测试用例设计和测试执行方面的优缺点及适用情况。
参考答案:
(1) 等价类划分
分析输入域得到的等价类如表1所示。表1 直角三角形问题输入域等价类表
null | 有效等价类 | 编号 | 无效等价类 | 编号 |
---|---|---|---|---|
取值范围 | 1≤a≤100 | 1 | a<1 | 11 |
a>100 | 12 | |||
1≤b≤100 | 2 | b<1 | 13 | |
b>100 | 14 | |||
1≤c≤100 | 3 | c<1 | 15 | |
c>100 | 16 | |||
构成一般三角形 | a+b>c | 4 | a+b≤c | 17 |
b+c>a | 5 | b+c≤a | 18 | |
c+a>b | 6 | a+c≤b | 19 | |
a²+b²≠c²且b²+c²≠a²且c²+a²≠b² | 7 | |||
构成直角三角形 | a²+b²=c² | 8 | ||
b²+c²=a² | 9 | |||
c²+a²=b² | 10 |
表2 直角三角形问题等价类表
测试用例编号 | a | b | c | 预期输出 | 实际输出 | 覆盖等价类 | 测试结果 |
---|---|---|---|---|---|---|---|
T1 | 40 | 50 | 60 | 一般三角形 | 一般三角形 | 1、2、3、4、5、6、7 | Passed |
T2 | 30 | 40 | 50 | 直角三角形 | 一般三角形 | 1、2、3、4、5、6、8 | Failed |
T3 | 50 | 30 | 40 | 直角三角形 | 一般三角形 | 1、2、3、4、5、6、9 | Failed |
T4 | 40 | 50 | 30 | 直角三角形 | 一般三角形 | 1、2、3、4、5、6、10 | Failed |
T5 | 0 | 50 | 50 | 输入无效 | 输入无效 | 11、2、3 | Passed |
T6 | 101 | 50 | 50 | 输入无效 | 输入无效 | 12、2、3 | Passed |
T7 | 50 | 0 | 50 | 输入无效 | 输入无效 | 1、13、3 | Passed |
T8 | 50 | 101 | 50 | 输入无效 | 输入无效 | 1、14、3 | passed |
T9 | 50 | 50 | 0 | 输入无效 | 输入无效 | 1、2、15 | Passed |
T10 | 50 | 50 | 101 | 输入无效 | 输入无效 | 1、2、16 | Passed |
T11 | 20 | 30 | 60 | 非三角形 | 非三角形 | 1、2、3、17 | Passed |
T12 | 60 | 20 | 30 | 非三角形 | 非三角形 | 1、2、3、18 | Passed |
T13 | 30 | 60 | 20 | 非三角形 | 非三角形 | 1、2、3、19 | Passed |
(2) 边界值分析
按照健壮性边界值分析的取值方法,对每个输入分别取7个值,即为min-、min、min+、nom、max-、max和max+,如表4所示。表4 直角三角形问题输入域健壮性边界值分析
输入域 | 等价类 | 边界值 |
---|---|---|
a | 1≤a≤100 | 01、2、50、99、100、101 |
b | 1≤b≤100 | 0、1、2、50、99、100、101 |
c | 1≤c≤100 | 0、1、2、50、900、101 |
4000
析如表5所示。
表5 直角三角形问题输出域边界值分析
输出域 | 等价类 | 边界值 |
---|---|---|
输入无效 | a+b≤c | a+b=c-1、a+b=c、a+b=c+1 |
b+c≤a | b+c=a-1、b+c=a、b+c=a+1 | |
c+a≤b | c+a=b-1、c+a=b、c+a=b+1 |
表6 直角三角形问题边界值测试用例
测试用例编号 | a | b | c | 预期输出 | 实际输出 | 测试结果 |
---|---|---|---|---|---|---|
T1 | 0 | 50 | 50 | 输入无效 | 输入无效 | Passed |
T2 | 1 | 50 | 50 | 一般三角形 | 输入无效 | Failed |
T3 | 2 | 50 | 50 | 一般三角形 | 一般三角形 | Passed |
T4 | 99 | 50 | 50 | 一般三角形 | 一般三角形 | Passed |
T5 | 100 | 50 | 50 | 非三角形 | 输入无效 | Failed |
T6 | 101 | 50 | 50 | 输入无效 | 输入无效 | Passed |
T7 | 50 | 0 | 50 | 输入无效 | 输入无效 | Passed |
T8 | 50 | 1 | 50 | 一般三角形 | 输入无效 | Failed |
T9 | 50 | 2 | 50 | 一般三角形 | 一般三角形 | Passed |
T10 | 50 | 99 | 50 | 一般三角形 | 一般三角形 | Passed |
T11 | 50 | 100 | 50 | 非三角形 | 输入无效 | Failed |
T12 | 50 | 101 | 50 | 输入无效 | 输入无效 | Passed |
T13 | 50 | 50 | 0 | 输入无效 | 输入无效 | Passed |
T14 | 50 | 50 | 1 | 一般三角形 | 输入无效 | Failed |
T15 | 50 | 50 | 2 | 一般三角形 | 一般三角形 | Passed |
T16 | 50 | 50 | 99 | 一般三角形 | 一般三角形 | Passed |
T17 | 50 | 50 | 100 | 非三角形 | 输入无效 | Failed |
T18 | 50 | 50 | 101 | 输入无效 | 输入无效 | Passed |
T19 | 30 | 40 | 50 | 直角三角形 | 一般三角形 | Failed |
(3) 判定表驱动
①分析程序的规格说明,列出原因和结果。原因:
C1—1≤a
C2—a≤100
C3—1≤b
C4—b≤100
C5—1≤c
C6—c≤100
C7—a+b>c
C8—b+c>a
C9—c+a>b
C10—a2+b2=c2
C11—b2+c2=a2
C12—c2+a2=b2
结果:
E1—输入无效
E2—非三角形
E3—一般三角形
E4—直角三角形
中间结果:
11—输入有效
12—符合三角形一般规则
13—可以构成三角形
14—符合直角三角形一般规则
② 找出原因与结果间的因果关系、原因与原因间的约束关系,画出如图1所示的因果图。
图1 直角三角形问题因果图
③ 将因果图转换成如表7所示的判定表。
表7 直角三角形问题判定表
④ 根据判定表,设计如表8所示的测试用例,给出输入数据和预期输出。
表8直角三角形问题判定表驱动测试用例
相关文章推荐
- 【软件测试】黑盒测试技术——等价类划分和边界值分析
- 测试用例设计白皮书--判定表驱动分析方法
- 黑盒测试--等价类划分、边界值分析
- 软件测试学习笔记之边界值分析
- 测试用例设计白皮书--判定表驱动分析方法
- 测试用例设计白皮书--判定表驱动分析方法
- 简练软考知识点整理-软件测试之边界值分析
- (转)测试用例的设计方法(全)之一 等价类划分、边界值分析
- 3.4 黑盒测试用例的设计方法 之 等价类划分与边界值分析
- 简练软考知识点整理-软件测试之边界值分析
- 测试用例设计白皮书--判定表驱动分析方法
- 软件测试--黑盒测试常用测试分析方法总结
- 软件测试基础——边界值分析
- 测试用例设计白皮书--判定表驱动分析方法
- 软件测试边界值分析
- 测试用例设计白皮书--判定表驱动分析方法
- 测试为先/测试驱动案例分析
- “测试驱动的软件开发”,与测试无关
- CodeTEST嵌入式软件在线测试与分析工具在嵌入式系统开发中的应用
- 测试并优化基于软件的网络分析工具