软件测试第4章动态测试技术-黑盒测试方法

上传人:平*** 文档编号:14613816 上传时间:2017-11-01 格式:DOC 页数:12 大小:179.26KB
返回 下载 相关 举报
软件测试第4章动态测试技术-黑盒测试方法_第1页
第1页 / 共12页
软件测试第4章动态测试技术-黑盒测试方法_第2页
第2页 / 共12页
软件测试第4章动态测试技术-黑盒测试方法_第3页
第3页 / 共12页
软件测试第4章动态测试技术-黑盒测试方法_第4页
第4页 / 共12页
软件测试第4章动态测试技术-黑盒测试方法_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《软件测试第4章动态测试技术-黑盒测试方法》由会员分享,可在线阅读,更多相关《软件测试第4章动态测试技术-黑盒测试方法(12页珍藏版)》请在金锄头文库上搜索。

1、软件测试1 / 12第 4 章 动态测试技术(1)-黑盒测试方法1. 黑盒测试概述1. 定义:黑盒测试是依据软件的需求规约,设计测试用例,检查程序的功能是否符合需求规约的要求2. 测试用例:由测试输入数据和预期结果组成(运行实际结果和预期结果不一致说明存在错误)3. 主要的黑盒测试方法有 等价类划分 边界值分析 错误猜测法 因果图法 判定表测试法 基于场景测试法 正交试验法 比较测试2. 等价类划分1. 概述:1.1 由于不能穷举所有可能的输入数据来进行测试,所以只能选择少量有代表性的输入数据,来揭露尽可能多的程序错误(设计测试用例遵循的原则之一)1.2 等价类划分方法将所有可能的输入数据划分

2、成若干个等价类,然后在每个等价类中选取一个代表性的数据作为测试用例的输入数据 等价类是指输入域的某个子集,该子集中的每个输入数据对揭露软件中的错误都是等效的,测试等价类的某个代表值就等价于对这一类其他值的测试 也就是说,如果该子集中的某个输入数据能检测出某个错误,那么该子集中的其他输入数据也能检测出同样的错误;反之,如果该子集中的某个输入数据不能检测出错误,那么该子集中的其他输入数据也不能检测出错误例如:判断一个三角形的三条边是否构成等边三角形,那么1,1,1、3,3,3, 、8,8,8都是等效的。1.3 等价类划分方法把输入数据分为有效输入数据和无效输入数据(除测试正常的数据外,还应该测试不

3、正常的数据)1.4 有效输入数据指符合规格说明要求的合理的输入数据,主要用来检验程序是否实现了规格说明中的功能1.5 无效输入数据指不符合规格说明要求的不合理或非法的输入数据,主要用来检验程序是否做了规格说明以外的事例如:程序判断三角形是否等边三角形,输入 a、b、c 三条边,如果 a=b,b=c,a=c =等边三角形,0,0,0、-1 ,-1 ,-1属于无效输入数据,不仅要检查正常的数据输入,还应驾车不正常的数据输入1.6 在确定输入数据等价类时,常常还要分析输出数据的等价类,以便根据输出数据等价类导出输入数据等价类2. 等价类划分设计测试用例的步骤2.1 确定等价类 根据软件的规格说明,对

4、每一个输入条件(通常是规格说明中的一句话或一个短语)确定若干个有效等价类和若干个无效等价类可使用如下表格软件测试2 / 12输入条件 有效等价类 无效等价类3. 确定等价类的规则:3.1 如果输入条件规定了取值范围,则可以确定一个有效等价类(输入值在此范围内)和两个无效等价类(输入值小于最小值及大于最大值) 例如,规定输入的考试成绩在 0.100 之间,则有效等价类是“0 成绩 100”,无效等价类是“成绩 0”和“成绩 100”3.2 如果输入条件规定了值的个数,则可以确定一个有效等价类(输入值的个数等于规定的个数)和两个无效等价类(输入值的个数小于规定的个数和大于规定的个数) 例如,规定输

5、入构成三角形的 3 条边,则有效等价类是“输入边数 = 3”,无效等价类是“输入边数 3”和“输入边数 3”3.3 如果输入条件规定了输入值的集合(即离散值) ,而且程序对不同的输入值做不同的处理,那么每个允许的值都确定为一个有效等价类,另外还有一个无效等价类(任意一个不允许的值)(例如:交通信号灯“红” 、 “黄” , “绿” ,是输入的集合,输入离散值) 例如,规定输入的考试成绩为优、良、中、及格、不及格,则可确定 5 个有效等价类和一个无效等价类3.4 如果输入条件规定了输入值必须遵循的规则,那么可确定一个有效等价类(符合此规则)和若干个无效等价类(从各个不同的角度违反此规则) 例如,在

6、程序语言中对变量标识符规定为“以字母开头的串” ,那么有效等价类是“以字母开头的串” ,而无效等价类有“以数字开头的串” 、 “以标点符号开头的串”等3.5 如果输入条件规定输入数据是整型,那么可以确定三个有效等价类(正整数、零、负整数)和一个无效等价类(非整数)3.6 如果输入条件规定处理的对象是表格,那么可以确定一个有效等价类(表有一项或多项)和一个无效等价类(空表)以上只是列举了一些规则,实际情况往往是千变万化的,在遇到具体问题时,可参照上述规则的思想来划分等价类4. 设计测试用例4.1 在确定了等价类之后,建立等价类表,列出所有划分出的等价类,并为每个有效等价类和无效等价类编号输入条件

7、 有效等价类 无效等价类4.2 利用等价类设计测试用例的步骤:4.2.1 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止(一个测试用例覆盖多个有效等价类)4.2.2 为每个无效等价类设计一个新的测试用例(无效等价类发现错误的概率比较大,每个无效等价类设计一个测试用例,提供测试的精度)4.3 用等价类划分法设计测试用例的实例:某编译程序的规格说明中关于标识符的规定如下:标识符是由字母开头,后跟字母或数字的任意组合构成;标识符的字符数为 18 个;软件测试3 / 12标识符必须先说明后使用;一个说明语句中至少有一个标识符;保留字不能用作

8、变量标识符(例如:if、goto、int 、float )4.3.1 用等价类划分方法,建立输入等价类表4.3.2 下面选取 9 个测试用例,它们覆盖了所有的等价类3. 边界值分析1. 概述:1.1 边界值分析常用于对其他黑盒测试方法(特别是等价类划分方法)的补充1.2 人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,其揭露程序中错误的可能性就更大例如:打印报表,要求每页先打印表头,再打印内容,每页 50 行,如果打印行数正好是 50 的倍数,如果没有判断是不是打印完毕,可能会产生打印最后一页后,再打印一页,但只

9、有表头的错误。1.3 这里所说的边界是指,相对于输入等价类和输出等价类而言,直接在其边界上、或稍高于其边界值、或稍低于其边界值的一些特定情况1.4 可以是输入数据的边界也可以是输出数据的边界1.5 使用等价类分析方法设计测试用例时,原则上,等价类中的任一输入数据都可作为该等价类的代表用作测试用例1.6 而边值分析则是专门挑选那些位于边界附近的值(即正好等于、或刚刚大于、或刚刚小于边界的值)作为测试用例2. 边界值分析方法选择测试用例的规则如下:2.1 如果输入条件规定了值的范围,则选择刚刚达到这个范围的边界的值以及刚刚超出这个范围的边界的值作为测试输入数据 例如,规定输入的考试成绩在 0100

10、 之间,则取 0,100,1,101 作为测试输入数据2.2 如果输入条件规定了值的个数,则分别选择最大个数、最小个数、比最大个数多 1、比最小个数少 1 的数据作为测试输入数据 例如,规定一个运动员的参赛项目至少 1 项,最多 3 项,那么,可选择参赛项目分别是 1 项、3 项、0 项、4 项的测试输入数据2.3 对每个输出条件使用第 1 条(输出条件的取值范围来导出输入条件的取值范围) 例如,输出的金额值大于等于 0 且小于 104 ,则选择使得输出金额分别为0、9999、1、10000 的输入数据作为测试数据2.4 对每个输出条件使用第 2 条(输出结果的要求条件) 例如,规定输出的一张

11、发票上,至少有 1 行内容,至多有 5 行内容,则选择使得输出发票分别有 1 行、5 行、0 行、6 行内容的输入数据作为测试数据2.5 如果程序的输入或输出是一个有序集合,例如,顺序文件、表格,则应把注意力集中在有序集的第 1 个元素和最后一个元素上2.6 如果程序中定义的内部数据结构有预定义的边界,例如,数组的上界和下界、栈的大小,则应选择使得正好达到该数据结构边界以及刚好超出该数据结构边界的输入数据作为测试数据 例如,程序中数组 A 的下界是 10,上界是 20,则可选择使得 A 的下标为10、20、9、21 的输入数据作为测试数据2.7 分析规格说明,找出其他可能的边界条件2.8 发挥

12、你的智慧,找出其他可能的边界条件软件测试4 / 123. 由于边界值分析方法所设计的测试用例更有可能发现程序中的错误,因此经常把边值分析方法与其它设计测试用例方法结合起来使用4. 边界值分析法可分为: 基本边界值分析 健壮性边界值分析 最坏情况边界值分析5. 基本边界值分析5.1 把程序看做一个函数,程序的输入就是函数的定义域,程序的输出就是函数的值域5.2 假设函数 F 有两个输入变量 x1 和 x2,满足条件a x1 b c x2 d其中 a、b、c、d 就是边界5.3 基本边界值分析法设计测试用例的规则:使所有变量取正常值(nom) ,而使其中的一个变量分别取最小值(min) 、略大于最

13、小值(min +) 、位于或接近中间的正常值(nom) 、略小于最大值(max-) 、最大值(max)这 5 个数,并对每个变量都做一次5.4 对于两个变量的情况,输入组合有:(x 1nom, x2min),( x1nom, x2min+),( x1nom, x2nom),( x1nom, x2max-), ( x1nom, x2max),( x1min, x2nom),( x1min+, x2nom),( x1nom, x2nom), ( x1max-, x2nom),( x1max, x2nom)5.5 去除重复项后共有 9 组测试数据5.6 对于 n 个变量的情况,基本边界值分析法产生

14、4n+1 组测试数据5.7 对于日期这样的变量,月和日都有边界,年的边界不明确,可以制定一个“人工”值域(例如年份为 1900-2099)5.8 对于布尔变量,只有“真” 、 “假”两个值(没有 5 种边界值)6. 健壮性边界值分析6.1 健壮性边界值分析是基本边界值分析的一种扩展6.2 健壮性边界值分析法设计测试用例的规则:使所有变量取正常值(nom) ,而使其中的一个变量分别取略小于最小值(min-) 、最小值(min) 、略大于最小值(min +) 、位于或接近中间的正常值(nom ) 、略小于最大值(max-) 、最大值(max) 、略大于最大值(max+)这 7 个数,并对每个变量都

15、做一次6.3 健壮性边界值分析法常用于针对程序输出的边界值6.4 对于 n 个变量的情况,健壮性边界值分析法产生 6n+1 组测试数据7. 最坏情况边界值分析7.1 基本边界值分析法和健壮性边界值分析法基于“单缺陷”的假设7.2 最坏情况边界值分析法基于“多缺陷”的假设,即程序失效是由两个或多个变量的边界值引起的7.3 对于两个变量的情况,(取笛卡尔积)A= x1min, x1min+, x1nom, x1max-, x1max B= x2min, x2min+, x2nom, x2max-, x2max AB=( x1min, x2min),( x1min, x2min+),( x1min,

16、 x2nom),(x1min, x2max-),( x1min, x2max),( x1min+, x2min),( x1min+, x2min+),(x1min+, x2nom),( x1min+, x2max-),( x1min+, x2max) 共 25 组测试数据7.4 对于 n 个变量的情况,健壮性边界值分析法产生 5n 组测试数据软件测试5 / 124. 错误猜测法1. 概述1.1 也称错误推测法1.2 错误猜测是一种凭直觉和经验推测某些可能存在的错误,从而针对这些可能存在的错误设计测试用例的方法1.3 这种方法没有机械的执行步骤,主要依靠直觉和经验1.4 错误猜测法的基本思想是:列举出程序中所有可能的错误和容易发生错误的特殊情况,然后根据这些猜测设计测试用例2. 举例:2.1 例如,测试一个排序子程序,可考虑如下情况: 输入表为空; 输入表只有一个元素; 输入表的所有元素都相同;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号