第3章 黑盒测试及其实例设计

更新时间:2023-04-21 22:27:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件测试基础教程, 杜文洁, 清华 ,ppt

第3章 黑盒测试及其 章 实例设计

软件测试基础教程, 杜文洁, 清华 ,ppt

本章概述 黑盒测试是软件测试技术中最基本的方法之一,在各 类测试中都有广泛的应用。本章将介绍黑盒测试的基本概念 与基本方法,并重点介绍应用较为广泛的几种测试方法:等 价类划分法、边界值分析法、决策表法和因果图法,并通过 典型实例详细介绍实际测试技术的基本运用。

软件测试基础教程, 杜文洁, 清华 ,ppt

第3章 黑盒测试及其实例设计 章3.1 黑盒测试概述 3.2 等价类划分法 3.3 边界值分析法 3.4决策表法 3.5因果图法 3.6实例设计 3.7 测试方法的选择 小结 习题

软件测试基础教程, 杜文洁, 清华 ,ppt

3.1 黑盒测试概述黑盒测试又称为功能测试或数据驱动测试,是从用户观点出发,主要 黑盒测试 以软件规格说明书为依据,对程序功能和程序接口进行的测试。 黑盒测试是以用户的观点,从输入数据与输出数据的对应关系出发进 行测试的,它不涉及到程序的内部结构。很明显,如果外部特性本身有问 题或规格说明书的规定有误,用黑盒测试方法是发现不了的。黑盒测试方 黑盒测试方 法着重测试软件的功能需求,是在程序接口上进行测试, 法着重测试软件的功能需求,是在程序接口上进行测试,主要是为了发 现以下错误: 现以下错误: 是否有不正确的功能,是否有遗漏的功能; 在接口上,是否能够正确地接收输入数据并产生正确的输出结果; 是否有数据结构错误或外部信息访问错误; 性能上是否能够满足要求; 是否有程序初始化和终止方面的错误。 黑盒测试的各种方法中,应用较为广泛的测试方法有以下几种:等价 类划分法、边界值分析法、决策表法和因果图法。这些方法是比较实用的, 但采用什么方法,在使用时自然要针对开发项目的特点对设计方法进行适 当的选择。

软件测试基础教程, 杜文洁, 清华 ,ppt

3.2 等价类划分法3.2.1 等价类划分法等价类划分法是黑盒测试用例设计中一种常用的设计方法,它将不能穷举的测试过 等价类划分法 程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 在划分等价类的过程中,不但要考虑有效等价类划分,同时也要考虑无效等价类划 分: 有效等价类是指对软件规格说明来说,合理、有意义的输入数据所构成的集合。 无效等价类则和有效等价类相反,即不满足程序输入要求或者无效的输入数据所 构成的集合。 划分等价类的几个原则: 划分等价类的几个原则: 如果规定了输入条件的取值范围或者个数,则可以确定一个有效等价类和两个无 效等价类。 如果规定了输入值的集合,则可以确定一个有效等价类和一个无效等价类。 如果规定了输入数据的一组值,并且程序要对每一个输入值分别进行处理,则可 为每一个值确定一个有效等

价类,此外根据这组值确定一个无效等价类,即所有不 允许的输入值的集合。 如果规定了输入数据必须遵守的规则,则可以确定一个有效等价类和若干个无效 等价类。 如果已知的等价类中各个元素在程序中的处理方式不同,则应将该等价类进一步 划分成更小的等价类。

软件测试基础教程, 杜文洁, 清华 ,ppt

在确立了等价类之后,建立等价类表,列出所有划分出的等价类,如表3-1所示 表3-1 等价类表 输入条件 … 有效等价类 … 无效等价类 …

软件测试基础教程, 杜文洁, 清华 ,ppt

3.2.2 常见等价类划分形式1.标准等价类测试 标准等价类测试 标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。通常,标准等 价类测试用例的数量和最大等价类中元素的数目相等。 以三角形问题为例,要求输入三个整数a、b、c,分别作为三角形的三条边,取值范围在 1~100之间,判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形以 及不构成三角形。在多数情况下,是从输入域划分等价类,但对于三角形问题,从输出域来 定义等价类是最简单的划分方法。 因此,利用这些信息可以确定下列值域等价类: R1={〈a,b,c〉:边为a,b,c 的等边三角形} R2={〈a,b,c〉:边为a,b,c 的等腰三角形} R3={〈a,b,c〉:边为a,b,c 的一般三角形} R4={〈a,b,c〉:边为a,b,c 不能构成三角形} 4个标准等价类测试用例如表3-2所示。

软件测试基础教程, 杜文洁, 清华 ,ppt

测试用例 TC1 TC2 TC3 TC4

a 20 20 5 3

b 20 20 8 6

c 20 10 10 10

预期输出 等边三角形 等腰三角形 一般三角形 不构成三角形

表3-2 三角形问题的标准等价类测试用例

软件测试基础教程, 杜文洁, 清华 ,ppt

2.健壮等价类测试 健壮等价类测试 健壮等价类测试主要的出发点 出发点是考虑了无效等价类。 出发点 对有效输入,测试用例从每个有效等价类中取一个值; 对无效输入,一 个测试用例有一个无效值,其他值均取有效值。 健壮等价类测试存在两个问题: 健壮等价类测试存在两个问题: 需要花费精力定义无效测试用例的期望输出; 对强类型的语言没有必要考虑无效的输入 。 对于上述三角形问题,取a、b、c的无效值产生了7个健壮等价类测试用 例,如表3-3所示。

软件测试基础教程, 杜文洁, 清华 ,ppt

测试用例 TC1 TC2 TC3 TC4 TC5 TC6 TC7

a 3 -1 4 4 101 4 4

b 4 4 -1 4 4 101 4

c 5 4 4 -1 4 4 101

预期输出 一般三角形 a值超出定义域范围 b值超出定义域范围 c值超出定义域范围 a值超出定义域范围 b值超出定义域范围 c值超出定义域范围

表3-3 三角形问题的健壮等价类测试用例

软件测试基础教程, 杜文洁, 清华 ,ppt

3.对等区间划分 对等区间划分是测试用例设计的非常规形式化的方法。它将被测 对象的输入/输出划分成一些区间,被测软件对一个特定区间的 任何值都是等价的。形成测试区间的数据不只

是函数/过程的参 数,也可以是程序可以访问的全局变量、系统资源等,这些变量 或资源可以是以时间形式存在的数据,或以状态形式存在的输入 /输出序列。 举例说明如下: 举例说明如下: 平方根函数要求当输入值为0或大于0时,返回输入数的平方根; 当输入值小于0时,显示错误信息“平方根错误,输入值小于0”, 并返回0。 考虑平方根函数的测试用例区间,可以划分出两个输入区间和两 个输出区间,如表3-4所示。

软件测试基础教程, 杜文洁, 清华 ,ppt

输入区间 ⅰ ⅱ <0 >=0 A B

输出区间 >=0 Error

表3-4 区间划分

通过分析,可以用2个测试用例来测试4个区间: 测试用例1:输入4,返回2 //区间ⅱ和a 测试用例2:输入-10,返回0,输出“平方根错误,输入值小于0” //区间ⅰ和b

软件测试基础教程, 杜文洁, 清华 ,ppt

3.2.3 等价类划分法测试用例在某网站申请免费信箱时,要求用户必须输入用户名、密码及确认密码, 对每一项输入条件的要求如下: 用户名要求为4位以上,16位以下,使用英文字母、数字、“-”、“_”, 并且首字符必须为字母或数字;密码要求为6~16位之间,只能使用英文字 母、数字以及“-”、“_”,并且区分大小写。 分析如下: 分析程序的规格说明,列出等价类表(包括有效等价类和无效等价类), 如表3-5所示。

软件测试基础教程, 杜文洁, 清华 ,ppt

输入 条件

有效等价类

编 号 1 2 3 4

无效等价类 少于4位

编号 8 9 10

4~16位 用户 名 首字符为字母 首字符为数字 英文字母、数字、“-”、 “_”组合 6~16位 密码 英文字母、数字、“-”、 “_”组合 确认 密码 内容同密码相同

多于16位 首字符为除字母、数字之外的 其他字符 组合中含有除英文字母、数字、 “-”、“_”之外的其他特殊字 -” _” 符 少于6位 多于16位 组合中含有除英文字母、数字、 “-”、“_”之外的其他特殊字 符 内容同密码相同,但字母大小 写不同

11 12 13 14

5

6

7

15

表3-5 等价类表

软件测试基础教程, 杜文洁, 清华 ,ppt

根据上述等价类表,设计测试用例如表3-6所示。测试用例 TC1 TC2 TC3 TC4 TC5 TC6 TC7 TC8 TC9 TC10 用户名 abc_2000 2000-abc abc abcdefghijk12345 6 _abc123 abc&123 abc_123 abc_123 abc_123 abc_123 密码 abc_123 123-abc 12345678 12345678 12345678 12345678 12345 abcdefghijk12345 6 abc&123 abc_123 确认密码 abc_123 123-abc 12345678 12345678 12345678 12345678 12345 abcdefghijk12345 6 abc&123 Abc_123 预期输出 注册成功 注册成功 提示用户名错误 提示用户名错误 提示用户名错误 提示用户名错误 提示密码错误 提示密码错误 提示密码错误 提示密码错误

表3-6 测试用例

软件测试基础教程, 杜文洁, 清华 ,ppt

3.3 边界值分析法3.3.1 边界值分析法 边界值分析法(Boundary Value Analysis,BVA)是一种补充等价类划 边界值分析法 分法的测试用例设计技术,它不是选择等价类的任意元素,而是选择等 价类边

界的测试用例。在测试过程中,可能会忽略边界值的条件,大量 的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围 的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。 在应用边界值分析法设计测试用例时,应遵循以下几条原则: 在应用边界值分析法设计测试用例时,应遵循以下几条原则: 如果输入条件规定了值的范围,则应该选取刚达到这个范围的边界值, 以及刚刚超过这个范围边界的值作为测试输入数据。 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数 少1、比最大个数多1的数作为测试数据。 根据规格说明的每一个输出条件,分别使用以上两个原则。 如果程序的规格说明给出的输入域或者输出域是有序集合(如有序表、 顺序文件等),则应选取集合的第一个元素和最后一个元素作为测试用 例。 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的 边界值作为测试用例。 分析规格说明,找出其他可能的边界条件。

软件测试基础教程, 杜文洁, 清华 ,ppt

3.3.2边界条件与次边界条件 边界条件与次边界条件边界值分析法是对输入的边界值进行测试。在测试用例设计中,需要对输入 的条件进行分析并且找出其中的边界值条件,通过对这些边界值的测试来查 出更多的错误。 提出边界条件时,一定要测试临近边界的有效数据,测试最后一个可能有效 的数据,同时测试刚超过边界的无效数据。通常情况下,软件测试所包含的 边界检验有几种类型:数值、字符、位置、数量、速度、尺寸等,在设计测 试用例时要考虑这些类型的特征:第一个/最后一个、开始/完成、空/满、最 大值/最小值、最快/最慢、最高/最低、最长/最短等。这些不是确定的列表, 而是一些可能出现的边界条件。 举个例子来说明一下,如表3-7所示。

软件测试基础教程, 杜文洁, 清华 ,ppt

项 字符

边界值 起始-1个字符/结束 +1个字符 开始位-1/结束位+1 刚刚超过/刚刚低于 小于空余空间一点/ 大于满空间一点

测试用例的设计思路 假设一个文本输入区域要求允许输入1到255个字符,输入1 个和255个字符作为有效等价类;输入0个和256个字符作为 无效等价类,这几个数值都属于边界条件值 假设软件要求输入的数据为5位数值,则可以使用00000作 为最小值和99999作为最大值,然后使用刚好小于5位和大 于5位的数值来作为边界条件

数值 方向 空间

假如要做磁盘的数据存储,使用比最小剩余磁盘空间大一 点(几KB)的文件作为最大值的检验边界条件

表3-7 利用边界值作为测试数据的例子

软件测试基础教程, 杜文洁, 清华 ,ppt

数值的边界值检验 计算机是基于二进制进行工作的,因此,任何数值运算都有一定的 范围

限制,如表3-8所示。项 位(bit) 字节(byte) 字(word) 千(K) 兆(M) 吉(G) 太(T) 范围或值 0或1 0~255 0~65、535(单字)或0~4、294、 967、295(双字) 1 024 1 048 576 1 073 741 824 1 099 511 627 776

表3-8 计算机数值运算的范围

本文来源:https://www.bwwdw.com/article/mgdq.html

Top