黑盒测试方法实例分析
一:三角形问题(等价类划分法)
例:输入三个整数为三角形的三条边的长度值,程序打印输出这个三角形为不等边的,等腰的,或是等边三角形。
分析:
设三边分别为A,B,C,如能构成三角形的三边,须:
●A>O,B>0,C>0,且A+B>C,B+C>A,A+C>B;
●如是等腰三角形,则要判断A=B||A=C;
●如是等边三角形,须判断是否A=B,且B=C,且A=C;
由此可得三角形等价类设计表:
输入条件 | 有效等价类 | 无效等价类 |
是否为三角形的三边 |
A>0 (1) B>0 (2) C>0 (3) A+B>C (4) B+C>A (5) A+C>B (6) |
A<=0 (7) B<=0 (8) C<=0 (9) A+B<=C (10) B+C<=A (11) A+C<=B (12) |
是否为等腰三角形 |
A=B (13) B=C (14) A=C (15) |
A≠B且B≠C且C≠A(16) |
是否为等边三角形 | A=B且B=C且C=A (17) |
A≠B (18) B≠C (19) C≠A (20) |
设计测试用例,输入顺序为A,B,C
序号 | “A ,B ,C” | 覆盖等价类 | 输出 |
1 | “3,4,5” | (1),(2),(3),(4),(5),(6) | 一般三角形 |
2 | “0,1,2” | (7) |
不能构成三角形 |
3 | “1,0,2” | (8) | |
4 | “1,2,0” | (9) | |
5 | “1,2,3” | (10) | |
6 | “1,3,2” | (12) | |
7 | “3,1,2” | (11) | |
8 | “3,3,4” | (1),(2),(3),(4),(5),(6),(13) |
等腰三角形 |
9 | “3,4,4” | (1),(2),(3),(4),(5),(6),(14) | |
10 | “3,4,3” | (1),(2),(3),(4),(5),(6),(15) | |
11 | “3,4,5” | (1),(2),(3),(4),(5),(6),(16) | 非等腰三角形 |
12 | “3,3,3” | (1),(2),(3),(4),(5),(6),(17) | 等边三角形 |
13 | “3,4,4” | (1),(2),(3),(4),(5),(6),(18) |
非等边三角形 |
14 | “3,4,3” | (1),(2),(3),(4),(5),(6),(19) | |
15 | “3,3,4” | (1),(2),(3),(4),(5),(6),(20) |
二:找零钱最佳组合(边界值分析法)
例:假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内(P),求找给顾客最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种);
1:分析输入的情形
R:商店货品价格(R=<100且R为整数) P:顾客付款金额(0<P<100)
●R > 100 (无效输出)(1)
●R <= 0 (无效输出)(2)
(1)(2)为R的无效输入
●P > 100(多付) (无效输出)(3)
●0 < R < = 100
P < R (少给) (无效输出)(4)
(3)(4)为P的无效输入
●R<= P <= 100 (5)
●0 < R < = 100 (6)
(5)(6)同时满足,交易才能进行
2:分 析 输 出 情 形
设PR=P-R(即PR为找给顾客的余额)
●N50 N50 = 1 (PR>=50) (7)
N50 = 0 (PR<50) (8)
●N10 4>=N10>=1 (40>=PR>=10) (9)
N10 = 0 (PR<10) (10)
●N5 N5=1 (11)
N5 = 0 (PR减去个位上钱数能被10整除)(如14-4=10) (12)
●N1 4>=N1>=1 (13)
N1 = 0 (PR为5的倍数) (14)
3:由上述输入/输出条件组合出可能的情形 。
●R > 100 (1)
●R <= 0 (2)
●0 < R <= 100, P > 100 (3)
●0 < R <= 100, P < R (4)
●0 < R <= 100, R <= P <= 100, RR = 50 (5)(6)(7)
●0 < R <= 100, R <= P <= 100, RR = 49 (5)(6)(8)(9)(11)
●0 < R <= 100, R <= P <= 100, RR = 10 (5)(6)(9)
●0 < R <= 100, R <= P <= 100, RR = 9 (5)(6)(10)(11)(13)
●0 < R <= 100, R <= P <= 100, RR = 5 (5)(6)(11)
●0 < R <= 100, R <= P <= 100, RR = 4 (5)(6)(13)
●0 < R <= 100, R <= P <= 100, RR = 1 (5)(6)(13)
●0 < R <= 100, R <= P <= 100, RR = 0 (5)(6)(14)
4、 为 满 足 以 上 之 各 种 情 形 , 测 试 资 料 设 计 如 下 :
1). 货品价格 = 101
2). 货品价格 = 0
3). 货品价格 = -1
4). 货品价格 = 100, 付款金额 = 101
5). 货品价格 = 100, 付款金额 = 99
6). 货品价格 = 50, 付款金额 = 100
7). 货品价格 = 51, 付款金额 = 100
8). 货品价格 = 90, 付款金额 = 100
9). 货品价格 = 91, 付款金额 = 100
10). 货品价格 = 95, 付款金额 = 100
11). 货品价格 = 96, 付款金额 = 100
12). 货品价格 = 99, 付款金额 = 100
13). 货品价格 = 100, 付款金额 = 100
三:NextDate问题设计(决策表法实例分析)
例:NextDate (int month, int day, int year)函数规定:输入三个整数:month、day和year,函数的输出为输入日期后一天的日期。例如,输入为2006年3月7日,则函数的输出为2006年3月8日,year满足1920≤year≤2050。
步骤如下:
1)构造决策表
●M1={月份:30天/月},
M2={月份: 31天/月,12月除外},
M3={月份: 12月},M4={月份: 2月}
●D1={日期:1<=日<=27},
D2={日期:日=28},
D3={日期:日=29} ,
D4={日期:日=30},
D5={日期:日=31}
●Y1={年:闰年},Y2={年:平年}
注:二月:平年28天,闰年29天
条件桩:
●C1:月份在{M1,M2,M3,M4}中之一
●C2:日期在{D1,D2,D3,D4 ,D5}中之一
●C3:年在{Y1,Y2}中之一
动作桩:
●A1:不可能
●A2:日期增1
●A3:日期复位(置1)
●A4:月份增1
●A5:月份复位(置1)
●A6:年增1
C1:月 | C2:日 | C3:年 | A1:不可能 | A2:日期+1 |
A3:日期复位 (置1) |
A4:月份+1 |
A5:月份复位 (置1 ) |
A6:年+1 | |
1 | M1 | D1 | √ | ||||||
2 | M1 | D2 | √ | ||||||
3 | M1 | D3 | √ | ||||||
4 | M1 | D4 | √ | √ | |||||
5 | M1 | D5 | √ | ||||||
6 | M2 | D1 | √ | ||||||
7 | M2 | D2 | √ | ||||||
8 | M2 | D3 | √ | ||||||
9 | M2 | D4 | √ | ||||||
10 | M2 | D5 | √ | √ | |||||
11 | M3 | D1 | √ | ||||||
12 | M3 | D2 | √ | ||||||
13 | M3 | D3 | √ | ||||||
14 | M3 | D4 | √ | ||||||
15 | M3 | D5 | √ | √ | √ | ||||
16 | M4 | D1 | √ | ||||||
17 | M4 | D2 | Y1 | √ | |||||
18 | M4 | D2 | Y2 | √ | √ | ||||
19 | M4 | D3 | Y1 | √ | √ | ||||
20 | M4 | D3 | Y2 | √ | |||||
21 | M4 | D4 | √ | ||||||
21 | M4 | D5 | √ |
2)由决策表设计测试用例,得测试用例表
用例编号 | 月 | 日 | 年 | 预期输出 |
1--3 | 4 | 12/28/29 | 2001 | 2001年4月13/29/30日 |
4 | 4 | 30 | 2001 | 2001年5月1日 |
5 | 4 | 31 | 2001 | 不可能 |
6--9 | 1 | 15/28/29/30 | 2001 | 2001年1月16/29/30/31日 |
10 | 1 | 31 | 2001 | 2001年2月1日 |
11-14 | 12 | 15/28/29/30 | 2001 | 2001年12月16/29/30/31日 |
15 | 12 | 31 | 2001 | 2002年1月1日 |
16 | 2 | 15 | 2001 | 2001年2月16日 |
17 | 2 | 28 | 2004 | 2004年2月29日 |
18 | 2 | 28 | 2001 | 2001年3月1日 |
19 | 2 | 29 | 2005 | 2005年3月1日 |
20 | 2 | 29 | 2001 | 不可能 |
21,22 | 2 | 30/31 | 2001 | 不可能 |
四:工资发放问题(因果图)
例:某厂工资发放,分析测试需求,列出输入和输出条件,情况描述如下:
●工资分年薪制a1,月薪制a2;
●错误程度分普通a3,严重a4;
●工资为a1的员工范普通错误时扣工资1%(b1),犯严重错误时扣工资2%(b2);
●工资为a2的员工范普通错误时扣工资2%(b3),犯严重错误时扣工资4%(b4);
其中a1与a2互斥,b1,b2与b3,b4互斥;a3和a4可同时兼备。
分析:(因果图)-转化成->(判定表)-转换成->(测试用例表)
判定表:
输入 |
|
|
|
|
|
|
|
|
a1 | T | T | T | T | F | F | F | F |
a2 | F | F | F | F | T | T | T | T |
a3 | T | F | T | F | T | F | T | F |
a4 | F | T | T | F | F | T | T | F |
输出 | ||||||||
b1 | × | × | ||||||
b2 | × | × | ||||||
b3 | × | × | ||||||
b4 | × | × |
可得测试用例表如下:
测试用例编号 | 输入数值 | 预期输出 |
1 | 工资为a1的员工,犯普通错误 | b1 |
2 | 工资为a1的员工,犯严重错误 | b2 |
3 | 工资为a1的员工,同时犯严重错误和普通错误 | b1+b2 |
4 | 工资为a1的员工,没犯错误 | 0 |
5 | 工资为a2的员工,犯普通错误 | b3 |
6 | 工资为a2的员工,犯严重错误 | b4 |
7 | 工资为a2的员工,同时犯严重错误和普通错误 | b3+b4 |
8 | 工资为a2的员工,没犯错误 | 0 |
黑盒测试方法实例分析相关推荐
- 黑盒测试方法——边界值分析法
目录 目录 一.方法简介 二.实战演习 一.方法简介 1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等 ...
- 方案:黑盒测试方法实例2
根据因果图建立判定表. 表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况.表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据. 判定表: 问题要求:& ...
- 黑盒测试方法----等价类分析表
1.定义: 1)等价类:将输出/输入分成不同的组,对于同一个组的输入,软件或系统有相似的表现行为,好像是系统是以相同的方式对这些输入进行处理,这种技术成为等价类划分. 2)边界值:对输入/输出的数据边 ...
- 黑盒测试方法|测试用例的设计方法--边界值分析方法
黑盒测试方法|测试用例的设计方法–边界值分析方法 目录 等价类划分方法 边界值分析方法 错误推测方法 因果图方法 判定表驱动分析方法 正交实验设计方法 功能图分析方法 场景设计方法 边界值分析方法 一 ...
- 『软件测试3』八大典型的黑盒测试方法已来袭,快快接住!
文章目录 一.等价类划分法 1.定义 2.等价类划分法步骤 3.设计测试用例步骤 4.案例:学生选修课程 二.边界值分析法 1.边界值分析法概述 2.设计测试用例 3.边界值设计原则 三.错误推测法 ...
- 【软件测试】黑盒测试方法小结
黑盒测试方法小结 1.等价类划分法 一个程序可以有多个输入,等价类划分就是将这些输入数据按照输入需求进行分类,将它们划分为若干个子集,这些子集即为等价类(某个输入域的子集合),在每个等价类中选择有代表 ...
- 黑盒测试方法—等价类划分法
等价划分法是一种不需要考虑程序的内部结构,只需要考虑程序输入数据的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性. 需要把用户所有可能输入的数据划分成若 ...
- 软件测试常见概念(软件生命周期、软件开发模型、软件质量模型、软件缺陷管理、软件测试概述、软件测试分类、软件测试与软件开发、软件测试原则、黑盒测试方法、白盒测试方法、性能测试)
文章目录 1. 软件概述 1.1 软件生命周期 1.2 软件开发模型 1.2.1 瀑布模型 1.2.2 快速原型模型 1.2.3 迭代模型(增量模型或演化模型) 1.2.4 螺旋模型 1.2.5 敏捷 ...
- 黑盒测试因果图法实例分析
一. 黑盒测试:是一种常用的软件测试方法,它将被测软件看作一个打不开的黑盒,主要根据功能需求设计测试用例,进行测试.几种常用的黑盒测试方法和黑盒测试工具有,等价类划分法.边界值分析法.因果图法.决策表 ...
最新文章
- oracle exp语句 按日期命名,Windows平台下Oracle数据库exp全备脚本,根据时间保留备份数及自动上备份至FTP...
- 2 模版_轻量html模版渲染库 cJinja
- struts解决form提交的中文参数乱码问题
- mysql 怎么在VS2017上附加进去
- html怎么在页面中获取操作用户的id,CSS ID 选择器详解
- 使用 C# 下载文件的十八般武艺
- leetcode344. 反转字符串 史上最简单力扣题
- sqlite可视化工具推荐
- Netty工作笔记0019---Selector API介绍
- 840万应届生创历史新高,企业大规模缩招,互联网行业首次出现需求负增长
- MOSS 2007 / WSS 3.0 运行在Windows Server 2008上不能上传大于28M的文件【续】
- 1.Docket 安装简介
- 中值滤波原理及c语言的实现,关于中值滤波算法,以及C语言实现(转)
- 给MacBook装win7遇到的坑
- mysql表别名不加as_数据库别名AS区别
- TLV自定义通信协议的编码和解析
- 小白之玩转Mac--自动切换输入法
- telnet远程登录AAA认证
- C++ 关于存档与读档
- Notes 发送失败 提示没有注册类, ClassID: {29131539-2EED-1069-BF5D-00DD011186B7}
热门文章
- 中国移动力撑国产5G手机,恐怕也难助它们击败苹果
- 线性拟合与曲线拟合,直接在图上添加拟合曲线、拟合方程、判别系数R2和P值
- win10怎么设置外接摄像头_Win10专业版外接摄像头使用不了的处理方法
- ChatGPT写新闻-ChatGPT写文章
- 关于Email地址验证的正则表达式
- 他被称为中国第一程序员,一人之力单挑微软!真牛!
- IDEA MAVEN项目中导入jar包not found
- 十分钟了解“微服务”
- php strtotime -1 day,PHP strtotime() 函数
- 北工大计算机学院男女比例,北工大为什么最牛?为什么说好男不上北工大?