黑盒测试用例设计技术.ppt
《黑盒测试用例设计技术.ppt》由会员分享,可在线阅读,更多相关《黑盒测试用例设计技术.ppt(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、黑盒测试用例设计技术黑盒测试用例设计技术内容提要内容提要黑盒测试的概念黑盒测试的概念:等价类划分法等价类划分法:等价类划分法测试技术是依据软件系统输入集合、输出集合等价类划分法测试技术是依据软件系统输入集合、输出集合或操作集合实现功或操作集合实现功能的相同性为依据,对其进行的子集划分,并对每个子集产生一个测试用能的相同性为依据,对其进行的子集划分,并对每个子集产生一个测试用例的测试用例设计方法。例的测试用例设计方法。边界条件法边界条件法:等价类划分法的扩张。等价类划分法的扩张。决策表法决策表法:决策表是分析和表达多逻辑条件下执行不同操作情况的工具,它决策表是分析和表达多逻辑条件下执行不同操作情
2、况的工具,它可以把复杂的逻辑关系可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。和多种条件组合的情况表达得既具体又明确。因果图法因果图法:因果图是从用自然语言书写的程序规格说明的描述中找到因(输因果图是从用自然语言书写的程序规格说明的描述中找到因(输入条件)和果(输出或入条件)和果(输出或程序状态的改变),通过因果图转化为决策表。程序状态的改变),通过因果图转化为决策表。正交表测试法正交表测试法:正交测试源于正交试验设计方法,是从大量的数据中挑选适正交测试源于正交试验设计方法,是从大量的数据中挑选适量的、有代表性的点,量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法。
3、正交测试法就是使用已从而合理地安排测试的一种科学的试验设计方法。正交测试法就是使用已经造好了的正交表格来经造好了的正交表格来安排试验并进行数据分析的一种方法。安排试验并进行数据分析的一种方法。黑盒测试的其他方法黑盒测试的其他方法 特殊值测试特殊值测试:特殊值测试就是指定软件中某些特殊值特殊值测试就是指定软件中某些特殊值为测试用例而对软件实施的测试。为测试用例而对软件实施的测试。故障猜测法故障猜测法:根据经验和直觉猜测软件中可能存在的根据经验和直觉猜测软件中可能存在的各种故障,从而有针对性地编写测试这些故障各种故障,从而有针对性地编写测试这些故障的测试用例。的测试用例。随机测试随机测试:对于给定
4、的被测软件系统和软件系统的定对于给定的被测软件系统和软件系统的定义域,按照定义域中样本取值的概率,随机的义域,按照定义域中样本取值的概率,随机的选择其样本并作为其测试数据的过程称为随机测试。选择其样本并作为其测试数据的过程称为随机测试。黑盒测试黑盒测试 黑盒测试(黑盒测试(Black Box Testing)又叫功能测试)又叫功能测试(Functional Testing)。)。主要关注于被测软件的功主要关注于被测软件的功能实现,而不是内部逻辑。能实现,而不是内部逻辑。在黑盒测试中,被测对象的内部结构、运作情况对在黑盒测试中,被测对象的内部结构、运作情况对测试人员是不可见的。测试人员是不可见的
5、。测试人员对被测产品的验证主要是根据其规格,验测试人员对被测产品的验证主要是根据其规格,验证其与规格的一致性。证其与规格的一致性。黑盒测试发现的缺陷类型黑盒测试发现的缺陷类型功能错误或遗漏功能错误或遗漏界面错误界面错误外部数据库访问错误外部数据库访问错误性能错误性能错误初始化和终止错误初始化和终止错误等价类划分法等价类划分法 等价类划分法测试技术是依据软件系统输入集合、输等价类划分法测试技术是依据软件系统输入集合、输出集合或操作集合实现功能的相同性为依据,对其进行的子出集合或操作集合实现功能的相同性为依据,对其进行的子集划分,并对每个子集产生一个测试用例的测试用例设计方集划分,并对每个子集产生
6、一个测试用例的测试用例设计方法。法。等价分配:是指分步骤地把过多(无限)的测试案例减等价分配:是指分步骤地把过多(无限)的测试案例减小到同样有效的小范围的过程。小到同样有效的小范围的过程。等价类别或者等价区间是指测试相同目标或者暴露相同等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试。软件缺陷的一组测试。在寻找等价区间时,想办法把软件的相似输入、输出、在寻找等价区间时,想办法把软件的相似输入、输出、操作分成组。这些组是等价区间。操作分成组。这些组是等价区间。定义等价类的规则定义等价类的规则 如果输入集合、输出集合或操作集合规定了取值范围,或者值的个如果输入集合、输出集合或操作
7、集合规定了取值范围,或者值的个数,则可以确定一个有效等价类和两个无效等价类;数,则可以确定一个有效等价类和两个无效等价类;如果输入集合、输出集合或操作集合规定了集合取值范围,或者是如果输入集合、输出集合或操作集合规定了集合取值范围,或者是规定了必要条件,这时可以确定一个有效等价类和一个无效等价类;规定了必要条件,这时可以确定一个有效等价类和一个无效等价类;如果输入集合、输出集合或操作集合是一个布尔量,则可以确定如果输入集合、输出集合或操作集合是一个布尔量,则可以确定一个有效等价类和一个无效等价类;一个有效等价类和一个无效等价类;如果输入集合、输出集合或操作集合是一组值,而软件要对每一如果输入集
8、合、输出集合或操作集合是一组值,而软件要对每一组值分别进行处理,这时要对每个规定的输入值确定一个等价类,而对组值分别进行处理,这时要对每个规定的输入值确定一个等价类,而对于这组值之外的所有值确定一个等价类;于这组值之外的所有值确定一个等价类;如果规定了输入集合、输出集合和操作集合必须遵守的规则,则如果规定了输入集合、输出集合和操作集合必须遵守的规则,则可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从各种角度违反规则的数据)。各种角度违反规则的数据)。等价类测试等价类测试弱一般等价类测试用例弱一般等价类测试用例agedx
9、1x2fbc标准等价类测试不考虑无效数据值标准等价类测试不考虑无效数据值等价类测试等价类测试强一般等价类测试用例强一般等价类测试用例agedx1x2fbc等价类测试等价类测试弱健壮等价类测试用例弱健壮等价类测试用例agedx1x2fbc等价类测试等价类测试强健壮等价类测试用例强健壮等价类测试用例agedx1x2fbc练习练习 写出三角形问题的输入等价类和输出等价类写出三角形问题的输入等价类和输出等价类 写出写出NextDateNextDate函数的输入等价类函数的输入等价类 WindowsWindows文件名可以包含除了、文件名可以包含除了、/:*?“。文件名长度是。文件名长度是1-1-255
10、255个字符。写出文件名创建测试用例个字符。写出文件名创建测试用例 如何确定从数据库读取数据的等价类?如何确定从数据库读取数据的等价类?R1=:边为边为a,b,c的等边三角形的等边三角形R2=:边为边为a,b,c的等腰三角形的等腰三角形R3=:边为边为a,b,c的一般三角形的一般三角形R4=:边为边为a,b,c的不能组成三角形的不能组成三角形练练 习习 给出一个输出集合等价类划分的例子。假设一个销售书籍的奖励系统,销给出一个输出集合等价类划分的例子。假设一个销售书籍的奖励系统,销售三种软件工程类书籍,每本书的单价不同,售三种软件工程类书籍,每本书的单价不同,软件测试软件测试每本每本25元;元;
11、程序程序设计设计每本每本30元;元;软件工程软件工程每本每本40元。每月销售额不到(含)元。每月销售额不到(含)500元的部元的部分奖励分奖励10%,500(不含)到(不含)到700元(含)元的部分为元(含)元的部分为15%,超过,超过7000元的部元的部分为分为20%。该系统生成月份销售报告,汇总售出的各类书籍的总数,总销售额。该系统生成月份销售报告,汇总售出的各类书籍的总数,总销售额以及奖金。以及奖金。S1=:销售额:销售额=500;S1=:500销售额销售额=700;S1=:销售额:销售额700;等价类测试小结等价类测试小结 等价类测试的弱形式不如对应的强形式的测试全面。等价类测试的弱形
12、式不如对应的强形式的测试全面。如果错误条件非常重要,则进行健壮性的测试是合如果错误条件非常重要,则进行健壮性的测试是合适的。适的。如果输入数据以离散值区间和集合定义,则等价类如果输入数据以离散值区间和集合定义,则等价类测试是合适的。测试是合适的。在发现合适的等价类关系之前,可能需要进行多次在发现合适的等价类关系之前,可能需要进行多次尝试。尝试。函数测试函数测试边界值分析边界值分析边界值测试的基本原理:错误更可能出现在输入变量的极值附近错误更可能出现在输入变量的极值附近.失效极少由两个(或多个)缺陷的同时发生引起的。单故障失效极少由两个(或多个)缺陷的同时发生引起的。单故障MinMin、minm
13、in、nomnom、max-max-和和maxmax。边界条件法边界条件法边界值测试边界值测试 如果函数如果函数F F实现了一个程序,则输入两个变量实现了一个程序,则输入两个变量x x1 1 和和 x x2 2会有一些边界:会有一些边界:a xa x1 1 b b c xc x2 2 d d 区间区间a,ba,b和和c,dc,d是是x x1 1 和和 x x2 2的值域。的值域。边界值分析边界值分析adcbx2x1边界值分析边界值分析边界值类型的描述:第一个第一个/最后一个最后一个 最小值最小值/最大值最大值开始开始/完成完成 超过超过/在内在内空空/满满 最短最短/最长最长最大最大/最小最小
14、 最高最高/最低最低相邻相邻/最远最远 最慢最慢/最快最快最早最早/最迟最迟次边界值分析次边界值分析 次边界条件:次边界条件:有些边界条件在软件内部,最终用户几乎看不到,但是软件有些边界条件在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查。这样的边界条件称为次边界条件或者内部边测试仍有必要检查。这样的边界条件称为次边界条件或者内部边界条件。如界条件。如2的乘方和的乘方和ASC。通讯软件是大量存在2的幂的内部边界条件。例如某种通讯协议支持256条命令。软件将发送编码为一个4位数据的最常用的15条命令。假如用到16-256条命令,软件就转而发送编码为更长的字节的命令。软件中的软件中的2 2
15、的乘方的乘方术语术语范范围围或或值值位位0 0或或1 1双位双位0-150-15字字节节0-2550-255字字0-650-65,535535千千1 1,024024兆兆1 1,048048,576576十十亿亿1 1,073073,741741,824824万万亿亿1 1,009009,511511,627627,776776部分的部分的ASCASC制表制表字符字符ASCASC值值字符字符ASCASC值值NullNull0 0B B6666SpaceSpace3232Y Y8989/4747Z Z90900 04848 91911 1494996962 25050a a 97979 9575
16、7b b 9898:5858y y 121121 6464z z 122122A A6565 123123一般边界条件法一般边界条件法 adcbx1x2健壮性边界条件法健壮性边界条件法 adcbx1x2最坏边界条件法最坏边界条件法 adcbx1x2健壮最坏边界条件法健壮最坏边界条件法 adcbx1x2边界值分析边界值分析 边界值分析的特点和局限性边界值分析的特点和局限性 对于一个对于一个n n变量函数,边界值分析会产生变量函数,边界值分析会产生4n4n1 1个个测试用例。测试用例。边界值的取值取决于变量本身的性质。边界值的取值取决于变量本身的性质。边界值分析对布尔变量没有什么意义。边界值分析对
17、布尔变量没有什么意义。边界值分析假设变量是完全独立的。边界值分析假设变量是完全独立的。边界值测试边界值测试-练习练习1、写出三角形问题的边界值分析测试用例写出三角形问题的边界值分析测试用例2 2、写出、写出NextDateNextDate函数的最坏情况测试用例函数的最坏情况测试用例边界值测试的小结边界值测试的小结这类测试方法是基于一种假设:输入的变量是真正独立的。这类测试方法是基于一种假设:输入的变量是真正独立的。这些方法的区别是:正常值与健壮值;单缺陷与多缺陷。这些方法的区别是:正常值与健壮值;单缺陷与多缺陷。决策表法决策表法 决策表是分析和表达多逻辑条件下执行不同操作情况决策表是分析和表达
18、多逻辑条件下执行不同操作情况的工具,它可以把复杂的逻辑关系和多种条件组合的情况的工具,它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。表达得既具体又明确。在所有功能测试方法中,基于决策表的测试方法是最在所有功能测试方法中,基于决策表的测试方法是最严格的,因为决策表具有逻辑严格性。严格的,因为决策表具有逻辑严格性。决策表很适合描述不同条件集合下采取行动的若干组决策表很适合描述不同条件集合下采取行动的若干组合的情况。合的情况。决策表的组成决策表的组成 条件桩条件桩 条件项条件项 动作桩动作桩 动作项动作项规则条件桩列出了软件系统所有输入条件,列出条件的排列顺序不会影响输出的结果。动作
19、桩列出了软件系统对应输入条件可能采取的操作,这些操作的排列顺序也不会影响输出的结果。决策表的组成决策表的组成条件桩:列出了问题的所有条件。条件桩:列出了问题的所有条件。动作桩:列出了问题规定可能采取的操作。动作桩:列出了问题规定可能采取的操作。条件项:列出针对其左列条件的取值,在所有可能情况下条件项:列出针对其左列条件的取值,在所有可能情况下 的真假值。这叫有限条目决策表(扩展条目决策表)的真假值。这叫有限条目决策表(扩展条目决策表)动作项:列出在条件项的各种取值情况下应该采取的动作。动作项:列出在条件项的各种取值情况下应该采取的动作。规规 则:任何一个条件组合的特定取值及其相应要执行的则:任
20、何一个条件组合的特定取值及其相应要执行的 操作。在决策表中贯穿条件项和动作项的一列就操作。在决策表中贯穿条件项和动作项的一列就 是一条规则。是一条规则。决策表(判定表)的建立决策表(判定表)的建立 列出所有的条件桩和动作桩;列出所有的条件桩和动作桩;填入条件项;填入条件项;填入动作项,制定初始判定表;填入动作项,制定初始判定表;简化;合并相似规则或者相同动作。简化;合并相似规则或者相同动作。决策表的简化决策表的简化 简化是以合并相似规则为目标。若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。“-”表示与取值无关。YYNNYNYN-YY-NNNYN基于决策表的
21、测试基于决策表的测试桩规则1规则2规则3、4规则5C1C2C3TTTTTFTFFTTA1A2A3XXXXXXX基于决策表的测试基于决策表的测试桩123456789C1:a,b,c构成三角形?C2:a=b?C3:a=c?C4:b=c?N-YYYYYYYNYYNYYYNNYNYYYNYNYNNYYNNNA1:非三角形A2:不等边三角形A3:等腰三角形A4:等边三角形A5:不可能XXXXXXXXX基于决策表的测试基于决策表的测试条件123C1:月份在M1中?C2:月份在M2中?C3:月份在M3中?T-T-TA1A2M1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份
22、月份:此月是此月是2月月;A1:不可能不可能A2:日期增日期增1基于决策表的测试基于决策表的测试条件123C1:月份在M1中?C2:月份在M2中?C3:月份在M3中?规则条数统计T-4-T-4-T4A1A2M1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份月份:此月是此月是2月月;A1:不可能不可能A2:日期增日期增1基于决策表的测试基于决策表的测试条件111213142122232431323334C1:月份在M1中?C2:月份在M2中?C3:月份在M3中?规则条数统计TTT1TTF1TFT1TFF1TTT1TTF1FTT1FTF1TTT1TFT1FTT1
23、FFT1A1A2M1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份月份:此月是此月是2月月;A1:不可能不可能A2:日期增日期增1基于决策表的测试基于决策表的测试条件11121314232434C1:月份在M1中?C2:月份在M2中?C3:月份在M3中?规则条数统计TTT1TTF1TFT1TFF1FTT1FTF1FFT1FFF1A1XXXXXM1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份月份:此月是此月是2月月;A1:不可能不可能A2:日期增日期增1A3:日期复位日期复位A4:月份增月份增1A5:月份复位月份复位A6:
24、年增年增1基于决策表的测试基于决策表的测试条件1-456789C1C2C3T-FTTFTFFFTFFFTFFA1A2A3X-XXX-XXX-XX-XX-X基于决策表的测试基于决策表的测试条件1-456789C1C2C3T-FTTFTFFFTFFFTFFA1A2A3X-XXX-XXX-XX-X-X-基于决策表的测试基于决策表的测试M1=月份月份:每月有每月有30天天;M2=月份月份:每月有每月有31天天;M3=月份月份:此月是此月是2月月;D1=日期日期:1日期日期28;D2=日期日期:日期日期=29;D3=日期:日期=30;D4=日期:日期=31;Y1=年:年是闰年;Y2=年:年不是闰年。基于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黑盒 测试 设计 技术
限制150内