软件测试-chapter2-3
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大连职业技术学院
SWPU 等价类的划分原则(续)
划分等价类可分为两种情况: 划分等价类可分为两种情况: (1)有效等价类 ) ——是指对软件规格说明而言,是有意义的、合理的输 是指对软件规格说明而言, 是指对软件规格说明而言 是有意义的、 入数据所组成的集合。利用有效等价类, 入数据所组成的集合。利用有效等价类,能够检验程序是 否实现了规格说明中预先规定的功能和性能。 否实现了规格说明中预先规定的功能和性能。 (2)无效等价类 ) ——是指对软件规格说明而言,是无意义的、不合理的 是指对软件规格说明而言, 是指对软件规格说明而言 是无意义的、 输入数据所构成的集合。利用无效等价类, 输入数据所构成的集合。利用无效等价类,可以鉴别程序 异常处理的情况, 异常处理的情况,检查被测对象的功能和性能的实现是否 有不符合规格说明要求的地方。 有不符合规格说明要求的地方。
大连职业技术学院
三角形问题
测试用例 Test1 Test2 Test3 Test4 Test5 Test6 Test7 a 5 -1 5 5 101 5 5 b 6 5 -1 5 5 101 5 c 7 5 5 -1 5 5 101
SWPU
预期输出 一般三角形 a值超出输入值定义域 b值超出输入值定义域 c值超出输入值定义域 a值超出输入值定义域 b值超出输入值定义域 c值超出输入值定义域
SWPU
第2章 2.3-黑盒测试方法 章 黑盒测试方法
大连职业技术学院
SWPU
1
黑盒测试法概述
主 要 内 容
2 3 4 5
边界值测试
等价类测试
基于决策表的测试
错误推测法
大连职业技术学院
SWPU
2.3.1 黑盒测试法概述
又称为功能测试或数据驱动测试,把程序看成一个黑盒子, 又称为功能测试或数据驱动测试,把程序看成一个黑盒子, 完全不考虑程序的内部结构和处理程序, 完全不考虑程序的内部结构和处理程序,只是在程序的接 口进行测试,以检查程序功能是否正常, 口进行测试,以检查程序功能是否正常,程序是否能适当 接收输入数据产生正确的输出数据。 接收输入数据产生正确的输出数据。
大连职业技术学院
SWPU 3.4.4 使用等价类划分法测试的实例
实例1 实例 三角形问题 分析: 分析:在多数情况下,是从输入域划分等价类的,但并非不能从被测程序的 输出域反过来定义等价类,事实上,这对于三角形问题却是最简单的划 分方法。 在三角形问题中,有四种可能的输出:等边三角形、等腰三角 形、一般三角形和非三角形。利用这些信息能够确定下列输出(值域) 等价类。 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不能组成三角形 }
等价类
通过每个等价类中的一个元素标识测试用例 例如,在三角形问题中,测试用例( , , )、( )、(6, , )、 例如,在三角形问题中,测试用例(5,5,5)、( ,6,6)、 (100,100,100)都可以测试等边三角形,但可以认为在程 , , )都可以测试等边三角形, 序中这三个测试用例具有“相同的处理” 序中这三个测试用例具有“相同的处理”,因此这些用例是冗 余的。 余的。
大连职业技术学院
SWPU 3.4.1 等价类的划分原则
如何划分? 如何划分?——先从程序的规格说明书中找出各个输入条 先从程序的规格说明书中找出各个输入条 再为每个输入条件划分两个或多个等价类, 件,再为每个输入条件划分两个或多个等价类,形成若干 的互不相交的子集。 的互不相交的子集。 采用等价类划分法设计测试用例通常分两步进行: 采用等价类划分法设计测试用例通常分两步进行: (1)确定等价类,列出等价类表。 )确定等价类,列出等价类表。 (2)确定测试用例。 )确定测试用例。
三角形问题的7个健壮等价类测试用例
大连职业技术学院
SWPU 使用等价类划分法测试的实例(续)
实例2 实例 保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为: 投保额×保险费率 其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%, 10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻 状况和抚养人数来决定,具体规则如下:
大连职业技术学院
SWPU 等价类的划分原则(续)
进行等价类划分的依据: 进行等价类划分的依据: (1)按照区间划分 在输入条件规定了取值范围或值的个数 的情况下,可以确定一个有效等价类和两个无效等价类。 例:程序输入条件为小于100大于10的整数x 例:程序输入条件为小于100大于10的整数x,则有效等价类 (2)按照数值划分 在规定了一组输入数据(假设包括 n个 为10<x<100,两个无效等价类为x≤10和x≥100。 10< 100,两个无效等价类为x≤10和x≥100。 输入值),并且程序要对每一个输入值分别进行处理的情况 下,可确定 n 个有效等价类(每个值确定一个有效等价类) 和一个无效等价类(所有不允许的输入值的集合)。 例:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序 例:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、 x=7、x=15,无效等价类为x≠1,3,7,15的值的集合。 x=7、x=15,无效等价类为x≠1,3,7,15的值的集合。
大连职业技术学院
SWPU 3.4.2 等价类划分法的测试用例设计
在设计测试用例时, 在设计测试用例时,应同时考虑有效等价类和无效等价类 测试用例的设计。 测试用例的设计。 根据已列出的等价类表可确定测试用例,具体过程如下: 根据已列出的等价类表可确定测试用例,具体过程如下: (1)首先为等价类表中的每一个等价类分别规定一个唯 ) 一的编号。 一的编号。 (2)设计一个新的测试用例,使它能够尽量覆盖尚未覆 )设计一个新的测试用例, 盖的有效等价类。重复这个步骤, 盖的有效等价类。重复这个步骤,直到所有的有效等价类 均被测试用例所覆盖。 均被测试用例所覆盖。 (3)设计一个新的测试用例,使它仅覆盖一个尚未覆盖 )设计一个新的测试用例, 的无效等价类。重复这一步骤, 的无效等价类。重复这一步骤,直到所有的无效等价类均 被测试用例所覆盖。 被测试用例所覆盖。
大连职业技术学院
SWPU 3.4.3 常见等价类划分测试形式
针对是否对无效数据进行测试, 针对是否对无效数据进行测试,可以将等价类测试分为 标 准等价类测试和健壮等价类测试。 准等价类测试和健壮等价类测试。 标准等价类测试——不考虑无效数据值,测试用例使用 每 不考虑无效数据值, 标准等价类测试 不考虑无效数据值 个等价类中的一个值。 个等价类中的一个值。 健壮等价类测试——主要的出发点是考虑了无效等价类。对 主要的出发点是考虑了无效等价类。 健壮等价类测试 主要的出发点是考虑了无效等价类 有效输入,测试用例从每个有效等价类中取一个值; 有效输入,测试用例从每个有效等价类中取一个值; 对 无效输入,一个测试用例有一个无效值, 无效输入,一个测试用例有一个无效值,其他值均取 有 效值。 效值。 健壮等价类测试存在两个问题: 健壮等价类测试存在两个问题: (1)需要花费精力定义无效测试用例的期望输出 ) (2)对强类型的语言没有必要考虑无效的输入 )
标准等价类测试用例
健壮等价类测试用例
大连职业技术学院
SWPU 三角形问题
输入 测试用例 a TestCase1 Test2 Test3 Test4 10 10 3 4 b 10 10 4 1 c 10 5 5 2 等边三角形 等腰三角形 一般三角形 非三角形 预期输出
三角形问题的4个标准等价类测试用例
大连职业技术学院
SWPU 等价类划分法(续)
等价类划分法是把所有可能的输入数据, 等价类划分法是把所有可能的输入数据,即程序的输入 域划分为若干部分(子集), ),然后从每一个子集中选取 域划分为若干部分(子集),然后从每一个子集中选取 少数具有代表性的数据作为测试用例。 少数具有代表性的数据作为测试用例。 所谓等价类是指某个输入域的子集合。在该子集合中, 所谓等价类是指某个输入域的子集合。在该子集合中, 各个输入数据对于揭露程序中的错误都是等效的, 各个输入数据对于揭露程序中的错误都是等效的,它们 具有等价特性, 具有等价特性,即每一类的代表性数据在测试中的作用 都等价于这一类中的其它数据。这样, 都等价于这一类中的其它数据。这样,对于表征该类的 数据输入将能代表整个子集合的输入。因此, 数据输入将能代表整个子集合的输入。因此,可以合理 的假定: 的假定: ——测试某等价类的代表值就是等效于对于这一类其 测试某等价类的代表值就是等效于对于这一类其 它值的测试。 它值的测试。
检查程序功能是否按照需求规格说明书的规定正常 使用,测试每个功能是否有遗漏, 使用,测试每个功能是否有遗漏,检测性能等特性 要求是否满足要求。 要求是否满足要求。 检测模块接口是否存在问题。 检测模块接口是否存在问题。 检测程序初始化和终止方面的错误。 检测程序初始化和终止方面的错误。
大连职业技术学院
大连职业技术学院
等价类的划分原则(续)
SWPU
(3)按照数值集合划分 在输入条件规定了输入值的集合或 规定了“必须如何”的条件下,可以确定一个有效等价类和 一个无效等价类(该集合有效值之外)。 例:程序输入条件为取值为奇数的整数x,则有效等价类为x 例:程序输入条件为取值为奇数的整数x,则有效等价类为x (4)按照限制条件或规则划分 在规定了输入数据必须遵守 的值为奇数的整数,无效等价类为x 的值为奇数的整数,无效等价类为x的值不为奇数的整数。 的规则或限制条件的情况下,可确定一个有效等价类(符合 规则)和若干个无效等价类(从不同角度违反规则)。 例:程序输入条件为以字符‘a’开头、长度为8 例:程序输入条件为以字符‘a’开头、长度为8的字符串,并 (5)细分等价类 在确知已划分的等价类中各元素在程序中 且字符串不包含‘a’~ z’之外的其它字符,则有效等价类为 且字符串不包含‘a’~ ‘z’之外的其它字符,则有效等价类为 的处理方式不同的情况下,则应再将该等价类进一步划分为 满足了上述所有条件的字符串,无效等价类为不以‘a’开头的 满足了上述所有条件的字符串,无效等价类为不以‘a’开头的 更小的等价类,并建立等价类表。 字符串、长度不为8的字符串和包含了‘a’~ z’之外其它字符 字符串、长度不为8的字符串和包含了‘a’~ ‘z’之外其它字符 的字符串。
由于开平方运算只对非负实数有效, 由于开平方运算只对非负实数有效,这时需要将所 有的实数(输入域x)进行划分,可以分成:正实数、 有的实数(输入域 )进行划分,可以分成:正实数、0 和 负实数。假设我们选定+1.4444代表正实数,-2.345代表负 代表正实数, 负实数。假设我们选定 代表正实数 代表负 实数,则为该程序设计的测试用例的输入为+1.4444、 0 和 实数,则为该程序设计的测试用例的输入为 、 -2.345。 。
SWPU
边界值分析法
1
等价类划分法
2 黑盒测试
5
其它
决策表法
3
4
错误推测法
大连职业技术学院
SWPU
2.3.2 等价类划分法
等价类划分法是一种重要的、常用的黑盒测试方法, 等价类划分法是一种重要的、常用的黑盒测试方法,它 将不能穷举的测试过程进行合理分类, 将不能穷举的测试过程进行合理分类,从而保证设计出 来的测试用例具有完整性和代表性。 来的测试用例具有完整性和代表性。 举例:设计这样的测试用例, 举例:设计这样的测试用例,来实现一个对所有实数进 行开平方运算( 的程序的测试。 行开平方运算( y = sqrt(x) )的程序的测试。 思考方向: 思考方向:
Байду номын сангаас
大连职业技术学院
SWPU 等价类划分法(续)
动机
希望进行完备的测试 希望避免冗余
等价类的划分
根据等价关系对输入或输出数据的集合进行划分 将集合划分为互不相交的子集 无冗余性) 子集( 将集合划分为互不相交的子集(无冗余性) 这些子集的并是整个集合(完备性) 这些子集的并是整个集合(完备性)
测试思想