第3章(3)黑盒测试方法3-决策表法

合集下载

黑盒测试错误推测功能图法(共12张PPT)

黑盒测试错误推测功能图法(共12张PPT)
③ 测试用例合成:合成测试路径与功能图中每个状态的局部测试用例。 功能图法设计测试用例,就是如何覆盖软件所表现出来的所有状态,可以转化为两个层次的测试用例
此模型只适用于描述静态说明。 动态说明:描述输入数据的次序或转移次序。
状态迁移图
❖ 状态迁移图,描述系统状态变化的动态信息——动态说明,由状态和迁移来描 述,状态指出数据输入的位置(或时间),而迁移则指明状态的改变 。用节 点表示状态,用弧度代替迁移,则状态迁移图就可转化成一个程序的控制流 程图形式。
状态的改变 。
一种黑盒白盒混合用例设计方法。 ④ 采用条件构造树测试用例的合成算法。
功能图法就是为了解决动态说明问题的一种测试用例的设计方法 常作为一种补充测试用例的设计方法 逻辑功能模型:用于表示在状态中输入条件和输出条件的对应关系。 功能图法是综合运用黑盒方法和白盒方法来设计测试用例,即整体上选用白盒方法——路径覆盖、分支和条件覆盖等,而局部上选用的
功能图法
❖ 每个程序的功能通常由静态说明和动态说明组成,静态说明描述了输 入条件和输出条件之间的对应关系,而动态说明描述了输入数据的次 序或者转移的次序。
❖ 功能图法就是为了解决动态说明问题的一种测试 用例的设计方法
❖ 功能图由状态迁移图(state transition diagram,STD)和逻辑功 能模型(logic function model, LFM)构成
逻辑功能模型
输入 输出 状态
逻辑功能模型的决策表形式(1—成功,0—失败)
正确的用户名 错误的密码 0 错误提示 等待重新输入
错误的用户名 正确的密码 0 错误提示 等待重新输入
错误的用户名 错误的密码 0 错误提示 等待重新输入
正确的用户名 正确的密码 1

黑盒测试_第三讲lwh121016

黑盒测试_第三讲lwh121016
用例 编号 1 2 3 4 输入 年龄 22 45 65 空白 性别 男 女 男 男 输出 婚姻 抚养人数 保险率 已婚 未婚 已婚 未婚 1 4 8 1 0.6% 0.1% 0.1% 错误
检验是否覆盖了输出 等价类,若没有,还 需追加测试用例
备注
(1)(8)(10)(12)(18)
13点 8点 7点
比较
输出
测试结果
黑盒测试的难点
黑盒测试的难点在于如何构造有效的输入。
由于输入空间通常是无限的,穷举测试
显然行不通。
寻找最小最重要的用例集合以精简测试
复杂性。
案例
Software Testing
设计测试用例,对两个1~100之间的整数
进行求和运算(s=a+b)的程序的测试。
用例编号 1 2 „„ a 1 1 „„ 1 2 „„ b 预期结果 实际结果 2 3 „„
第二步:等价类划分
20~39(6点) (1)
有效等价类
40~59 (4点)
60~99、1~19 (2点) 空白(未知) <1 (未知) >99 (未知) 包含非数字字符(未知)
(2)
(3) (4) (5) (6) (7) (8) (9) (10) (11)
年龄 输入 性别 婚姻
无效等价类
有效等价类 有效等价类
等价类测试的假设:
测试某等价类的代表值,就等效于对这个等价类中其他值的测试,
即一个等价类中的所有数据对于揭示程序错误都是等价的。
输入变量之间是完全独立的,即不存在依赖关系。
等价类测试的思想:
划分成若干个等价类,在每一个等价类中取一个数据来进行测试。
等价类测试
举例:

黑盒测试的方法有哪些

黑盒测试的方法有哪些

黑盒测试的方法有哪些
黑盒测试是一种测试方法,它不考虑系统的内部细节,只关注系统的输入和输出。

以下是几种常见的黑盒测试方法:
1. 等价类划分:将输入分为不同的等价类,选择测试用例来代表每个等价类。

这种方法可以降低测试用例的数量,保证对不同情况的覆盖。

2. 边界值分析:找出输入的边界值,设计测试用例来测试这些边界值和超出边界值的情况。

边界值往往是容易出错的地方,通过测试这些值可以发现潜在问题。

3. 决策表测试:根据系统的决策表来设计测试用例。

决策表描述了不同输入和条件之间的关系,通过测试不同情况可以确保决策表的正确性。

4. 因果图测试:将系统的输入和输出之间的因果关系表示为因果图,设计测试用例来覆盖不同的因果路径。

这种方法可以帮助发现因果关系中的错误。

5. 错误推测:基于经验和直觉,猜测潜在的错误和故障点,设计测试用例来验证预测。

这种方法适用于没有明确规范的系统或新的系统。

6. 判定表测试:将不同的条件组合和对应的动作组合表示为判定表,设计测试用例来测试每种组合。

这种方法适用于有多个条件和可能的动作的系统。

以上是一些常见的黑盒测试方法,测试人员可以根据具体的测试需求和系统特点选择合适的方法来进行测试。

测试人员的黑盒测试技巧与方法

测试人员的黑盒测试技巧与方法

测试人员的黑盒测试技巧与方法在软件开发过程中,测试是一个至关重要的环节。

而其中的黑盒测试作为一种常用的测试方法,被广泛应用于软件测试领域。

本文将介绍测试人员在进行黑盒测试时所需要掌握的技巧与方法,以帮助测试人员更好地进行测试工作。

一、概述黑盒测试是一种基于软件外部结构的测试方法,测试人员在不了解软件内部具体实现的情况下,对软件的输入和输出进行测试。

它能够帮助测试人员从用户的角度出发,验证软件是否符合设计要求和预期功能。

二、黑盒测试的技巧1. 策略选择在进行黑盒测试时,测试人员需要根据具体情况选择适合的测试策略。

常用的黑盒测试策略包括等价类划分、边界值分析、状态转换、因果图等。

合理选择测试策略可以提高测试的效果和覆盖率。

2. 测试用例设计设计合理的测试用例是黑盒测试的关键。

测试人员可以根据需求文档、功能规格说明书等相关资料,结合测试策略,设计出全面而合理的测试用例。

测试用例需要覆盖各种可能的输入、边界条件和异常情况,以检验软件的稳定性和可靠性。

3. 输入验证黑盒测试中,对输入数据进行验证是十分重要的。

测试人员应该关注输入的类型、长度、格式等,确保输入数据的合法性。

对于无效或异常的输入,能够正确地进行处理和提示。

4. 功能测试黑盒测试中,功能测试是最为重要和常用的测试方法之一。

测试人员需要对软件的各项功能进行全面的测试,包括正常使用场景和各种异常情况。

通过功能测试,可以验证软件的功能是否符合需求和设计要求。

5. 边界测试边界测试是黑盒测试中的一种重要方法。

测试人员需要关注各种边界条件,包括最大值、最小值、临界值等,以验证软件在边界情况下的正确性和鲁棒性。

边界测试能够帮助测试人员找出潜在的问题和错误。

6. 异常处理测试在实际使用过程中,软件可能会遇到各种异常情况,如网络中断、数据库故障等。

测试人员需要模拟这些异常情况,并测试软件的异常处理能力。

通过异常处理测试,可以提高软件的可靠性和容错性。

7. 性能测试性能是软件质量的一个重要指标。

第三章 黑盒测试

第三章  黑盒测试

无效等价类
无效等价类是指对程序规格说明, 是不合理或无意义的输入数据所构成的 集合。 利用无效等价类,可以检查程序功 能和性能的实现是 否有不符合规格说 明要求的地方。 对于具体的问题,无效等价类至少应有 一个,也可能有多个。
等价类划分
根据已列出的等价类表,按以下步骤确 定测试用例: 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以上,文化程度是小学或中学 者当材料员,文化程度是大学者当技术员。

实验3、黑盒测试:决策表测试方法

实验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、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。

7(习题课)等价类-决策表法-练习题解析

7(习题课)等价类-决策表法-练习题解析
(1)分析程序的规格说明,列出原因和结果。 (2)找出原因与结果之间的因果关系、原因与原因之间的约
束关系,画出因果图。
(3)将因果图转换成决策表。 (4)根据(3)中的决策表,设计测试用例的输入数据和预
期输出。
因果图法测试举例(续)
(1)分析程序规格说明中的原因和结果:
原因
结果
c1:第一个字符是# c2:第一个字符是*
(3)由于语法或环境的限制,有些原因与原因之间、原因与 结果之间的组合情况不可能出现。为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。
(4)把因果图转换为决策表。 (5)根据决策表中的每一列设计测试用例。
3.6.3 因果图法测试举例
实例 用因果图法测试以下程序。
程序的规格说明要求:输入的第一个字符必须是#或*, 第二个字符必须是一个数字,此情况下进行文件的修改; 如果第一个字符不是#或*,则给出信息N,如果第二个字 符不是数字,则给出信息M。 ➢ 解题步骤:
步骤 1.划分等价类
输入条件 R价格 P付款
有效等价类
1. 0~5; 2. 6~10; 3. 11~50; 4. 51~100;
1. 0~5; 2. 6~10; 2. 11~50; 3. 51~100
无效等价类
1.小于0; 2.大于100;
1. 小于0; 2. 大于100;
步骤2:选择测试方案
弱一般等价类测试 强一般等价类测试 弱健壮等价类测试 强健壮等价类测试
存在极为相似的关系,便可以合并。 ➢ 合并后的条件项用符号“-”表示,说明执行的动作与该条件
的取值无关,称为无关条件。
三角形问题的决策表
习题
1、根据教材P85中给出的简化后的决策表,设计相应的测试 用例。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2001
2004 2001 2004 2001 2004 2004 2001 2004 2001 2004
不可能
17/8/2004 1/9/2001 17/12/2004 1/1/2002 17/2/2004 29/2/2004 1/3/2001 1/3/2001 不可能 不可能
决策表测试的适用范围
软件测试
第3章 黑盒测试方法
——决策表法
目 录
1 2 3 4 5 决策表法思想 决策表的生成 决策表法设计测试用例 决策表的简化 决策表应用
Logo
1
决策表法思想
Logo
• 决策表的概念:决策表是分析和表达多逻 辑条件下执行不同操作情况的工具。
决策表实例
• 在一些数据处理问题当中,某些操作的实 施依赖于多个逻辑条件的组合,即:针对 不同逻辑条件的组合值,分别执行不同的 操作。决策表很适合于处理这类问题。
M1 - -
M1 D4 -
M1 D5 - √
M2 - -
M2 D5 -
M3 - -
M3 D5 -
M4 D1 -
M4 D2 Y1
M4 D2 Y2
M4 D3 Y1
M4 D3 Y2 √
M4
D4、D5
- √
√ √ √
√ √
√ √ √ √


√ √
√ √
测试用例表
测试用例 Test1-Test3 Test4 month 6 6 day 16 30 year 2001 2004
T F -
F T T

F T F
F F -

√ √
动作项
a3
动作桩
a4
决策表的生成
Logo
• 若c1、c2、c3都为真,则采取动作a1和a2; • 若c1、c2都为真,c3为假,则采取动作a1和 a3; • 在c1为真c2为假条件下规则中的c3条目叫做 “不关心(条件无关或条件不适用)”条目。 • 将任何一个条件组合的特定取值及相应要执 行的动作称为一条规则,在决策表中贯穿条 件项和动作项的一列就是一条规则。
简化后的NextDate函数决策表
1-3 条件: c1:month c2:day c3:year 动作 a1:不可能 a2:day加1 a3:day复位 a4:month加1 a5:month复位 a6:year加1 4 5 6-9 10 11-14 15 16 17 18 19
Logo
20 21-22
决策表的简化
Logo
• 简化是以合并相似规则为目标; • 若表中有两条以上规则具有相同的动作, 并且在条件项之间存在极为相似的关系, 便可以合并。
Y N Y Y N N Y N - Y Y - N N N √ √ Y - N √



将“阅读指南”决策表简化
规则 选项
Logo
1~4
觉得疲倦 吗 感兴趣吗
M2 D2 -
M2 D3 -
M2 D4 -
M2 D5 -
M3 D1 -



√ √




√ √

Logo
选项 规则
12
13
14
15
16
17
18
19
20
21
22
条件: c1:month c2:day c3:year 动作: a1:不可能 a2:day加1 a3:day复位 a4:month加1 a5:month复位 a6:year加1
将任何一个条件组合的 特定取值及相应要执行 的动作称为一条规则。 在决策表中贯穿条件项 和动作项的一列就是一 条规则。
条件桩
条件项
动作桩
动作项
规 则
规 条件桩 1
则 选项 条件:c1 c2 c3 动作:a1 a2
2 3,4 决策表示例 T T F
√ √ √
5
6
条件项 Logo
7,8
T T T
√ √
5
N Y Y √
6
N Y N √
7~8
N N -
问 题 建 议
休息


热热身吧
Logo
• 三角形问题决策表法设计测试用例。要求: a) 能判断其是否为三角形,非等边三角形, 等腰三角形,等边三角形。 b) 画出决策表,并简化。
三角形问题决策表
Logo
1.确定规则个数。(有4个条件,每个条件两个 取值,故有24=16种规则)
b
1 6 ? ? 3 ? 5 3 4
c
2 6 ? ? 5 ? 3 3 5
预期输出
非三角形 等边三角形 不可能 不可能 等腰三角形 不可能 等腰三角形 等腰三角形 不等边三角形
决策表应用
Logo
• 决策表最突出的优点是,能够将复杂的问题 按照各种可能的情况全部列举出来,简明并 避免遗漏。 • 利用决策表能够设计出完整的测试用例集合。 • 运用决策表设计测试用例可以将条件理解为 输入,将动作理解为输出
2.列出所有的条件桩和动作桩 3.填入输入项 4.填入动作项,得到初始决策表 5.化简。(合并相似规则)
三角形问题决策表
规则 选项
c1:a、b、c构成三角形? c2:a=b? N - Y Y Y Y Y Y Y Y Y N Y N
Logo
1-8
9
10
11
12
13
14
15
Y N
16
Y N
c3:a=c?
决策表的生成----构造决策表的5个
步骤:
Logo
(1) 确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2) 列出所有的条件桩和动作桩。 (3) 填入条件项。 (4) 填入动作项,得到初始决策表。 (5) 简化决策表,合并相似规则。 若表中有两条以上规则具有相同的动作,并且在条件项之 间存在极为相似的关系,便可以合并。 合并后的条件项用符号“-”表示,说明执行的动作与该条 件的取值无关,称为无关条件。
M3 D2 -
M3 D3 -
M3 D4 -
M3 D5 -
M4 D1 -
M4 D2 Y1
M4 D2 Y2
M4 D3 Y1
M4 D3 Y2 √
M4 D4 - √
M4 D5 - √


√ √ √ √

√ √ √ √ √
简化NextDate函数决策表
Logo
• 规则1、2、3都涉及有30天的月份day类D1、 D2和D3,并且它们的动作项都是day加1, 因此可以将规则1、2、3合并。 • 类似地,有31天的月份day类D1、D2、D3和 D4也可合并,2月的D4和D5也可合并。
Logo
1、某软件的一个模块的需求规格说明书中描述: “……对于功率大于50马力的机器或者维修记录 不全的或已经运行10年以上的机器应予以优先的维修处理 ……”。 这里假定“维修记录不全”和“优先维修处理”有严格 的定义。
请建立该需求的决策表,并绘制出化简(合并规 则)后的决策表。
Logo
• 2.某厂对一部分职工重新分配工作,分配原则是: (1)年龄不满20岁,文化程度是小学者 脱产学习,文化程度是中学者当电工; (2)年龄满20岁但不足50岁,文化程度 是小学或中学者,男性当钳工,女性当车工;文 化程度是大学者技术员; (3)年龄满50及50以上,文化程度是小 学或中学者当材料员,文化程度是大学者当技术 员。
• 试分析规格说明书,建立决策表,并简化
预期输出
Logo
17/6/2001 1/7/2004
Test5
Test6-Test9 Test10 Test11-Test14 Test115 Test16 Test17 Test18 Test19 Test20 Test21-Test22
6
8 8 12 12 2 2 2 2 2 2
31
16 31 16 31 16 28 28 29 29 30
决策表的优点:
Logo
• 能够将复杂的问题按照各种可能的情况全 部列举出来,简明并避免遗漏。因此,利 用决策表能够设计出完整的测试用例集合。 • 最为严格,最具逻辑性的测试方法。
决策表的组成
Logo

决策表通常由以下4部分组成: 条件桩—列出问题的所有条件 条件项—针对条件桩给出的条件列出所有可能的取值 动作桩—列出问题规定的可能采取的操作 动作项—指出在条件项的各组取值情况下应采取的动作
Logo
规则 选项
1
2
3
4
5
6
7
8
9
10
11
条件: c1:month c2:day c3:year 动作: a1:不可能 a2:day加1 a3:day复位 a4:month加1 a5:month复位 a6:year加1
M1 D1 -
M1 D2 -
M1 D3 -
M1 D4 -
M1 D5 - √
M2 D1 -
c4:b=c? a1:非三角形 a2:不等边三角形 a3:等腰三角形 a4:等边三角形

- √
Y
Y
Y
N
N
Y
N
N
Y
Y
Y
N
N
Y
N
N √
√ √


a5:不可能



测试用例
测试ID
Test1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9
Logo
a
4 6 ? ? 3 ? 3 5 3
相关文档
最新文档