7.黑盒测试(3)-决策表
黑盒测试的方法有哪些
![黑盒测试的方法有哪些](https://img.taocdn.com/s3/m/8b7302866037ee06eff9aef8941ea76e58fa4aed.png)
黑盒测试的方法有哪些
黑盒测试是一种测试方法,它不考虑系统的内部细节,只关注系统的输入和输出。
以下是几种常见的黑盒测试方法:
1. 等价类划分:将输入分为不同的等价类,选择测试用例来代表每个等价类。
这种方法可以降低测试用例的数量,保证对不同情况的覆盖。
2. 边界值分析:找出输入的边界值,设计测试用例来测试这些边界值和超出边界值的情况。
边界值往往是容易出错的地方,通过测试这些值可以发现潜在问题。
3. 决策表测试:根据系统的决策表来设计测试用例。
决策表描述了不同输入和条件之间的关系,通过测试不同情况可以确保决策表的正确性。
4. 因果图测试:将系统的输入和输出之间的因果关系表示为因果图,设计测试用例来覆盖不同的因果路径。
这种方法可以帮助发现因果关系中的错误。
5. 错误推测:基于经验和直觉,猜测潜在的错误和故障点,设计测试用例来验证预测。
这种方法适用于没有明确规范的系统或新的系统。
6. 判定表测试:将不同的条件组合和对应的动作组合表示为判定表,设计测试用例来测试每种组合。
这种方法适用于有多个条件和可能的动作的系统。
以上是一些常见的黑盒测试方法,测试人员可以根据具体的测试需求和系统特点选择合适的方法来进行测试。
黑盒测试:决策表法实例分析
![黑盒测试:决策表法实例分析](https://img.taocdn.com/s3/m/e0f47f45852458fb770b5629.png)
黑盒测试:决策表法实例分析
采用决策表法对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。
黑盒测试常用的方法
![黑盒测试常用的方法](https://img.taocdn.com/s3/m/93f4f6122bf90242a8956bec0975f46526d3a768.png)
黑盒测试常用的方法
1.等价分区法:将输入数据分为若干个等价的子集,测试用例选择每个子集中的一个代表进行测试。
2.边界值分析法:选择数据的临界值进行测试,以确保程序在边界情况下的正确性。
3.决策表法:制定一个决策表,其中包含程序的所有输入条件和操作,以验证程序是否正确地响应各种可能的输入。
4.状态转换法:测试程序在不同状态下的响应,以确保程序在状态转换时的正确性。
5.因果图法:绘制因果图,确定程序的输入、输出和内部操作之间的关系,以广泛地测试程序。
6.错误猜测法:基于经验和直觉,估计程序中可能出现的错误并进行测试。
7.随机测试法:使用随机数据输入进行测试,以测试程序在随机情况下的响应。
黑盒测试是什么,有哪些方法可以测试出来
![黑盒测试是什么,有哪些方法可以测试出来](https://img.taocdn.com/s3/m/49462e4aeef9aef8941ea76e58fafab069dc44ec.png)
黑盒测试是什么,有哪些方法可以测试出来黑盒测试是指在不考虑程序内部结构的情况下对软件进行测试的一种方法。
黑盒测试关注于软件的功能而非实现细节,测试者只关心输入和输出之间的关系,而不关心软件内部的实现逻辑。
这种测试方法不需要了解软件的实现细节,只看软件对于输入的响应结果。
通过黑盒测试可以发现软件是否符合需求,是否能够正常运行。
在黑盒测试中,常用的测试方法包括以下几种:1.等价类划分法(Equivalence partitioning):将输入域划分为若干个等价类,从每个等价类中选择一个值进行测试,提高测试效率。
针对不同的等价类设计测试用例以覆盖整个输入域。
2.边界值分析法(Boundary value analysis):通过测试边界值来检验软件的稳定性。
通常在输入域的边界值处最容易发现问题,因此针对边界值设计测试用例可以有效发现潜在问题。
3.因果图法(Cause-effect graphing):使用因果图表示不同输入之间的逻辑关系,从而设计出全面的测试用例。
通过因果图方法可以帮助测试人员更好地理解软件功能,并确保全面有效地进行测试。
4.决策表测试法(Decision table testing):使用决策表表示软件的不同输入组合及其对应的输出,通过设计决策表来覆盖不同的情况,确保软件能够正确处理各种情况。
5.状态转换法(State transition testing):适用于测试软件中状态变化较多的功能。
通过设计状态转换图,对软件不同状态之间的转换进行测试,确保软件能够正确响应状态变化。
6.功能点方法(Function point testing):通过定义软件的功能点来进行测试,确保软件每个功能点都能够正常运行。
功能点方法可以帮助测试人员全面地测试软件的功能性,提高软件质量。
通过以上方法的组合和应用,可以有效地进行黑盒测试,发现软件功能性方面的问题,并确保软件符合需求,能够正常运行。
黑盒测试是软件测试中重要的一环,通过科学的方法和有效的测试技巧,可以提高软件质量,减少错误率,增强软件在实际应用中的稳定性和可靠性。
黑盒测试决策表
![黑盒测试决策表](https://img.taocdn.com/s3/m/4857244f284ac850ac02427b.png)
功率大于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)条件桩
7(习题课)等价类-决策表法-练习题解析
![7(习题课)等价类-决策表法-练习题解析](https://img.taocdn.com/s3/m/c473103c59eef8c75fbfb335.png)
束关系,画出因果图。
(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中给出的简化后的决策表,设计相应的测试 用例。
黑盒测试习题答案
![黑盒测试习题答案](https://img.taocdn.com/s3/m/08b4aa8509a1284ac850ad02de80d4d8d15a01f4.png)
黑盒测试习题答案黑盒测试习题答案在软件开发的过程中,测试是一个至关重要的环节。
而黑盒测试作为其中的一种测试方法,其主要目的是验证软件系统的功能是否按照需求规格说明书中的要求进行。
黑盒测试习题是帮助测试人员提高测试技能和能力的一种练习方式。
本文将分享一些黑盒测试习题的答案,希望能够帮助读者更好地理解和应用黑盒测试。
1. 什么是黑盒测试?答:黑盒测试是一种测试方法,它不考虑被测试系统的内部结构和实现细节,仅通过输入和输出来验证系统的功能是否符合需求。
黑盒测试关注的是系统对于不同输入的响应以及输出的正确性。
2. 为什么需要进行黑盒测试?答:黑盒测试能够从用户的角度出发,验证系统是否满足用户的需求。
通过黑盒测试,可以发现系统中的功能缺陷、逻辑错误和性能问题,提高软件的质量和可靠性。
3. 黑盒测试的常用技术有哪些?答:常用的黑盒测试技术包括等价类划分、边界值分析、因果图、决策表等。
这些技术可以帮助测试人员有针对性地选择测试用例,提高测试效率和覆盖率。
4. 什么是等价类划分?答:等价类划分是一种测试设计技术,它将输入域划分为若干个等价类,以代表输入的不同情况。
在测试时,只需选择一个代表性的测试用例来覆盖每个等价类,从而减少测试用例的数量,提高测试效率。
5. 什么是边界值分析?答:边界值分析是一种测试设计技术,它关注的是输入域的边界情况。
测试用例应该选择在边界上、边界附近以及边界外的值进行测试,以验证系统在边界条件下的正确性。
6. 什么是因果图?答:因果图是一种图形化的测试设计技术,它通过分析系统中的因果关系,将各种可能的输入和输出组合起来,生成一个全面的测试用例集合。
因果图可以帮助测试人员发现系统中的逻辑错误和异常情况。
7. 什么是决策表?答:决策表是一种测试设计技术,它通过列出所有可能的条件和结果组合,生成一个全面的测试用例集合。
决策表可以帮助测试人员发现系统中的决策逻辑错误和遗漏情况。
8. 在进行黑盒测试时,有哪些常见的错误类型?答:常见的错误类型包括功能错误、界面错误、性能错误和安全错误等。
黑盒测试的四种方法有哪些
![黑盒测试的四种方法有哪些](https://img.taocdn.com/s3/m/3d8fdb2af4335a8102d276a20029bd64783e62bc.png)
黑盒测试的四种方法有哪些黑盒测试是软件测试中重要的一种测试方法,它是在不需要了解内部实现细节的情况下对软件进行测试的技术。
黑盒测试的本质是从用户的角度出发,检查软件是否符合需求。
在进行黑盒测试时,测试人员只关心软件的输入和输出,而不关心其内部实现逻辑。
在实际的黑盒测试中,有多种测试方法可以被应用。
下面将介绍黑盒测试的四种主要方法:1. 等价类划分测试等价类划分测试是一种常用的黑盒测试方法,通过将输入数据划分成几个等价类,然后选择一些典型的数据进行测试。
这种方法能够有效地减少测试用例的数量,提高测试的效率。
在等价类划分测试中,通常会选择一个代表性的数据来代表每个等价类,以确保每种情况都被测试到。
2. 边界值测试边界值测试是一种黑盒测试方法,通过在输入数据的边界值处进行测试来发现潜在的错误。
在软件开发中,常常会出现一些在边界值处容易出错的情况,如数组的最大索引、输入的最大长度等。
通过边界值测试,可以有效地发现这些隐藏的问题,提高软件的质量。
3. 因果图测试因果图测试是一种黑盒测试方法,通过分析软件的功能并确定输入和输出之间的因果关系来设计测试用例。
在因果图测试中,测试人员首先要了解软件的功能,并绘制出因果图,然后根据因果图设计测试用例,以验证软件是否按照功能规范来运行。
4. 决策表测试决策表测试是一种黑盒测试方法,通过构建决策表来设计测试用例。
决策表是描述输入条件和输出结论之间关系的一种工具,可以帮助测试人员理清软件功能的复杂逻辑关系,并设计出完备的测试用例。
通过决策表测试,可以有效地发现软件中潜在的逻辑错误。
总的来说,黑盒测试是一种重要的测试方法,在软件开发过程中起着至关重要的作用。
不同的黑盒测试方法可以互相补充,帮助测试人员更好地发现潜在的问题,提高软件的质量和稳定性。
在实际的测试工作中,可以根据具体的情况选择不同的黑盒测试方法,以确保软件的功能和性能得到充分的验证。
黑盒测试主要有哪几种方法
![黑盒测试主要有哪几种方法](https://img.taocdn.com/s3/m/0980799929ea81c758f5f61fb7360b4c2e3f2a00.png)
黑盒测试主要有哪几种方法黑盒测试是软件测试中的一种方法,它着眼于测试软件的功能而无需深入了解其内部实现。
通过黑盒测试,可以评估软件系统是否按照需求规格书的要求工作,同时也能够发现潜在的功能性问题。
在软件开发生命周期的不同阶段,可以采用不同的黑盒测试方法来确保软件的质量。
以下是黑盒测试中主要的几种方法:1.等价类划分:等价类划分是一种常用的黑盒测试方法,通过将输入数据划分为不同的等价类来测试程序的正确性。
测试用例需要覆盖每个等价类的输入,以确保程序对不同情况的处理正确。
2.边界值分析:边界值分析是一种黑盒测试技术,侧重于测试输入参数的边界值。
通过测试接近边界值的输入,可以检测程序在处理边界情况时是否出现问题。
3.决策表测试:决策表测试是一种基于逻辑关系的黑盒测试方法,用于测试软件在不同输入条件下的行为。
通过建立决策表,可以确定不同输入条件下程序应该采取的操作,并编写相应的测试用例进行验证。
4.状态转换测试:状态转换测试是一种适用于有状态的系统的黑盒测试方法,通过定义系统的状态和状态之间的转换规则来设计测试用例。
测试用例覆盖不同状态之间的转换,以验证系统在不同状态下的行为是否正确。
5.路径覆盖测试:路径覆盖测试是一种黑盒测试方法,旨在检查程序中的所有执行路径是否都被覆盖到。
通过设计测试用例来覆盖不同的代码路径,可以发现潜在的逻辑错误和程序缺陷。
综上所述,黑盒测试主要有以上几种方法,每种方法都有其适用的场景和优缺点。
在实际测试过程中,可以结合多种方法来全面评估软件的功能性和性能。
通过合理选择测试方法并设计有效的测试用例,可以提高测试效率和发现问题的准确性。
黑盒测试是软件测试中不可或缺的一环,能够帮助开发团队提升软件质量,确保最终用户获得稳定可靠的产品。
黑盒测试方法---决策表法
![黑盒测试方法---决策表法](https://img.taocdn.com/s3/m/72d2ed6781c758f5f61f6790.png)
三角形问题决策表 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
最新黑盒测试作业参考答案
![最新黑盒测试作业参考答案](https://img.taocdn.com/s3/m/6f7be0f183d049649b6658db.png)
第三章黑盒测试参考答案(注意:答案仅供参考,若有误,请自行修改。
)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)测试用例表。
软件测试黑盒测试决策表法
![软件测试黑盒测试决策表法](https://img.taocdn.com/s3/m/6a8a2a65f4335a8102d276a20029bd64783e62f9.png)
当前您正浏览第二十页,共三十页。
简化后的NextDate函数决策表
1-3 4 5 6-9 10 11-14 15 16 17 18 19 20 21-22
条件: c1:month c2:day c3:year
√
√ √√
√√ √ √
√
√
√
√
√
当前您正浏览第十八页,共三十页。
选项 12 13 14 15 16 17 18 19 20 21 22
规则
条件:
c1:month
M3 M3 M3 M3 M4 M4 M4 M4 M4 M4 M4
c2:day c3:year
D2 D3 D4 D5 D1 D2 D2 D3 D3 D4 D5 - - - - - Y1 Y2 Y1 Y2 - -
年以上的机器应予以优先的维修处理……”。 这里假定“维修记录不全”和“优先维修处理”有严格的定义。
请建立该需求的决策表,并绘制出化简(合并规则)后的决策表。
当前您正浏览第二十八页,共三十页。
乘机可免费携带30kg的行李。超出重量按比 例收费:
残疾乘客按超出重量的4倍收取费用,若是国 内乘客则只收取3倍于超出部分的费用,若是 头等舱则只收取2倍于超出重量的费用;
2
28
Test18
2
28
Test19
2
29
Test20
2
29
Test21-Test22
2
30
year 2001 2004 2001 2004 2001 2004 2001 2004 2004 2001 2004 2001 2004
黑盒测试——决策表法
![黑盒测试——决策表法](https://img.taocdn.com/s3/m/1fe1aaf2710abb68a98271fe910ef12d2af9a9a3.png)
⿊盒测试——决策表法1.决策表决策表是把作为条件的所有输⼊的各种组合值以及对应输出值都罗列出来⽽形成的表格。
它能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。
因此,利⽤决策表能够设计出完整的测试⽤例集合。
决策表通常由条件桩(Conditions)、条件项(Condition Alternatives)、动作桩(Actions)和动作项(Action Entries)4部分组成。
条件桩条件项动作桩动作项条件桩:列出所有可能的条件条件项:针对条件桩给出的条件列出所有可能的取值范围动作桩:列出要采取的动作动作项:指出在条件项的各种取值情况下应采取的动作2.决策表的构造及化简<1>构造决策表可采⽤以下5个步骤:(1)列出所有的条件桩和动作桩。
(2)确定动作规则(条件项)的个数。
(3)填⼊条件项。
(4)填⼊动作项,得到初始决策表。
(5)简化决策表,合并相似规则。
<2>决策表的化简对于n个条件的决策表,相应有2n个规则(每个条件分别取真、假值),当n较⼤时,决策表很繁琐。
实际使⽤决策表时,常常先将它简化。
决策表的简化是以合并相似规则为⽬标。
即若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。
3.⽤例分析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:年增112345678910111213141516171819202122C1:⽉M1M1M1M1M1M2M2M2M2M2M3M3M3M3M3M4M4M4M4M4M4M4C2:⽇D1D2D3D4D5D1D2D3D4D5D1D2D3D4D5D1D2D2D3D3D4D5C3:年Y1Y2Y1Y2A1:不可能√√√√A2:⽇期+1√√√√√√√√√√√√√A3:⽇期复位(置位)√√√√√A4:⽉份+1√√√√A5:⽉份复位(置位)√A6:年+1√————————2)由决策表设计测试⽤例,得测试⽤例表。
软件测试-7黑盒测试决策表法
![软件测试-7黑盒测试决策表法](https://img.taocdn.com/s3/m/134bf9efd1d233d4b14e852458fb770bf68a3b17.png)
13
14
15
16
17
18
19
20
21
22
条件: c1:month c2:day c3:year
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 -
动作: a1:不可能 a2:day加1 a3:day复位 a4:month加1 a5:month复位 a6:year加1
习题
1、某软件的一个模块的需求规格说明书中描述: “……对于功率大于50马力的机器或者维修记录不全的或已经运行10年以上的机器应予以优先的维修处理……”。 这里假定“维修记录不全”和“优先维修处理”有严格的定义。 请建立该需求的决策表,并绘制出化简(合并规则)后的决策表。
决策表最突出的优点是,能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。
01
利用决策表能够设计出完整的测试用例集合。
02
运用决策表设计测试用例可以将条件理解为输入,将动作理解为输出
03
决策表应用
练习1
某校关于学生升留级的规定为: 一学期有三门考试课程不及格,直接留级; 一学期考试和考察四门课程不及格者,不予补考,直接留级;
√
√
√
√ √ √
√
√
√ √
√ √
√
√
√
STEP1
STEP2
规则1、2、3都涉及有30天的月份day类D1、D2和D3,并且它们的动作项都是day加1,因此可以将规则1、2、3合并。
类似地,有31天的月份day类D1、D2、D3和D4也可合并,2月的D4和D5也可合并。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为什么?
办法会有的…
等价类 条件桩
M1={月份:每月有30天} M2={月份:每月有31天} M3={月份:此月是2月} D1={日期:1<=日期 <=28} D2={日期:日期=29} D3={日期:日期=30} D4={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年}
动作桩
√ √ √ √ √ √ √
规则
√
动作项
规则合并(化简)
将具有相同动作,并且其条件项之间存在着极为相似关系的 两条或多条规则合并为一条规则
1
问 题 问 题 建 议 建 议 你觉得疲倦吗? 你觉得疲倦吗? 你对内容感兴趣吗? 你对内容感兴趣吗? 书中内容使你胡涂吗? 书中内容使你胡涂吗? 请回到本章开头重读 请回到本章开头重读 继续读下去 跳到下一章去读 继续读下去 Y Y Y
Y1
Y2
Y1
..
案例分析-NextDate函数的测试用例
确定行动桩…
A1:不可能 A2:日期增1 A3:日期复位(置1) A4:月份增1 A5:月份复位(置1) A6:年增1
NextDate函数的扩展条目决策表 条件 1 2 3 4 5 6 7 8 9 10 11 12 13 14
建议
建议 当测试逻辑时,决策表是一个非常好的选择. 为了降低测试用例个数,可以使用扩展项决策表 决策表并不是专用于设计测试用例的方法,它同样可以 应用于其他方面,例如需求分析
实战演习 1
解法如下: 确定规则的个数。对于本题有2个条件(销售、库存),每个条件 可以有两个取值,故有22=4种规则。 列出所有的条件桩和动作桩。 填入条件项。 填入动作项,得到初始决策表,如下表所示。
规则 选项 条件: C1:销售好? C2:库存低? 动作: a1:增加生产 a2:继续生产 a3:停止生产 1 2 3 4
C1:月份在 M1 M1 M1 M1 M2 M2 M2 M2 M3 M3 M3 M3 M3 M3 C2:日在 C3:年在 A1:不可能 A2:日增1
A3:日复位 A4:月增1
D1 D2 D3 D4 D1 D2 D3 D4 D1 D1 D2 D2 D3 D4 √ √
√ √
-
√
√
√
√
-
Y1 Y2 Y1 Y2 √ √ ?
F √
T F √
T T F √
T T T T T T
T T T T T F
T T T T F T
T T T T F F
T T T F T T
T T T F T F
T T T F F T
T T T F F F
√
√ √ √ √ √
√
√
6 得到测试用例
用例ID
DT1
a
4
b
1
c
2
预期输出
非三角形
DT2
DT3 DT4 DT5
M1={月份:每月有30天} M2={月份:每月有31天} M3={月份:此月是2月} D1={日期:1<=日期 <=28} D2={日期:日期=29} D3={日期:日期=30} D4={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年}
条件桩 C1:月份在{M1,M2,M3}中之一 C2:日期在{D1,D2,D3,D4}中之一 C3:年在{Y1,Y2}中之一
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:不可能
F
F F F F F
√
F
F F F F T
√
F
F F F T F
√
F
F F F T T
√
F
F F T F F
进一步优化
两项因素没有影响
优化
案例分析-三角形问题
1列出所有的条件桩和行动桩 2 确定规则的个数
条件桩
行动桩
规则数
C1:a<b+c? C2:b<a+c? C3:C<a+b? C4:a=b? C5:a=c? C6:b=c?
非三角形 一般三角形 等腰三角形 等边三角形 不可能
2^6=64
3 填入条件项
预期输出
2001年4月13日 2001年4月29日 2004年4月30日 2004年5月1日 不可能 2001年5月13日 2004年5月29日
8
9
5
5
29
30
2004
2001
2004年5月30日
2001年5月31日
课堂练习 某学生成绩管理系统,要求“对平均成绩在90分以 上,且没有不及格科目的学生,或班级成绩排名在 前五位的学生,在程序中将学生的姓名用红色标 识”,请建立该判定表。
C4:a=b?
C5:a=c? C6:b=c? A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
F
F F
√
F
F T
√
F
T F
√
F
T T
√
T
F F
√
T
F T
√
T
T F
√
T
T T
√
F
F F
√
F
F T
√
…
… …
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:不可能
C1:月份在M1中 C2:月份在M2中 C3:月份在M3中 C4:日期在D1中 C5:日期在D2中 C6:日期在D3中 C7:日期在D4中 C8:年是闰年 C9:年是平年
规则数?
2^9=512 太大!
新办法…
等价类
条件桩 C1:月份在{M1,M2,M3}中之一 C2:日期在{D1,D2,D3,D4}中之一 C3:年在{Y1,Y2}中之一
2
Y Y N
3
4
Y N N
5
N 2 Y N Y Y √Y
6
N3 YN NY
7
N N Y
8
1Y YN -Y -
4N NN NN -
N
√
√
√ √ √ √
√
√
√
停止阅读,请休息 跳到下一章去读 停止阅读,请休息
√
√
决策表的类型 决策表
有限条目决策表
扩展条目决策表 条件可以有多个 值
所有条件都是二 叉条件(真/假)
规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。
决策表举例ຫໍສະໝຸດ 条件桩 条件项1 问 题 你觉得疲倦吗? 你对内容感兴趣吗? 书中内容使你胡涂吗? Y Y Y
2 Y Y N
3 Y N Y
4 Y N N
5 N Y Y
6 N Y N
7 N N Y
8 N N N
建 议
请回到本章开头重读 继续读下去 跳到下一章去读 停止阅读,请休息
建 议
请回到本章开头重读 继续读下去 跳到下一章去读 停止阅读,请休息 √ √ √ √
√ √ √ √
决策表的组成
条件桩:列出了问题得所有条件。通常认为列出的条件的次序无关紧要。 动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。 条件项:列出针对它左列条件的取值。在所有可能情况下的真假值。 动作项:列出在条件项的各种取值情况下应该采取的动作。
D4 -
5 M1
D5 √
6 M2
D1 -
7 M2
D2 -
8 M2
D3 -
9 M2
D4 -
10 M2
D5 -
A1:不可能
A2:日增1 A3:日复位 A4:月增1 A5:月复位
√ √ √ √ √
√
√
√
√ √ √
A6:年增1
新的NextDate函数的扩展条目决策表续…: (结合不关心条目,可得到有22条规则的决策表) 条件 C1:月份在
第3章 黑盒测试方法
1 2 3 4
黑盒测试法概述
等价类测试
主 要 内 容
边界值测试
基于决策表的测试
5
6
因果图法
其它方法
等价类划分法
1
边界值法
2
黑盒测试
5
其它
决策表法
3
4
因果图法
3.4 基于决策表的测试
定义
也称判定表,是分析和表达多逻辑条件下执行不同操作的 情况的工具
决策表的用途
能够将复杂的问题按照各种可能的情况全部列举出来,简 明并避免遗漏,设计出完整的测试用例集合。
? ? √ √
√
√
√ ?
A5:月复位
A6:年增1 注意规则8,10
?
?
案例分析-NextDate函数(方法二)
利用等价类 M1={月份:每月有30天} M2={月份:每月有31天,12月除外} M3={月份:此月是12月} M4={月份:此月是2月} D1={日期:1<=日期<=27} D2={日期:日期=28} D3={日期:日期=29} D4={日期:日期=30} D5={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年}
一个决策表由“条件和活动”两部分组成,也就是列 出了一个测试活动执行所需的条件组合。所有可能的 条件组合定义了一系列的选择,而测试活动需要考虑 每一个选择。