软件测试-7黑盒测试决策表法

合集下载

软件测试NextDate函数决策表测试法实验报告

软件测试NextDate函数决策表测试法实验报告

一、实验目的:掌握黑盒测试中的决策表测试法,并对被测程序设计测试用例。

二、实验环境操作系统:Windows XP + SP2 /win7三、实验内容1、编写一个NextDate函数。

2、掌握黑盒测试中的决策表测试法的基本步骤。

3、使用决策表法设计测试用例,对编写的函数实施测试,总结分析测试结果。

四、实验步骤1、编写一个NextDate函数。

(C语言、C++)2、根据黑盒测试的决策表测试法设计测试用例。

3、根据测试用例实施测试,并记录测试结果。

五、实验代码#include <iostream>using namespace std;int a,b,c,y,m,d;<<"/n";return 1;}elsereturn a;}<<b<<"."<<c<<"\n"<<"\n";return 0;}}<<"\n";cout << "年份范围是1960-2060"<<"\n";cout<<"年"<<"\n";cin >>y;cout<<"月"<<"\n";cin>>m;cout<<"日"<<"\n";cin>>d;a=y;b=m;c=d;NextDate ( y, m, d);}return 0;}六、测试用例表NxetDate函数求解给定某个日期的下一个日期的动作桩如下:变量day加1操作;变量day复位操作;变量month加1操作;变量month复位操作;变量year加1操作NxetDate函数的求解关键是日和月的问题,所以可以在下面的条件桩的基础上建立决策表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不是闰年}NxetDate函数决策表NxetDate函数的测试用例组七、测试用例执行结果1、Test Case 1~32、Test Case 43、Test Case 54、Test Case 6~95、Test Case 106、Test Case 11~147、Test Case 158、Test Case 169、Test Case 1710、Test Case 1811、Test Case 1912、Test Case 2013、Test Case 21~22八、实验总结1、通过本次实验,学会编写一个NextDate函数。

黑盒测试-决策表

黑盒测试-决策表

条件 C1:月份在{M1,M2,M3,m4}中之一 C2:日期在{D1,D2,D3,D4 ,D5}中之
一 C3:年在{Y1,Y2}中之一
问题:可得到 ?条规则
新的NextDate函数的扩展条目决策表:
条件 C1:月份在 C2:日在
C3:年在 A1:不可能 A2:日增1 A3:日复位 A4:月增1 A5:月复位 A6:年增1
选项
规则
1
2
3
4
条件:
C1:销售好?
T
T
F
F
C2:库存低?
T
F
T
F
动作:
a1:增加生产

a2:继续生产


a3:停止生产

实战演习 2
问题要求:”……对功率大于50马力的机器、维 修记录不全或已运行10年以上的机器,应给予优 先的维修处理……” 。这里假定,“维修记录不 全”和“优先维修处理”均已在别处有更严格的 定义。请建立决策表。
DT2
1 4 2 非三角形
DT3
1 2 4 非三角形
DT4
5 5 5 等边三角形
DT5
? ? ? 不可能
DT6
? ? ? 不可能
DT7
2 2 3 等腰三角形
DT8
? ? ? 不可能
DT9
2 3 2 等腰三角形
DT10 3 2 2 等腰三角形
DT11 3 4 5 不等边三角形
案例分析-NextDate函数(方法一)
一个决策表由“条件和活动”两部分组成,也就是列 出了一个测试活动执行所需的条件组合。所有可能的 条件组合定义了一系列的选择,而测试活动需要考虑
每一个选择。

第2章黑盒测试决策表

第2章黑盒测试决策表

年 2001 2001 2001 2001 2001 2001 2001 2001 2004 2001 2004 2001 2001
预期输出 2001年4月16日 2001年5月1日
不可能 2001年1月16日 2001年2月1日 2001年12月16日 2002年1月1日 2001年2月16日 2004年2月29日 2001年3月1日 2004年3月1日
2019/11/29
28
5.决策表法
涉及的操作:
a1:不可能 a2:day加1 a3:day复位 a4:month加1 a5:month复位 a6:year加1
2019/11/29
29
第一次尝试
M1={月份:每月有30天} M2={月份:每月有31天} M3={月份:此月是2月} D1={日期:1≤日期≤28} D2={日期:日期=29} D3={日期:日期=30} D4={日期:日期=31} Y1={年:年是闰年} Y2={年:年是平年}
1 2 3 4 5 6 78
功率大于50马力吗? Y Y Y Y N N N N
条 维修记录不全吗? 件 运行超过10年吗?
Y Y N N Y Y NN Y N Y N Y N YN
动 进行优先处理 作 作其他处理






1,2合并,5,7合并,6,8合并
2019/11/29
20
例:维修机器问题(续)
(3)动作桩
A1:非三角形; A2:不等边三角形; A3:等腰三角形; A4:等边三角形; A5:不可能;
2019/11/29
24
5.决策表法
该条件可以扩展成: a+b>c

黑盒测试的方法

黑盒测试的方法

黑盒测试的方法黑盒测试是软件测试中的一种重要方法,它是在不考虑程序内部结构和实现细节的情况下,通过输入和输出来检查软件的功能和性能。

黑盒测试主要关注软件的功能是否符合需求,以及在各种输入条件下是否能产生正确的输出。

在进行黑盒测试时,测试人员需要根据软件的需求规格说明书和功能规格说明书,设计测试用例并进行测试,以验证软件是否符合用户需求。

下面将介绍一些常用的黑盒测试方法。

1. 等价类划分法。

等价类划分法是一种常用的黑盒测试方法,它将输入数据划分为若干个等价类,然后从每个等价类中选择一个代表性的数据进行测试。

这样可以有效地减少测试用例的数量,同时保证覆盖了各种情况。

例如,对于一个要求输入1到100之间的数字的软件,可以将输入数据划分为小于1、1到100之间、大于100这三个等价类,然后分别选择一个代表性的数据进行测试。

2. 边界值分析法。

边界值分析法是在等价类划分法的基础上,对边界值进行重点测试的一种方法。

因为通常情况下,软件在边界处容易出现错误。

例如,对于一个要求输入1到100之间的数字的软件,边界值为1和100,测试人员可以重点测试这两个边界值附近的情况,以确保软件在边界处能够正常工作。

3. 因果图法。

因果图法是一种用于描述软件功能和输入之间因果关系的图形化方法,它能够帮助测试人员理清软件功能之间的关联,从而设计出更加全面的测试用例。

通过因果图法,测试人员可以将软件的功能和输入条件进行组合,找出各种情况下的测试用例,以确保软件能够正常工作。

4. 判定表驱动法。

判定表驱动法是一种将各种输入条件和对应的输出结果进行组合的方法,通过设计判定表来指导测试用例的设计。

判定表中列出了各种输入条件和输出结果的组合情况,测试人员可以根据判定表来设计测试用例,并进行测试。

这种方法能够帮助测试人员全面地覆盖各种情况,确保软件的功能和性能都得到了验证。

总结。

在进行黑盒测试时,测试人员可以根据软件的需求规格说明书和功能规格说明书,选择合适的测试方法,并设计相应的测试用例进行测试。

黑盒测试方法

黑盒测试方法

黑盒测试是一种基于证明功能需求和用户最终需求的测试方法,设计黑盒测试用例的方法有如下8种:等价类划分法。

边界值分析法。

因果图法。

判定表驱动测试。

场景法。

功能图法。

错误推测法。

正交试验设计法。

在实际测试工作中,往往是综合使用各种方法才能有效地提高测试效率和测试覆盖率,这就需要认真掌握这些方法的原理,积累更多的测试经历,以有效地提高测试水平和测试效率。

下面就将主要介绍这8种设计黑盒测试用例的方法。

等价类划分等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据〔有效的和无效的〕划分成假设干个等价类。

然后从每个局部中选取具有代表性的数据当做测试用例进展合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。

利用这一方法设计测试用例可以不考虑程序的部构造,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。

由于等价类是在需求规格说明书的根底上进展划分的,并且等价类划分不仅可以用来确定测试用例中的数据的输入输出的准确取值围,也可以用来准备中间值、状态和与时间相关的数据以及接口参数等,所以等价类可以用在系统测试、集成测试和组件测试中,在有明确的条件和限制的情况下,利用等价类划分技术可以设计出完备的测试用例。

这种方法可以减少设计一些不必要的测试用例,因为这种测试用例一般使用一样的等价类数据,从而使测试对象得到同样的反映行为。

对于等价类我们从以下几个方面讨论它的划分方法。

1、等价类划分等价类可以划分为有效等价类和无效等价类。

〔1〕有效等价类有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。

利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。

有效等价类可以是一个,也可以是多个,根据系统的输入域划分假设干局部,然后从每个局部中选取少数有代表性数据当做数据测试的测试用例,等价类是输入域的集合。

软件测试常用方法

软件测试常用方法

软件测试常用方法
软件测试常用方法包括以下几种:
1. 黑盒测试:在不知道内部结构和实现细节的情况下,只根据功能需求和输入输出的规格,对软件进行测试。

常用的黑盒测试技术包括等价类划分、边界值分析和决策表等。

2. 白盒测试:基于软件内部结构和代码的测试方法。

通过检查程序的内部逻辑、执行路径和数据流来验证软件是否按照预期进行工作。

常用的白盒测试技术包括语句覆盖、分支覆盖和路径覆盖等。

3. 灰盒测试:综合黑盒测试和白盒测试的方法。

既考虑了输入输出的规格,也关注了内部结构和代码的覆盖。

常用的灰盒测试技术包括基于模型的测试和随机测试等。

4. 功能测试:验证软件是否符合功能需求的测试方法。

通过测试软件的各个功能模块,检查输入、输出和预期结果之间的一致性来确认软件是否正常工作。

5. 性能测试:验证软件在不同负载和压力下的性能和稳定性。

常用的性能测试方法包括负载测试、压力测试和稳定性测试等。

6. 安全测试:验证软件的安全性和防护能力。

常用的安全测试方法包括授权验
证、数据加密和漏洞扫描等。

7. 兼容性测试:验证软件在不同操作系统、不同浏览器和不同硬件平台上的兼容性。

通过测试软件在不同环境下的运行情况来确认软件是否具有广泛的适用性。

8. 自动化测试:使用自动化工具和脚本来执行测试任务。

自动化测试可以提高测试效率和准确性,特别适用于重复性较高的测试任务。

以上是一些常用的软件测试方法,根据具体的测试需求和实际情况,也可以结合使用不同的方法。

《软件测试技术》黑盒测试实验

《软件测试技术》黑盒测试实验

《软件测试技术》黑盒测试实验一、实验目的1、能熟练应用黑盒测试技术中的等价类划分法、边界值分析法、因果图法和决策表法进行测试用例设计。

2、对测试用例进行优化设计二、实验环境Windows系统+ Office工具三、实验任务1.电话号码问题2.三角形问题3.工资问题4. 自动售货机问题四、实验步骤1.电话号码问题某城市电话号码由三部分组成,分别是:地区码:空白或四位数字;前缀:非0或1开头的四位数字;后缀:四位数字。

假设被测程序接受符合上述规定的电话号码,拒绝所有不符合规定的电话号码,使用等价类划分方法进行测试用例设计。

表1 电话号码等价类表(除了表头即第一行外,其它都可以修改)表2 电话号码用例表(可以根据实际情况增加行或者删除行)2. 三角形问题输入三个整数:A、B、C,分别作为三角形的三条边的长度,取值范围[1,100],判断三条边构成的三角形是等腰的、等边的、一般三角形或者非三角形。

分别设计标准性边界值分析的测试用例和健壮性边界值分析的测试用例。

(1)标准性边界值测试用例(根据实际情况自行调整表格行数)(2)健壮性边界值测试用例(根据实际情况自行调整表格行数)3.工资问题某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。

(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。

请绘制出因果图和判定表,并给出相应的测试用例。

原因:C1. 年薪制员工C2. 严重过失中间状态:11. 非年薪制员工12. 过失结果:E1. 扣年终风险金的4%E2. 扣年终风险金的2%E3. 扣当月薪资的8%E4. 扣当月薪资的4%4. 自动售货机问题有一个处理单价为1元5角钱的盒装饮料的自动售货机软件,若投入1元5角硬币,按下“可乐”、“雪碧”或“橙汁”按钮,相应的饮料就送出来。

若投入的是2元硬币,在送出相应的饮料同时退换5角硬币。

请绘制出决策表。

黑盒测试的7种测试方法

黑盒测试的7种测试方法

黑盒测试的7种测试方法黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。

很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

黑盒测试有7种测试方法分别是等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、功能图法、正交实验法。

下面将一一介绍。

等价类划分法等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

该方法是一种重要的,常用的黑盒测试用例设计方法。

1、划分等价类:等价类是指某个输入域的子集合。

在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。

并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。

因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。

取得较好的测试结果。

等价类划分可有两种不同的情况:有效等价类和无效等价类。

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。

利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

无效等价类:与有效等价类的定义恰巧相反。

设计测试用例时,要同时考虑这两种等价类。

因为,软件不仅要能接收合理的数据,也要能经受意外的考验。

这样的测试才能确保软件具有更高的可靠性。

2、划分等价类的方法:下面给出六条确定等价类的原则。

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

黑盒测试常用的测试用例设计方法有

黑盒测试常用的测试用例设计方法有

黑盒测试常用的测试用例设计方法有在软件测试中,黑盒测试是一种测试方法,它通过分析软件的功能来设计测试用例,而不关心软件的内部结构。

黑盒测试的测试用例设计方法多种多样,下面介绍几种常用的方法:等价类划分等价类划分是一种常用的测试用例设计方法。

在等价类划分中,将输入值划分为几个等价类,然后从每个等价类中选择一个值作为测试用例。

这样可以减少重复的测试用例,同时覆盖所有可能的情况。

边界值分析边界值分析是一种基于输入边界的测试用例设计方法。

在这种方法中,选择输入值的边界以及边界附近的值作为测试用例。

这样可以检测输入边界条件下的软件行为,提高测试的全面性。

因果图因果图是一种用于分析系统功能和交互关系的图形工具。

通过构建因果图,可以帮助识别系统中的所有因果关系,并基于此设计测试用例。

因果图可以帮助测试人员更好地理解系统,从而设计更有效的测试用例。

决策表决策表是一种用于描述系统行为与输入条件之间关系的表格工具。

通过分析决策表,可以确定需要测试的各种情况,并据此设计测试用例。

决策表可以帮助测试人员全面考虑各种可能性,提高测试的覆盖率。

正交试验正交试验是一种用于设计实验的方法,也可以应用于测试用例设计。

在正交试验中,通过设计合理的因素水平组合来减少测试用例的数量,同时保证对各个因素的测试覆盖。

这种方法可以提高测试效率,同时保证测试的全面性。

以上是黑盒测试常用的测试用例设计方法,每种方法都有其特点和适用场景。

在实际测试工作中,测试人员可以根据具体情况选择合适的方法进行测试用例设计,以确保软件质量和功能的完整性。

决策表法

决策表法

第三章
预期输出 覆盖等价类
接受(有效) 1, 3, 4
接受(有效) 2, 3, 4
拒绝(无效)
5
拒绝(无效)
6
拒绝(无效)
7
拒绝(无效)
8
拒绝(无效)
9
拒绝(无效)
10
拒绝(无效)
11
拒绝(无效)
12
拒绝(无效)
13
拒绝(无效)
14
拒绝(无效)
15
黑盒测试及其用例的设计
习题
2、有一个处理单价为5角钱的饮料的自动售货机,相应规格说 明如下:
请选择适当的黑盒测试方法,写出选择该方法的原因, 并使用该方法的步骤,设计出相应的测试用例。
第三章 黑盒测试及其用例的设计
条件桩 条件项 动作桩 动作项
将任何一个条件组合的 特定取值及相应要执行 的动作称为一条规则。 在决策表中贯穿条件项 规 和动作项的一列就是一 则 条规则。
第三章 黑盒测试及其用例的设计
决策表的生成
• 构造决策表的5个步骤:
(1) 确定规则的个数。 有n个条件的决策表有2n个规则(每个条件取真、假值)。 (2) 列出所有的条件桩和动作桩。 (3) 填入条件项。 (4) 填入动作项,得到初始决策表。 (5) 简化决策表,合并相似规则。 若表中有两条以上规则具有相同的动作,并且在条件项之
D4: {day=29}
D5: {day=30} D6: {day=31}
• year变量的有效等价类:
Y1: {year是闰年}
Y2: {year不是闰年}
• 考虑各种有效的输入情况,程序中可能采取的操作有以下
六种:
a1: day+2
a2: day=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

软件测试-7黑盒测试决策表法

软件测试-7黑盒测试决策表法


√ √√
√√ √ √





选项 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 - -
动作:
a1:不可能
√√√
a2:day加1
√√√
√√
a3:day复位

√√
a4:month加1
√√
a5:month复位

a6:year加1

简化NextDate函数决策表
规则1、2、3都涉及有30天的月份day类 D1、D2和D3,并且它们的动作项都是 day加1,因此可以将规则1、2、3合并。
类似地,有31天的月份day类D1、D2、 D3和D4也可合并,2月的D4和D5也可合 并。
不可能 17/8/2004 1/9/2001 17/12/2004 1/1/2002 17/2/2004 29/2/2004 1/3/2001 1/3/2001
不可能 不可能
决策表测试的适用范围
if-else逻辑突出;
• 恒等: IF A THEN B • 非: IF (NOT A) THEN B • 或: IF (A OR B) THEN C • 与:IF (A AND B) THEN C
后,不必检验别的规则. 如果某一规则的条件要执行多个操作任务,这些操
作的执行顺序无关紧要.
2024/6/22
24

《软件测试黑盒测试》课件

《软件测试黑盒测试》课件

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

黑盒测试的用例方法是什么

黑盒测试的用例方法是什么

黑盒测试的用例方法是什么在软件测试中,黑盒测试是一种针对软件功能进行测试的方法,测试人员不需要了解软件内部的实现细节,而是基于功能规格来设计测试用例。

黑盒测试的目的是验证软件功能是否按照用户需求正确运行。

为了有效地进行黑盒测试,测试人员需要采用一定的用例方法来设计测试案例,以覆盖各种可能的情况。

等价类划分法等价类划分法是黑盒测试中常用的用例设计方法之一。

该方法将输入数据划分为若干等价类,然后从每个等价类中选择一个典型值作为测试数据。

通过对典型值的测试,可以有效地发现输入数据的各种情况下软件的行为。

例如,对于一个要求输入1到100之间整数的软件功能,可以分为小于1、大于100和1到100的三个等价类。

边界值分析法边界值分析法是黑盒测试用例设计中的另一种常见方法。

该方法侧重于测试输入的边界情况,因为往往软件在边界值处容易出现问题。

通过测试边界值附近的数据,可以覆盖常见的错误和异常情况。

比如,对于一个要求输入1到100之间整数的软件功能,可以选择输入1和100作为边界值,测试软件在这两个值附近的行为。

因果图法因果图法是一种用于描述系统或软件功能关系的图形化方法。

在黑盒测试中,可以利用因果图来帮助设计测试用例。

通过因果图,可以清晰地了解不同功能之间的依赖关系,从而设计出全面的测试用例。

因果图可以是结构图、时序图,也可以是数据流图等形式。

决策表法决策表法是一种基于条件和动作的逻辑关系建模技术。

在黑盒测试中,可以利用决策表来设计测试用例,覆盖不同的条件组合。

通过设计决策表,可以确保测试用例全面而有效地覆盖了各种场景。

决策表涉及条件、动作和动作条件三个要素,形成了一种清晰的逻辑关系。

总结在黑盒测试中,合理的用例设计是保证测试质量的关键。

等价类划分法、边界值分析法、因果图法、决策表法等多种用例设计方法都可以帮助测试人员设计全面且高效的测试用例,从而有效地验证软件功能是否符合预期。

在实际测试过程中,测试人员可根据具体情况选择不同的测试用例方法,灵活运用以提高测试效率与覆盖范围。

决策表法

决策表法
?条件桩列出问题的所有条件?条件项针对条件桩给出的条件列出所有可能的取值?动作桩列出问题规定的可能采取的操作?动作项指出在条件项的各组取值情况下应采取的动作将任何一个条件组合的特定取值及相应要执行的动作称为一条规则
3.7 决策表法
3.7.1 决策表 3.7.2 决策表应用 3.7.3 决策表测试应用案例
第三章
预期输出 覆盖等价类
接受(有效) 1, 3, 4
接受(有效) 2, 3, 4
拒绝(无效)
5
拒绝(无效)
6
拒绝(无效)
7
拒绝(无效)
8
拒绝(无效)
9ห้องสมุดไป่ตู้
拒绝(无效)
10
拒绝(无效)
11
拒绝(无效)
12
拒绝(无效)
13
拒绝(无效)
14
拒绝(无效)
15
黑盒测试及其用例的设计
习题
2、有一个处理单价为5角钱的饮料的自动售货机,相应规格说 明如下:
存在一定的逻辑依赖关系,由于等价类划分和边界值分析 测试都假设了变量是独立的,如果采用上述两种方法设计 测试用例,那么这些依赖关系在机械的选取输入值时可能 会丢失。而采用决策表法则可以通过使用“不可能动作” 的概念表示条件的不可能组合,来强调这种依赖关系。
实例分析
说明:当决策表规模(指规则的数目,n个条件的决策表 有2n个规则)较大时,可以通过扩展条目决策表(条件使 用等价类)、代数简化表、将大表“分解”为小表等方法。
第三章 黑盒测试及其用例的设计
案例分析
• month变量的有效等价类:
M1: {month=4,6,9,11} M2: {month=1,3,5,7,8,10}

7 软件测试:黑盒测试方法(其它)

7 软件测试:黑盒测试方法(其它)

错误推测 Ad hoc测试 ……
来源:Ryber《Essential test design》
测试方法分类
动态测试 基于结构 语句 判定 基于经验 基于规格
错误推测
等价类
边界值
白盒测试
……
……
……
……
条件
路径
判定-条件
独立路径 静态分析
探索性测试
状态转换
判定表
数据组合
模糊测试
用例测试
模型检查
黑盒测试
目录
1 2 3 4 错误推测法 模糊测试
探索性测试
测试设计方法总结
黑盒测试设计分类
Models 测试对象建模
模型Model 逻辑模型 处理模型 状态机模型 测试设计技术 判定表 因果图 流程图 用例图 状态转换 组合测试 (分类树)
Create base test cases 模型覆盖
测试覆盖技术 规则覆盖 (逻辑覆盖) 路径覆盖 (图覆盖) N-Switch覆盖 (图覆盖) N维-组合深度 (域空间覆盖)
d+\.\d+\.\d+\.\d+
模糊测试:练习

口令破解。随机生成一堆口令。
^[a-zA-Z0-9!@...]{7,12}$
Fuzzer工具

SPIKE工具
/resources示例: http 协议报文注入
freesoftware.shtml GET /index.html HTTP/1.0 Taof(Taof - The art of fuzzing) 工具 Host: 192.168.15.77:80 GET /projects/taof/
支撑工具: Wink 屏幕录制 Rapid Reporter ET过程记录 /reporter/
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三角形问题的决策表用例设计
表1
C1:abc能否构成三角形? C2:a=b? C3:a=c? C4:b=c? A1:非三角形 A2:一般三角形 A3:等腰三角形 A4:等边三角形 A5:不可能
该条件可以扩展成: a+b>c b+c>a c+a>b
13
Y N Y Y
1-8
N √
9
Y Y Y Y
10
Y Y Y N
15
例2:NextDate函数的决策表测试用例设计


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} D4: {day=30} D5: {day=31}
7~8
N N -
问 题 建 议
觉得疲倦吗 感兴趣吗 糊涂吗 重读 继续
跳下一章
休息


决策表的生成----构造决策表的5个步骤:
(1)列出所有的条件桩和动作桩。 (2)填入条件项 (3)填入动作项 (4)确定规则的个数,得到初始决策表。 (5) 简化决策表,合并相似规则。
有n个条件的决策表有2n个规则(每个条件取真、假值)
决策表的简化


简化是以合并相似规则为目标; 若表中有两条以上规则具有相同的动作, 并且在条件项之间存在极为相似的关系, 便可以合并。
Y Y N N Y N √ √ Y N - √ Y Y - N N N Y - N



将“阅读指南”决策表简化
规则
选项
1~4
Y ---
5
N Y Y √
6
N Y N √
1 国内乘客 -
2 T
3 T
4 T
5 T
6 F
7 F
8 F
9 F
头等舱
残疾乘客 行李重量W<=30kg 免费 (W-30)*2

- T √
T
F F
F
F F
T
T F √
F
T F
T
F F
F
F F
T
T F
F
T F
(W-30)*3
(W-30)*4 (W-30)*6 (W-30)*8 (W-30)*12 √ √
条件桩
规则
条件项
决策表
规则 选项
条件:c1 c2 c3 动作:a1 a2 a3 a4
动作桩
1
T T T √ √
2
T T F √ √
3,4
T F -
5
F T T √ √
6
F T F √
7,8
F F -

动作项

决策表的生成


若c1、c2、c3都为真,则采取动作a1和a2; 若c1、c2都为真,c3为假,则采取动作a1和a3; 将任何一个条件组合的特定取值及相应要执 行的动作称为一条规则,在决策表中贯穿条 件项和动作项的一列就是一条规则。
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
2001
M1 M1 M1 M2 M2 - D4 D5 - D5 - - - - - √
M3 - -
M3 D5 -
M4 M4 M4 M4 M4 D1 D2 D2 D3 D3 - Y1 Y2 Y1 Y2 √
M4
D4、D5
- √

√ √



√ √ √


√ √
√ √
测试用例表
测试用例 Test1-Test3 Test4 month 6 6 day 16 30 year 2001 2004 预期输出 17/6/2001 1/7/2004
√ √ √ √ √


14
根据决策表测试用例
编号
DT1 DT2 DT3 DT4 DT5 DT6 DT7 DT8 DT9 DT10 DT11
2016/6/14
[a,b,c]
412 142 124 555 ??? ??? 223 ??? 232 322 345
期望输出
非三角形 非三角形 非三角形 等边三角形 不可能 不可能 等腰三角形 不可能 等腰三角形 等腰三角形 一般三角形



规格说明以决策表形式给出,或较易转换为决策表. 条件的排列顺序不会也不应该影响执行的操作 规则的排列顺序不会也不应该影响执行的操作 当某一规则的条件已经满足,并确定要执行的操作 后,不必检验别的规则. 如果某一规则的条件要执行多个操作任务,这些操 作的执行顺序无关紧要.
2016/6/14


√ √ √



√ √ √

选项 规则
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
M3 M3 M3 M3 M4 M4 M4 M4 M4 M4 M4 D2 D3 D4 D5 D1 D2 D2 D3 D3 D4 D5 - - - - - Y1 Y2 Y1 Y2 - - √
若表中有两条以上规则具有相同的动作,并且在条件项之间存在极
为相似的关系,便可以合并。 合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值 无关。
例题:三角形问题决策表
1.
2. 3. 4. 5.
确定条件和动作 列出所有的条件桩和动作桩 填入输入项 填入动作项,得到初始决策表 化简。(合并相似规则)
黑盒测试用例设计 ——决策表法
概述
在一个程序中,如果输入输出比较 多,输入之间、输出之间相互制约 的条件比较多,在这种情况下使用 决策表更合适,它可以清楚地表达 它们之间的各种复杂关系。 决策表法是黑盒测试方法中最为严 格、最具有逻辑性的测试方法

1 决策表的概念

决策表的概念:决策表是分析和表达多逻 辑条件下执行不同操作情况的工具。
24
决策表应用



决策表最突出的优点是,能够将复杂的问题 按照各种可能的情况全部列举出来,简明并 避免遗漏。 利用决策表能够设计出完整的测试用例集合。 运用决策表设计测试用例可以将条件理解为 输入,将动作理解为输出
练习1

某校关于学生升留级的规定为:
• 一学期有三门考试课程不及格,直接留级; • 一学期考试和考察四门课程不及格者,不予补
习题
1、某软件的一个模块的需求规格说明书中描述: “……对于功率大于50马力的机器或者维修记录不全的或已 经运行10年以上的机器应予以优先的维修处理……”。
这里假定“维修记录不全”和“优先维修处理”有严格的定义。
请建立该需求的决策表,并绘制出化简(合并规则)后的决 策表。




乘机可免费携带30kg的行李。超出重量按 比例收费: 残疾乘客按超出重量的4倍收取费用,若 是国内乘客则只收取3倍于超出部分的费 用,若是头等舱则只收取2倍于超出重量 的费用; 国内乘客头等舱收取4倍于超出部分的费 用,否则是6倍; 头等舱的国际乘客收取8倍超出部分的费 用,否则是12倍。

√ √ √ √
决策表的化简
/14
31
2016/6/14 1 2 3 4 5 6 7 8
条件:a,b,c是否可以 构成三角形
9 10 11
N √
Y 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 √
决策表实例

在一些数据处理问题当中,某些操作的实 施依赖于多个逻辑条件的组合,即:针对 不同逻辑条件的组合值,分别执行不同的 操作。决策表很适合于处理这类问题。
决策表的优点:

能够将复杂的问题按照各种可能的情况 全部列举出来,简明并且避免遗漏。因 此,利用决策表能够设计出完整的测试 用例集合。
决策表的组成
√ √ √ √ √ √ √ √ √ √ √ √


简化NextDate函数决策表


规则1、2、3都涉及有30天的月份day类 D1、D2和D3,并且它们的动作项都是 day加1,因此可以将规则1、2、3合并。 类似地,有31天的月份day类D1、D2、 D3和D4也可合并,2月的D4和D5也可合 并。
• 恒等: IF A THEN B • 非: IF (NOT A) THEN B • 或: IF (A OR B) THEN C • 与:IF (A AND B) THEN C

输入变量之间存在逻辑关系; 涉及输入变量子集的计算; 输入与输出之间存在因果关系;
适用于使用决策表设计测试用例的情况:

决策表通常由以下4部分组成:
条件桩—列出问题的所有条件 条件项—针对条件桩给出的条件列出所有可能的取值 动作桩—列出问题规定的可能采取的操作 动作项—指出在条件项的各组取值情况下应采取的动作
相关文档
最新文档