软件测试之黑盒测试(等价类划分,边界值分析,判定表驱动)
来源:互联网 发布:webshell采集工具 编辑:程序博客网 时间:2024/05/16 15:56
案例实战—直角三角形
试用等价类划分、边界值分析和因果图加判定表驱动法为三角形问题中的直角三角形设计测试用例。假定三边边长a、b和c均为1到100之间的正整数,其中整数的要求通过数据类型控制。直角三角形问题满足以下规则:
当三边中任意两边边长之和小于等于第三边,则输出“非三角形“;
当其中两边边长的平方和等于第三边的平方,则输出“直角三角形”;
- 当任意两边边长的平方和都不等于第三边的平方,则输出“一般三角形”。
- 当三边中任意一边边长小于1或者大于100,则给出“输入无效”的提示信息。
要求如下:
- ① 等价类划分法中需分析输入域和输出域得到等价类,并设计覆盖弱健壮等价类的测试用例。
- ② 边界值分析法在等价类划分的基础上考虑输入域和输出域的边界情况,补充测试用例。
- ③ 判定表驱动法需分析程序的规格说明,列出原因和结果,画出因果图,并将因果图转换为判定表,设计测试用例。
- ④ 运行待测程序,将设计的测试用例通过界面实现输入,记录实际输出,并给出测试结果。如果预期输出与实际输出相匹配,则测试结果为Passed,否则,测试结果为Failed。
- ⑤ 通过应用实例,简单总结归纳等价类划分、边界值分析、判定表驱动等黑盒测试技术在测试用例设计和测试执行方面的优缺点及适用情况。
参考答案:
(1) 等价类划分
分析输入域得到的等价类如表1所示。
表1 直角三角形问题输入域等价类表
直角三角形问题包括四种可能的输出,分别为直角三角形、一般三角形、非三角形和输入无效,其中输入域已覆盖输入无效的情况。分析输出域得到的等价类如表2所示,覆盖弱健壮等价类的测试用例如表3所示。
表2 直角三角形问题等价类表
(2) 边界值分析
按照健壮性边界值分析的取值方法,对每个输入分别取7个值,即为min-、min、min+、nom、max-、max和max+,如表4所示。
表4 直角三角形问题输入域健壮性边界值分析
输出域边界值分析如表5所示。
表5 直角三角形问题输出域边界值分析
综合考虑输入域和输出域的边界值,测试用例设计如表6所示。
表6 直角三角形问题边界值测试用例
表6 直角三角形问题边界值测试用例
(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 黑盒测试用例的设计方法 之 等价类划分与边界值分析
- 黑盒测试案例分析之等价类划分
- 黑盒测试之等价类划分
- 黑盒测试之等价类划分法
- 黑盒测试之----等价类划分
- 黑盒设计测试用例方法——等价类划分法、边界值分析法、错误推断法
- 黑盒设计测试用例方法——等价类划分法、边界值分析法、错误推断法 .
- 黑盒测试---等价类划分
- 软件黑盒测试之边界值方法
- 品味 Systematic Software Testing (三)-测试分析和设计(二):黑盒测试技术之等价类划分
- 黑盒测试技术之等价类划分_软件测…
- 黑盒测试技术之等价类划分_软件测…
- 黑盒测试技术之等价类划分_软件测…
- 黑盒测试技术之等价类划分_软件测…
- 黑盒测试用例设计方法之等价类划分
- what is a processor (上)
- start stop reload
- Java关键字static,面试经常会问到(二)
- vue低仿知乎日报
- nginx在centos7的安装
- 软件测试之黑盒测试(等价类划分,边界值分析,判定表驱动)
- ListView和SQLite数据库案例--商品展示
- 【技能库】--Spring (Spring boot)MVC 移动端+PC端 上传图片(182)
- 第七章 7-7 鼠标滚轮
- Java可变参数
- java只允许单继承
- 指针和数组,const int *,sizeof,优先级等的一些坑
- Java中的数据类型
- 基础知识(一)