第3章(3)黑盒测试方法3决策表法.pptx
黑盒测试方法---决策表法(PPT29张)

条件桩
条件项
动作桩
动作项
规 则
条件桩
决策表示例
条件项 Logo
动作桩 动作项
决策表的生成
Logo
• 若c1、c2、c3都为真,则采取动作a1和a2; • 若c1、c2都为真,c3为假,则采取动作a1和 a3; • 在c1为真c2为假条件下规则中的c3条目叫做 “不关心(条件无关或条件不适用)”条目 。 • 将任何一个条件组合的特定取值及相应要执 行的动作称为一条规则,在决策表中贯穿条 件项和动作项的一列就是一条规则。
• 试分析规格说明书,建立决策表,并简化
Logo
Thank You !
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •
目 录
1 2 3 4 5 决策表法思想 决策表的生成 决策表法设计测试用例 决策表的简化 决策表应用
Logo
1
决策表法思想
Logo
• 决策表的概念:决策表是分析和表达多逻 辑条件下执行不同操作情况的工具。
决策表实例
• 在一些数据处理问题当中,某些操作的实 施依赖于多个逻辑条件的组合,即:针对 不同逻辑条件的组合值,分别执行不同的 操作。决策表很适合于处理这类问题。
黑盒测试:决策表法实例分析

黑盒测试:决策表法实例分析
采用决策表法对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。
第三章 黑盒测试

无效等价类
无效等价类是指对程序规格说明, 是不合理或无意义的输入数据所构成的 集合。 利用无效等价类,可以检查程序功 能和性能的实现是 否有不符合规格说 明要求的地方。 对于具体的问题,无效等价类至少应有 一个,也可能有多个。
等价类划分
根据已列出的等价类表,按以下步骤确 定测试用例: 1)为每个等价类规定一个唯一的编号。 2) 设计一个新的测试用例,尽可能多地覆盖 尚未被覆盖的有效等价类,重复这一步,直 到测试用例覆盖了所有的有效等价类。 3) 设计一个新的测试用例,使其覆盖并且只 覆盖一个还没有被覆盖的无效等价类。重复 这一步,直至测试用例覆盖了所有的无效等 价类。
对闰年问题 给予更多的注意
标准等价类测试用例:
测试用例
Test1 Test2 Test3 Test4
Month
4 5 2 4
Day
15 29 30 31
Year
2000 1996 2002 2000
预期输出
4/16/2000 5/30/1996 2/31/2002(不可能的日期) 5/1/2000(不可能的输入日期)
健壮性等价类测试用例
等价类划分测试举例
1. 三角形问题的等价类测试用例
(1)传统等价类划分测试用例设计
在三角形问题中,输入条件要求:
● 整数; ● 三个数; ● 取值在1到100之间
仔细分析三角形问题,可得出其等价类表。
1
三角形问题的等价类
号码 无效等价类 号码
有效等价类
整数
1
一边为非整数 二边为非整数 三边均为非整数
因此,变量x1和x2,的无效值分别为: x1<a,x1>d 无效等价类 和 x2<e,x2>g
决策表法

重复A,B就可以得到精简的决策表. 重复A,B就可以得到精简的决策表. A,B就可以得到精简的决策表
决策表的简化
简化是以合并相似规则为目标; 简化是以合并相似规则为目标; 若表中有两条以上规则具有相同的动作, 若表中有两条以上规则具有相同的动作, 并且在条件项之间存在极为相似的关系, 并且在条件项之间存在极为相似的关系, 便可以合并。 便可以合并。
1 2 3 4 5
三角形问题的扩展决策表
a,b,c是否可以构成 a,b,c是否可以构成 三角形
7 8 9 10 11
6
N √
Y N N √
Y Y N √
Y Y Y Y Y Y
Y Y Y Y Y N
Y Y Y Y N Y
Y Y Y Y N N
Y Y Y N Y Y
Y Y Y N Y N
Y Y Y N N Y
Y Y Y N N N √
√ √ √ √ √
√
√
根据决策表测试用例
编号
DT1 DT2 DT3 DT4 DT5 DT6 DT7 DT8 DT9 DT10 DT11
[a,b,c]
412 142 124 555 ??? ??? 223 ??? 232 322 345
期望输出
非三角形 非三角形 非三角形 等边三角形 不可能 不可能 等腰三角形 不可能 等腰三角形 等腰三角形 一般三角形
作业
某厂对一部分职工重新分配工作,分配原则是: 年龄不满20岁,文化程度是小学者脱产学习, 文化程度是中学者当电工; 年龄满20岁但不足50岁,文化程度是小学或 中学者,男性当钳工,女性当车工;文化程 度是大学者技术员; 年龄满50及50以上,文化程度是小学或中学 者当材料员,文化程度是大学者当技术员。
黑盒测试决策表.pptx

每一个选择。
决策表举例
读书指南决策表
1234
5
问 你觉得疲倦吗?
YYYY N
题
你对内容感兴趣吗?
YYNN
Y
书中内容使你胡涂吗? Y N Y N Y
6
7
8
NNN
非三角形 一般三角形 等腰三角形 等边三角形 不可能
2 确定规则的入条件项
4 填入动作项
C1:a<b+c? C2:b<a+c? C3:C<a+b? C4:a=b? C5:a=c? C6:b=c? A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
实战演习 1
以下列问题为例给出构造决策表的具体过程。
如果某产品销售好并且库存低,则增加该产 品的生产;如果该产品销售好,但库存量不低, 则继续生产;若该产品销售不好,但库存量低, 则继续生产;若该产品销售不好,且库存量不低, 则停止生产。
实战演习 1
解法如下: 确定规则的个数。对于本题有2个条件(销售、库存),每个条件 可以有两个取值,故有22=4种规则。 列出所有的条件桩和动作桩。 填入条件项。 填入动作项,得到初始决策表,如下表所示。
第3章 黑盒测试方法
1
黑盒测试法概述
2
主
等价类测试
要
3
边界值测试
内
容
4
基于决策表的测试
5
因果图法
6
其它方法
等价类划分法
1
边界值法
2
黑盒测试决策表

功率大于50马力吗? Y Y Y Y N N N N
条 维修记录不全吗? 件
运行超过10年吗?
YYN N Y Y N N YNY N Y N Y N
动 进行优先处理 作 作其他处理
利用集合的笛卡尔积计算条件项的取值
2021/7/30
19
例:维修机器问题(续)
(4)填入动作项;
1 2 3 4 5 6 78
不可能 不可能
5.决策表法
5.6决策表测试法的适用范围
决策表测试法适用于具有以下特征的应用程序:
(1)if-then-else逻辑突出 (2)输入变量之间存在逻辑关系 (3)涉及输入变量子集的计算 (4)输入和输出之间存在因果关系
2021/7/30
39
5.决策表法
适用于使用决策表设计测试用例的情况:
(1)合并
如果一个条件项(表中某列中的条件值) 和另外一个条件项所产生的动作是相 同的,且两个条件项对应的每一行的值 只有一个是不同的,则可以将其合并.合 并的项除了不同值变成”不关心”条 目外,其余不变
2021/7/30
10
(1)两条规则合并成一条
条件项“—” 表示与取值 无关。
2021/7/30
11
(2)包含
如果两个条件项的动作是相同的,对任意 条件1的值和条件2中对应的值,如果满足:
A.如果条件1的值是T(F),则条件2中的值也 是T(F).
B.如果条件1的值是-(不关心),则条件2中的 值是T,F,-,称条件1包含条件2,条件2可以撤 去.
重复A,B就可以得到精简的决策表.
请用基于判定表的方法设计测试用例。
2021/7/30
22
一、设计判定表
•(1)条件桩
实验3、黑盒测试:决策表测试方法

20 15 —20 16 学年第 2 学期软件测试技术课程实验报告学院:计算机科学技术专业:软件工程班级:软件二班姓名:吴德宁学号:041340217任课教师:刘玉宝实验日期:2016年 5 月17 日实验题目实验3、黑盒测试:决策表测试方法实验目的1、掌握决策表的概念2、掌握决策表测试用例设计法。
实验内容1、对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:年增11 2 3 4 5 6 7 8 9 10C1:月M M M M M1 M M2 M M2 M2cin>>year;}cout<<"请输入月份:"<<endl;cin>>month;while (month>12||month<1){cout<<"月份输入有误,请重新输入"<<endl;cin>>month;}cout<<"请输入日期:"<<endl;cin>>day;while (day>31||day<1){cout<<"日期输入有误,请重新输入"<<endl;cin>>day;}if((year%4==0 && year%100!=0) || (year%400==0)) //检查闰年;{int i=0;i=day-29;while(month==2&&i>0){cout<<"本月是闰月,请在1-29之间从新输入日期"<<endl;cin>>day;}if(month==2&&day==28){month=3;day=1;}else if(month==2&&day==29){month=3;day=2;}else day=day+2;}else day=day+2;//月底计算;switch(month){case 1:case 3:case 5:case 7:case 10:if (day==32){month++;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}else if (day==33){month++;day=2;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;case 2:if(day==29){month=3;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}else if(day==30){month=3;day=2;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;case 4:case 6:case 9:case 11:if(day==31){month++;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}else if(day==32){month++;day=2;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;if(day==32){year++;month=1;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;}cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}2、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。
黑盒测试

输入条件
有效等价类编 号
有效等价类
无效等价类编 号
无效等价类
是否三角形的 三条边
(1) (2) (3) (4) (5) (6)
(A>0), (B>0), (C>0), (A+B>C) (B+C>A) (A+C>B)
(7) (8) (9) (10) (11) (12)
(A≤0), (B≤0), (C≤0), (A+B≤C) (B+C≤A) (A+C≤B)
边界值设计原则 对边界值设计测试用例,应遵循以下几条原则: 1、如果输入或输出条件规定了值的范围,则应取刚达到这个 范围的边界的值,以及刚刚超越这个范围边界的值作为测试输 入数据。 2、如果输入或输出条件规定了值的个数,则用最大个数、最 小个数、比最小个数少一、比最大个数多一的数作为测试数据。 例如有规定“某文件可包括1至255个记录…”,则测试数据可 选1和255及0和256等值。
案例一
“一个程序读入3个整数,把这三个数值看作一个三角形 的3条边的长度值。这个程序要打印出信息,说明这个 三角形是不等边的、是等腰的、还是等边的。” 解:三角形判断的分析 我们可以设三角形的3条边分别为A,B,C。如果它们 能够构成三角形的3条边,必须满足: A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B。 如果是等腰的,还要判断A=B,或B=C,或A=C。 如果是等边的,则需判断是否A=B,且B=C,且A=C。
1980121
7个数字字符 有1个非数字 字符 全是非数字字 符 6个数字字符 19811m AUGUST 198108
第章黑盒测试-精品.ppt

(4)按限制条件或规则划分
如果规定了输入数据和须遵守的规则或限制条件,则可以 确立一个有效等价类(符合规则)和若干个无效等价类( 从不同角度违反规则)。
(5)细分等价类
2.2.2 等价类划分法的测试运用
1. NextDate 函数包含三个变量:month 、 day 和 year ,函 数的输出为输入日期后一天的日期。 例如,输入为 2019年3 月 7日,则函数的输出为 2019年3月8日 。要求输入变量 month 、 day 和 year 均为整数值,并且满足下列条件: ①1≤month≤12 ②1≤day≤31 ③1812≤year≤2019
(2)按数值划分
如果规格说明规定了一组输入数据,而且程序要对每个输入 值分别进行处理,则可为每一个输入值确立一个有效等价类 ,针对这组值确立一个无效等价类,即所以不允许输入值的 集合。
(3)按数值集合划分
如果输入条件规定了输入值的集合,或者是规定了“必须 如何”的条件,这时可确定一个有效等价类和一个无效等 价类。
第2章 黑盒测试
黑盒测试是一种常用的软件测试方法,它将被测软件看作一 个打不开的黑盒,主要根据功能需求设计测试用例,进行测 试。本章主要介绍几种常用的黑盒测试方法和黑盒测试工具, 并通过实例介绍各种方法的运用。
第2章 ቤተ መጻሕፍቲ ባይዱ盒测试
2.1黑盒测试的基本概念 2.2 等价类划分 2.3边界值分析法 2.4 因果图法 2.5 决策表法 2.6 黑盒测试方法的比较与选择 2.7 黑盒测试工具介绍
2.1黑盒测试的基本概念
黑盒测试是从一种从软件外部对软件实施的测试,也称 功能测试或基于规格说明的测试。
软件测试-第三章黑盒测试方法

局限性
测试结果的覆盖度不容易度量,测试的潜在风险 较高
5
适用阶段 当被测对象为函数时
完成对函数功能的测试 无需看函数代码,只需了解函数接口和返回值 对应单元测试阶段
当被测对象为功能时
完成对整个软件系统功能和易用性等的测试 无需看各功能点如何编程实现,只需要了解SRS中关
21
3.2 边界值测试
2覆盖所有输入条件的所有边界组合 可测试到所有的边界组合,但不利于缺陷的隔离和
定位
弱边界法
基于单缺陷假设 将调试的思想引入测试,优势在于便于快速隔离和
定位边界缺陷,且大大降低测试用例
全边界法
强边界+弱边界
22
3.2 边界值测试
并遵循独立性假设,即假设各个输入条件之 间相互独立,不产生相互影响,即不具有相 互依赖关系。也就是说,当针对某个输入条 件确定边界点时,不考虑其他输入条件可能 对该输入条件所产生的任何影响。
17
3.2 边界值测试
测试用例设计
测试难点 输入域的确定 边界的确定 边界点附近邻域的设置 测试用例的设计
于输入和输出的规定 对应系统测试,或有用户共同参与的验收测试阶段
6
测试方法的评价
测试用例对被测对象的覆盖率 测试用例的冗余 测试用例的数量 测试用例对缺陷的定位能力 测试用例设计的复杂度
7
黑盒测试类型 边界值测试 等价类划分测试 判定表(输入组合) 因果图测试 基于场景的测试 错误推测测试
确定邻域:即输入/输出域边界附近的邻域范围, 便于及时发现所有潜伏在边界附近的缺陷
设计用例:即从边界及其邻域抽取测试数据,设 计测试用例
决策表法-精选.ppt

序无关紧要。
第三章 黑盒测试及其用例的设计
3.7.3 决策表测试应用案例
• 用决策表测试法测试以下程序: 该程序有三个输入变量month、day、year(month、
day和year均为整数值,并且满足:1≤month≤12和 1≤day≤31),分别作为输入日期的月份、日、年份,通过 程序可以输出该输入日期在日历上隔一天的日期。 例如,输入为2019年11月29日,则该程序的输出为2000年 12月1日。 (1)分析各种输入情况,列出为输入变量month、day、year 划分的有效等价类。 (2)分析程序规格说明,结合以上等价类划分的情况给出 问题规定的可能采取的操作(即列出所有的动作桩)。 (3)根据(1)和(2),画出简化后的决策表。
3.7 决策表法
3.7.1 决策表 3.7.2 决策表应用 3.7.3 决策表测试应用案例
第三章 黑盒测试及其用例的设计
3.7.1 决策表
• 在所有的黑盒测试方法中,基于决策表(也称判定表)的 测试是最为严格、最具有逻辑性的测试方法。
• 决策表的概念:决策表是分析和表达多逻辑条件下执行不
同操作的情况的工具。
间存在极为相似的关系,便可以合并。 ➢ 合并后的条件项用符号“-”表示,说明执行的动作与该条件
的取值无关,称为无关条件。
三角形问题的决策表
第三章 黑盒测试及其用例的设计
3.7.2 决策表应用
• NextDate函数的决策表测试用例设计 ➢ 问题分析:NextDate函数的三个变量之间在输入定义域中
➢ 在单元测试时曾列出的许多在模块中常见的错误、以前产 品测试中曾经发现的错误等,这些就是经验的总结。
《软件测试黑盒测试》课件

在此添加您的文本16字
输入正确的用户名和密码,验证是否能够成功登录。
在此添加您的文本16字
测试登录功能的性能,如登录速度、并发用户数等。
案例二:在线银行转账功能测试
总结词:在线银行转账涉及到资金安全,黑盒测试通过 模拟用户转账操作,验证转账功能的正确性和安全性。
验证转账金额的准确性,包括输入金额的确
黑盒测试能够发现软件功能上的缺陷和错误,确 保软件按照需求规格正确运行。
提高软件质量
通过黑盒测试,可以评估软件的可靠性和稳定性 ,从而提高软件的整体质量。
降低维护成本
尽早发现软件缺陷可以减少后期维护和修复的成 本。
黑盒测试的适用范围
01
功能测试
验证软件是否满足需求规格中的功 能要求。
在此添加您的文本16字
详细描述
在此添加您的文本16字
测试支付过程中的异常处理能力,如支付卡信息错误、网 络中断等情况下的表现。
在此添加您的文本16字
验证支付记录的完整性和可追溯性,确保每一笔支付都有 明确的记录和状态更新。
在此添加您的文本16字
验证支付金额的准确性,包括输入金额的合法性、支付金 额的计算等。
黑盒测试的优缺点
• 覆盖面广,可以覆盖大部分功能点。
黑盒测试的优缺点
01
缺点
02
对于内部逻辑和复杂功能可能无法覆盖全 面,导致一些潜在问题被忽略。
03
对测试人员的要求较高,需要具备一定的 业务知识和分析能力。
04
测试用例的编写和维护工作量大,成本较 高。
黑盒测试的发展趋势
自动化测试的普及 随着自动化测试技术的不断发展 ,黑盒测试的自动化程度将越来 越高,从而提高测试效率和准确 性。
黑盒测试方法---决策表法

三角形问题决策表 Logo
测试用例 Logo
决策表应用 Logo
• 决策表最突出的优点是,能够将复杂的问题 按照各种可能的情况全部列举出来,简明并 避免遗漏。
• 利用决策表能够设计出完整的测试用例集合 。
• 运用决策表设计测试用例可以将条件理解为 输入,将动作理解为输出
NextDate函数的决策表测试用例设计 Logo
• M1:{month:month有30天} • M2:{month:month有31天,12月除外} • M3:{month:month是12月} • M4:{month:month是2月} • D1:{day:1≤day≤27} • D2:{day:day=28} • D3:{day:day=29} • D4:{day:day=30} • D5:{day:day=31} • Y1:{year:year是闰年} • Y2:{year:year不是闰年}
a3;
• 在c1为真c2为假条件下规则中的c3条目叫做 “不关心(条件无关或条件不适用)”条目 。
• 将任何一个条件组合的特定取值及相应要执 行的动作称为一条规则,在决策表中贯穿条 件项和动作项的一列就是一条规则。
决策表的生成----构造决策表的5个 Logo
步骤:
(1) 确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2) 列出所有的条件桩和动作桩。 (3) 填入条件项。 (4) 填入动作项,得到初始决策表。 (5) 简化决策表,合并相似规则。 若表中有两条以上规则具有相同的动作,并且在条件项之
案例分析 Logo
三角形黑盒测试

1实验项目名称:黑盒测试2实验目的和要求:目的:让学生掌握黑盒测试的用法和原理要求:三角形问题:从键盘输入三个整数a、b、c。
(1≤a、b、c ≤100)判断是否构成三角形,若能构成三角形,指出构成的是等边三角形?等腰三角形?不等边三角形?要求编程并使用黑盒测试方法进行测试,要求使用边界值测试、等价类测试、决策表测试、因果图测试法分别进行测试。
3实验原理黑盒测试又称为功能测试或数据驱动测试,把程序看成一个黑盒子,完全不考虑程序的部结构和处理程序,只是在程序的接口进行测试,以检查程序功能是否正常,程序是否能适当接收输入数据产生正确的输出数据。
4主要仪器设备计算机、windows系统、winT-C编程与测试5实验容及步骤(1)认真读题并了解目的(2)准备环境及工具(3)编程:#include<stdio.h>void main(){while(1){int a,b,c;printf("please Input a,b,c:");scanf("%d %d %d",&a,&b,&c);if(a<1||a>100||b<1||b>100||c<1||c>100)printf("输入围在1到100\n");else if(a+b>c&&a+c>b&&b+c>a){if(a==b&&b==c&&c==a){printf("等边三角形\n");}else if(a==b||b==c||a==c){printf("等腰三角形\n");}else{printf("不等边三角形\n");}}else{printf("非三角形");}getch();}}(4)画流程图6实验数据记录和处理(1)边界值法分析d(2)等价类法分析(3) 决策表法分析1)列出所有的条件桩和行动桩条件桩行动桩C1:a<b+c? 非三角形C2:b<a+c? 不等边三角形C3:C<a+b? 等腰三角形C4:a=b? 等边三角形C5:a=c? 不可能C6:b=c?2)确定规则的个数规则数2^6=643) 填入条件项 4 ) 填入动作项5) 合并相似规则(4)因果图法分析1)列出原因和结果原因:B1:0≤a≤100B2:0≤b≤100B3:0≤c≤100B4:a<b+cB5:b<a+cB6 :c<a+bB7:a=bB8:b=cB9:a=c中间结果:10:边围正确11:可以构成三角形12:任意两条边相等13:三条边相等结果:E1:不可能E2:不等边三角形E3:等腰三角形E4:等边三角形2)画出因果图3)将因果图转换为决策表7实验结果与分析(1)边界值法测试结果(2) 等价类法测试结果(3) 决策表法测试结果(4)因果图法测试结果。
黑盒测试ppt文档

3、设计测试用例的步骤
测试需求分析。 业务流程分析。 测试用例设计。 测试用例评审。 测试用例更新完善。
黑盒测试
黑盒测试也称为数据驱动测试,在测试时,把 程序看作是一个不能打开的黑盒子,在完全不 考虑程序内部结构和内部特征的情况下,测试 者在程序接口处进行测试。
黑盒测试着眼于程序的外部结构,只针对软件 界面和软件的功能进行测试。测试的主要依据 是规格说明书和用户手册。
等价类测试的假设:
测试某等价类的代表值,就等效于对这个等价类 中其他值的测试。
等价类测试的思想:
把全部的输入数据划分成若干个等价类,在每一 个等价类中取一个数据来进行测试。
23
等价类测试
有效等价类
检验正常功能
——是指对软件规格说明而言,是有意义的、合 理的输入数据所组成的集合。
无效等价类
检验异常处理
将所有的实数(输入域x)进行划分, 可以分成:正实数、0 和 负实数。我 们选定+1.4444代表正实数,2.345代表负实数。
等价类方法可令测试事半功倍。
21
等价类定义
等价类是输入域的某个子集合,而所有的 等价类的并集是整个输入域。在子集合中, 各个输入数据对于揭露程序中的错误是等 效的。
22
等价类测试
17
任务1陈述
如果输入值不满足这些条件中的任何一个,程序给出相 应的信息。例如,“边c的取值不在允许取值的范围内” 等。
如果a、b和c满足Con1、Con2和Con3,则输出下列 4种情况之一:
如果不满足条件Con4、Con5和Con6中的一 个,则程序输出为“非三角形”。
如果三条边相等,则程序输出为“等边三角形”。
黑盒测试
基础知识
最新黑盒测试作业参考答案

第三章黑盒测试参考答案(注意:答案仅供参考,若有误,请自行修改。
)1、某保险公司计算保险费率。
计算方式为10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下表所示。
其中,年龄有效输入范围为1-100;抚养人数可输入“无”或1-9之间的整数。
(1)通过对程序功能的分析,其等价类表如下所示:该函数要求输入三个变量month、day和year,输出该日期之后一天的日期。
其中year 的取值范围为:1900-2079。
如果输入的日期组合不合法,则显示“无效的输入日期”。
使用等价类划分进行测试用例设计。
参考答案:参考答案略。
4、某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。
(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。
请绘制出因果图和判定表,并给出相应的测试用例。
参考答案:(1)根据程序的规格说明,原因和结果如下:原因:C1:年薪制员工。
(1:是年薪制员工;0:非年薪制员工)C2:严重过失C3:过失结果:e1:扣年终风险金的4%e2:扣年终风险金的2%e3:扣当月薪资的8%e4:扣当月薪资的4%(2) 因果图:略 (3) 决策表:(4) 用例表: 5、有一个处理单价为1元5角钱的盒装饮料的自动售货机软件,若投入1元5角硬币,按下“可乐”、“雪碧”或“橙汁”按钮,相应的饮料就送出来。
若投入的是2元硬币,在送出相应的饮料同时退换5角硬币。
请绘制出因果图和判定表,并给出相应的测试用例。
参考答案:(1) 根据程序的规格说明,原因和结果如下: 原因:C1——投入1元5角硬币 C2——投入2元硬币 C3——按下可乐按钮 C4——按下雪碧按钮 C5——按下橙汁按钮 结果:E1——退还5角硬币 E2——送出可乐饮料 E3——送出雪碧饮料 E4——送出橙汁饮料 中间结点: 11——已投币 12——已按钮 (2)因果图:(3)判定表:(4)测试用例表。
第三章—黑盒测试用例设计方法

参考答案1
参考答案
等价类及其编号
测试用例
1. 覆盖等价类1,2,3: 测试输入=(2006,6,16), 预期结果=(2006,6,17) 2. 覆盖等价类4,2,3: 测试输入=(1890,4,10), 预期结果=“输入错误!” 3. 覆盖等价类5,2,3: 测试输入=(2062,4,10), 预期结果=“输入错误!”
999999999999999999999999999999 + 999999999999999999999999999999 2. 小数:1.0+0.1,1.0+0.2…等等 3. 键盘上的任何一种组合 4. 为乘法和除法运算重复上面的操作
黑盒测试
请注意 通常运用一种测试用例设计方法不能获得理想的测试用例集。在设计测试 用例时,比较实用的方法是综合运用几种设计技术,取长补短。本章的最 后会给出一个示例。 进行黑盒测试设计方法的主要依据是软件系统需求规格说明书,因此,在 进行黑盒测试设计之前需要确保说明书是经过评审的,其质量达到了既定 的要求。另外,如果没有说明书的话,可以选择探索式测试 黑盒测试思想不仅可以用于测试软件的功能,同时,也可用于测试软件的 非功能,如性能、安全、可用性等
说明
到目前为止没有划分高质量等价类的标准方法,不同的功能说明可能使用 不同的方法。
不同的等价类得到的测试用例质量不同。 在划分等价类时,可以参考下面的建议: 1. 如果某个输入条件规定值的范围,可以确定一个有效等价类和两个无效等
价类 2. 如果输入条件规定了一个输入值的集合,可以确定一个有效等价类和一个
无效等价类。 3. 如果输入条件是一个布尔表达式的条件,可以确定一个有效等价类和一个
无效等价类
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
:
Logo
• 规格说明以决策表形式给出,或较容易转换 为决策表;
• 条件的排列顺序不会也不应影响执行的操作 ;
• 规则的排列顺序不会也不应影响执行的操作 ;
• 当某一规则的条件已经满足,并确定要执行 的操作后,不必检验别的规则;
• 如果某一规则的条件要执行多个操作任务, 这些操作的执行顺序无关紧要。
• 运用决策表设计测试用例可以将条件理解为 输入,将动作理解为输出
NextDate函数的决策表测试用例设计 Logo
• M1:{month:month有30天} • M2:{month:month有31天,12月除外} • M3:{month:month是12月} • M4:{month:month是2月} • D1:{day:1≤day≤27} • D2:{day:day=28} • D3:{day:day=29} • D4:{day:day=30} • D5:{day:day=31} • Y1:{year:year是闰年} • Y2:{year:year不是闰年}
习题 Logo
1、某软件的一个模块的需求规格说明书中描述: “……对于功率大于50马力的机器或者维修记录
不全的或已经运行10年以上的机器应予以优先的维修处理 ……”。
这里假定“维修记录不全”和“优先维修处理”有严格 的定义。
间存在极为相似的关系,便可以合并。 合并后的条件项用符号“-”表示,说明执行的动作与该条
件的取值无关,称为无关条件。
决策表的简化 Logo
• 简化是以合并相似规则为目标; • 若表中有两条以上规则具有相同的动作
,并且在条件项之间存在极为相似的关 系,便可以合并。
YY
Y
NN
N
YN
-
√√
√
YY
Y
-N
a3;
• 在c1为真c2为假条件下规则中的c3条目叫做 “不关心(条件无关或条件不适用)”条目 。
• 将任何一个条件组合的特定取值及相应要执 行的动作称为一条规则,在决策表中贯穿条 件项和动作项的一列就是一条规则。
决策表的生成----构造决策表的5个 Logo
步骤:
(1) 确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2) 列出所有的条件桩和动作桩。 (3) 填入条件项。 (4) 填入动作项,得到初始决策表。 (5) 简化决策表,合并相似规则。 若表中有两条以上规则具有相同的动作,并且在条件项之
1. 2.列出所有的条件桩和动作桩 2. 3.填入输入项 3. 4.填入动作项,得到初始决策表 4. 5.化简。(合并相似规则)
三角形问题决策表 Logo
测试用例 Logo
决策表应用 Logo
• 决策表最突出的优点是,能够将复杂的问题 按照各种可能的情况全部列举出来,简明并 避免遗漏。
• 利用决策表能够设计出完整的测试用例集合 。
D4: {day=30}
D5: {day=31}
• year变量的有效等价类:
Y1: {year是闰年}
Y2: {year不是闰年}
• 程序中可能采取的操作有以下六种:
a1: 不可能
a2: day+1
a3:
day=1
a4: month+1
a5: month=1
a6: year+1
Logo
Logo
软件测试
第3章 黑盒测试方法
——决策表法
目录
1
决策表法思想
2
决策表的生成
3 决策表法设计测试用例
4
决策表的简化
5
决策表应用
Logo
1 决策表法思想
Logo
• 决策表的概念:决策表是分析和表达多逻 辑条件下执行不同操作情况的工具。
决策表实例
• 在一些数据处理问题当中,某些操作的实 施依赖于多个逻辑条件的组合,即:针对 不同逻辑条件的组合值,分别执行不同的 操作。决策表很适合于处理这类问题。
-
NN
N
√√
√
将“阅读指南”决策表简化 Logo
热热身吧 Logo
• 三角形问题决策表法设计测试用例。要求 :
a) 能判断其是否为三角形,非等边三角形, 等腰三角形,等边三角形。
b) 画出决策表,并简化。
三角形问题决策表 Logo
1. 1.确定规则个数。(有4个条件,每个条件两 个取值,故有24=16种规则)
简化NextDate函数决策表 Logo
• 规则1、2、3都涉及有30天的月份day类D1 、D2和D3,并且它们的动作项都是day加1 ,因此可以将规则1、2、3合并。
• 类似地,有31天的月份day类D1、D2、D3和 D4也可合并,2月的D4和D5也可合并。
简化后的NextDate函数决策表 Logo
决策表的优点
:
Logo
• 能够将复杂的问题按照各种可能的情况全 部列举出来,简明并避免遗漏。因此,利 用决策表能够设计出完整的测试用例集合 。
• 最为严格,最具逻辑性的测试方法。
决策表的组成
Logo
• 决策表通常由以下4部分组成: 条件桩—列出问题的所有条件 条件项—针对条件桩给出的条件列出所有可能的取值 动作桩—列出问题规定的可能采取的操作 动作项—指出在条件项的各组取值情况下应采取的动作
测试用例表
Logo
决策表测试的适用范围 Logo
• if-else逻辑突出;
–恒等: IF A THEN B –非: IF (NOT A) THEN B –或: IF (A OR B) THEN C –与:IF (A AND B) THEN C
• 输入变量之间存在逻辑关系; • 涉及输入变量子集的计算; • 输入与输出之间存在因果关系;
案例分析 Logo
• month变量的有效等价类:
M1: {month=4,6,9,11} M2: {month=1,3,5,7,8,10}
M3: {month=12}
M4: {month=2}
• day变量的有效等价类:
D1: {1≤day≤27}
D2: {day=28}
D3: {day=29}
条件桩 条件项 动作桩 动作项
将任何一个条件组合的 特定取值及相应要执行 的动作称为一条规则。 在决策表中贯穿条件项 规 和动作项的一列就是一 则 条规则。
条件桩 决策表示例
条件项 Logo
动作桩
动作项
决策表的生成 Logo
• 若c1、c2、c3都为真,则采取动作a1和a2; • 若c1、c2都为真,c3为假,则采取动作a1和