等价类划分法 by ASAI

合集下载

等价类划分法

等价类划分法
2(有效3等+1价=4,3+2=5,3+33(=6无...效... 等价 类)1~140+01=4,4+2=6,4+类3=)7.>...1..00
......
1和100之间哪些是有效 的哪些是无效的呢?
等价类划分方法
01
按区间划分
02
按数值划分
03
按数值集合划分
04
按限制条件或规划划分
05
按处理方式划分
程序输入条件为X=TRUE,有效等价类为 X=TRUE,无效等价类为X=FALSE
等价类划分法原则4
原 则
等价类划 分法原则
举 例
在规定了输入数据的一组值(假定n个),并 且程序要对每一个输入值分别处理的情况下, 可确立n个有效等价类和一个无效等价类
规定输入的考试成绩为A,B,C,D,E则可以确 认有五个有效等价类(成绩=A,成绩=B,成 绩=C,成绩=D,成绩=E)和一个无效等价类 (除这五个值之外的任何一个值)
测试用例由有效等价类和无效等价类的代表组成,从而 保证测试用例具有完整性和代表性。
有效等 价类
无效等 价类
等价 类
有效等价类
有效等价类:指对于程序规格说明来说,是合理的、有 意义的输入数据构成的集合。
利用有效等价类可以检验程序是否实现了规格说明预先 规定的功能和性能。
有效等价类可以是一个,也可以是多个。
强一般等价类测试
多缺陷假设,不考虑无效区间
a≤X1≤d,有效区间[a,b),[b,c),[c,d] e≤X2≤g,有效区间[e,f),[f,g)
弱健壮等价类测试
单缺陷假设,要考虑无效区
a≤X1≤d,有效区间[a,b),[b,c),[c,d] e≤X2≤g,有效区间[e,f),[f,g)

等价类划分法

等价类划分法

测试用例设计—等价类划分法2008-10-10 11:41:40| 分类:测试| 标签:|字号大中小订阅1.相关概念:等价类划分法是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

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

1.2 等价类等价类是某个输入域的集合,在这个集合中每个输入条件都是等效的。

如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。

等价类分为有效等价类和无效等价类。

有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。

2.划分等价类的方法划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合。

下面给出六条确定等价类的原则。

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

例如:成年人每分钟的心跳60-100之间为正常。

有效等价类:60-100 无效等价类:<60 和>1002、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。

例如:用户连续输入错误密码的次数最多为3次。

有效等价类:<=3次无效等价类:>3次3、在输入条件是一个布尔量的情况下,可确定一个有效等价类。

例如:单选的选中与不选中。

4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

例如:输入数据为省份的选择。

5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

例如:规定必须输入非0的正整数。

等价类划分法

等价类划分法

等价类划分法等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根据对程序的要求和说明,即需求规格说明书。

我们必须仔细分析和推敲说明书的各项需求,特别是功能需求。

把说明书中对输入的要求和输出的要求区别开来并加以分解。

由于穷举测试工作量太大,以至于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。

例如,在不了解等价分配计数的前提下,我们做计算器程序的加法测试时,测试了1+1,1+2,1+3和1+4之后,还有必要测试1+5和1+6吗,能否放心地认为它们是正确的?我们感觉1+5和1+6,与前面的1+1,1+2都是很类似的简单加法。

等价类划分的方法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。

每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误(除非等价类中的某些例子属于另一等价类,因为几个等价类是可能相交的)。

使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。

1、划分等价类和列出等价类表等价类是指某个输入域的子集合。

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

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

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

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

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

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

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

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

等价类划分法含例子

等价类划分法含例子

1.等价类划分法等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。

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

使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。

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

在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。

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

等价类的划分有两种不同的情况:①有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。

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

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

对于具体的问题,无效等价类至少应有一个,也可能有多个。

在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。

3.划分等价类的标准:1)完备测试、避免冗余;2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;3)并是整个集合:完备性;4)子集互不相交:保证一种形式的无冗余性;5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径".4.划分等价类的原则。

(1) 如果输入条件规定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。

例如,在程序的规格说明中,对输入条件有一句话:“…… 项数可以从1到999 ……”则有效等价类是“1≤项数≤999”两个无效等价类是“项数<1”或“项数>999”。

软件测试培训之等价类划分法

软件测试培训之等价类划分法

软件测试培训之等价类划分法想学软件测试?千锋软件测试培训教研+讲师+项目实战+随堂笔记录制,全方位教学,权威资深师资阵容,业内最具责任心、最懂教学。

在软件测试学科中,黑盒测试是一大重要分支。

黑盒测试的方法众多,即使是老鸟也保不齐有所疏漏。

下面,千锋软件测试培训小编就为大家等价类划分法,希望能够对大家的学习和工作有所帮助。

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

每一类的代表性数据在测试中的作用等价于这一类中的其他值。

1.等价类是指某个输入域的子集合。

在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类。

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

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

设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性。

2.划分等价类的六大原则:在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.例:输入值是学生成绩,范围是0~100:在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.想学软件测试?千锋软件测试培训教研+讲师+项目实战+随堂笔记录制,全方位教学,权威资深师资阵容,业内最具责任心、最懂教学。

在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.布尔量是一个二值枚举类型,一个布尔量具有两种状态:true和false。

实验一黑盒测试法——等价类划分法

实验一黑盒测试法——等价类划分法

实验一黑盒测试法——等价类划分法实验一黑盒测试法——等价类划分法实验目的:1.掌握等价类划分的方法2.掌握按等价类方法设计测试用例实验内容:1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。

#include "iostream.h"void main(){int a,b,c;cout<<"请输入三角形的三条边(界于1-100之间)"<<endl;< p="">cin>>a>>b>>c;if(a<=1||a>=100)cout<<"a的值超过允许的范围!";if(b<=1||b>=100)cout<<"b的值超过允许的范围!";if(c<=1||c>=100)cout<<"c的值超过允许的范围!";if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";if(a==b&&b==c)cout<<"是等边三角形!";if(a==b||b==c||a==c)cout<<"是等边三角形!";if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";三角形问题:划分等价类测试用例:1、覆盖有效等价类的测试用例2、覆盖无效等价类的测试用例缺陷报告:以下部分由BUG修改人填写输入数据如图所以:以下部分由BUG修改人填写以下部分由BUG修改人填写以下部分由BUG修改人填写2、某城市电话号码由三部分组成,分别是:1)地区码:以0开头的三位或者四位数字(包括0);2)电话号码:以非0、非1开头的七位或者八位数字。

2-2等价类划分法2

2-2等价类划分法2
保险率又依点数不同而不同,10点以上为0.6%,10点及以 下保险率为0.1%。而点数又跟以下输入数据有关。年龄<100 岁。
测试实践
课后练习:
用户登录窗口测试
• 用户登录模块包括两个输入:用户名、密码。用户名为3-6位 的数字串,密码为8位,为数字与其他字符的组合,但不允许 有空格。登录成功后则提示登录类型(用户名首数字为0代表 教师,为1代表学生,否则为其他用户)
2-2等价类划分法2
弱一般等价类
等价类划分法
•覆盖所有有效等 价类 •没有考虑无效等 价类
强一般等价类
等价类划分法
•有效测试用例为 所有有效等价类 的组合 •没有考虑无效等 价类
弱健壮等价类
等价类划分法
•覆盖所有有效等价 类 •覆盖所有无效等价 类
(只考虑单缺陷,其 他缺陷的值默认为有 效)
强健壮等价类
等价类划分法
•有效测试用例为 所有有效等价类 的组合 •无效测试用例为 所有无效等价类 的组合
等价类划分法
等价类划分法
覆盖率决定测试的完备性
• 测试对象计划测试的越彻底,需要的覆盖率就 越高。
• 只有充分地分析了需求并认真构建了等价类, 利用等价类技术生成的测试用例才是优秀的。
等价类划分法
等价类划分技术的价值
• 等价类划分技术不仅仅用来确定方法和函数的输入和 输出,也可以用来准备中间值、状态、与时间相关的 值(如事件之前或之后的值)以及接口参数等。
• 因此,这种方法可以用在系统测试、集成测试和组件 测试中。
• 等价类技术是一种非常强大的技术
测试实践
• 保险费计算程序需求如下: 保费 = 投保额 × 保险率
要求: 使用等价类划分法为该登录窗口设计测试用例。

等价类划分方法

等价类划分方法

(1)划分等价类-1
Year Month Day的有效值区间定义如下:
M1={month: 1≤month ≤12} D1={day: 1 ≤ day ≤31} Y1={year: 1912 ≤year ≤2050}

(1)划分等价类-2

无效等价类是: M2={month: month<1} M2={month: month>12} D2={day: day<1} D3={day: day>31} Y2={year: year<1912} Y3={year: year>2050}
弱一般等价类测试用例
测试用例 month day Test1 Test2 Test3 Test4 6 7 2 6 15 29 30 31 year 2000 1996 2002 2000 预期输出 2000.6.16 1996.7.30 2002.2.31不可能的日期 2000.7.1(不可能的输入 日期)
year
2000 1996 2002 2000 1996 2002 2000 1996 2002 2000 1996 2002 2000 1996 2002
预期输出
2000.7.30 1996.7.30 2002.7.30 2000.7.31 1996.7.31 2004.7.31 2000.8.1 1996.8.1 2002.8.1 2000.2.15 1996.2.15 2002.2.15 2000.3.1(无效的输入日期) 1996.3.1 2002.3.1 不可能的日期
等价类的类型
*有效等价类:是指对于程序的规格说明来说是 合理的、有意义的输入数据构成的集合。 利用有效等价类可检验程序是否实现了规 格说明书中所规定的功能和性能
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入条件 有效等价类 无效等价类
测试用例设计原则
根据等价类表,然后从划分出的等价类中按以下三个原则设计测试 用例: 1) 为每一个等价类规定一个唯一的编号。 2) 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有 效等价类,重复这一步,直到所有的有效等价类都被覆盖为止。 3) 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等 价类,重复这一步,直到所有的无效等价类都被覆盖为止。
优缺点
等价类划分法的优点是考虑了单个输入域的各类情况,避免了盲目 或随机选取输入数据的布完整性和覆盖的不稳定性。 等价类划分法虽然简单易用,但是没有对组合情况进行充分的考虑。 需要结合其他测试用例设计的方法进行补充。
实例-1
竞猜系统中:投注的金额要求是大于10的正整数。 等价类表应该是??
输入条件 ?? 有效等价类 ?? 无效等价类 ??
软件 外包
电子 商务
亚才信息技术(福州)发展有限公司
/
Copyright © 2009 ASAI, Inc.
这是一个快乐的大家庭,您是其中必不可少 的一 份子,期待您的努力,期待共同的成长。 来吧!带着您的激情与梦想…
你的答案 是??
一支技术精湛和经验丰富的专业团队, 在.Net和Java技术平台上积累了丰富的经 验和众多的成功案例。
自成立以来, 我们始终站在技术市场的最前端,通过不 断的创新,带给市场最新的产品和最全面的服 务。
服务项目
企业信 息规划
管理系统 及制定软 件开发
ERP系统开 发及部署
网站 建设
目 录
定 分 义 类


测试用例设计原则
优缺点
实 例
定义
等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序 的内部结构,只依据程序的规格说明来设计测试用例。 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对 于揭示程序中的错误都是等效的。
分类
等价类是某个输入域的集合,在这个集合中每个输入条件都是等效 的。如果其中一个的输入不能导致问题发生,那么集合中其它输入 条件进行测试也不可能发现错误。 等价类分为有效等价类和无效等价类。 有效等价类就是由那些对程序的规格说明有意义的、合理的输入 数据所构成的集合,利用有效等价类可检验程序是否实现了规格说 明中所规定的功能和性能。 无效等价类就是那些对程序的规格说明不合理的或无意义的输入 数据所构成的集合。
○男生
●女生
方法-4
4、在规定了输入数据的一组值(假定n个),并且程序要对每一 个输入值分别处理的情况下,可确立n个有效等价类和一个无效等 价类。 例如:输入数据为省份的选择。 当输入‘青海’、‘福建’、‘浙江’。这些都是有效值。 当输入‘福州’,就是无效值。
方法-5
5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效 等价类(符合规则)和若干个无效等价类(从不同角度违反规 则) 。 例如:规定必须输入非0的正整数。 这种例子应充分考虑规则是否可以拆分为具有单一的子规则,然后 得到从不同角度违反规则的无效等价类。 该例子起码可拆分为非0、数字、正数、整数4个子规则,至少每 个规则对应一个无效等价类,即0、字符串、负数、小数,甚至可 挖掘出输入为空的隐含等价类。
无效等价类:<60 和 >100
方法-2
2、在输入条件规定了输入值的集合或者规定了“必须如何”的条 件的情况下,可确立一个有效等价类和一个无效等价类。
例如:用户连续输入错误密码的次数最多为3次。 有效等价类:<=3次
无效等价类:>3次
方法-3
3、在输入条件是一个布尔量的情况下,可确定一个有效等价类。 例如:单选的选中与不选中。
Hale Waihona Puke 方法划分等价类重要的是:集合的划分,划分为互不相交的一组子集, 而子集的并集是整个集合。 下面给出六条确定等价类的原则。
方法-1
1、在输入条件规定了取值范围或值的个数的情况下,则可以确立 一个有效等价类和两个无效等价类。
例如:成年人每分钟的心跳60-100之间为正常。 有效等价类:60-100
方法-6
6、在确知已划分的等价类中各元素在程序处理中的方式不同的情 况下,则应再将该等价类进一步的划分为更小的等价类。 例如:核对日期的有效性,初步有效等价类是1<=Month<=12, 1<=Day<=31 可是考虑到2月以及闰年、闰月、长月、短月等,需要进一步细分, 当然其中还涉及到了年月日组合的问题。 根据等价类划分原则,将等价类填入下表。 等价类表
答案
竞猜系统中:投注的金额要求是大于10的正整数。 根据分析等到以下等价类表。
输入条件 大于10的正整数 有效等价类 大于10正整数 无效等价类 空 负数 小数 小于10的数 字符串
备注:再加上全角状态下的数
实例-2
尝试编写三角形问题的等价类测试用例。使用等价类划分方法必须 仔细分析程序规范说明。 在三角形问题中,输入条件为:整数;三个数;取值在1~100之间。 ???
好了,等待 你的答案~
实例-3
保险费率计算: 人人保险公司承担人寿保险已有多年历史,该公司保 费计算方式为投保额*保险率,保险率又依点数不同 而 有 别 , 10 点 以 上 费 率 为 0.6 % , 10 点 以 下 费 率 为 0.1 %。 其中,输入数据说明。
20~39岁 年龄 40~59岁 60岁以上20岁以下 MALE 性别 FEMALE 已婚 婚姻 未婚 扶养人数 5点 一 人 扣 0.5 点 最 多 扣 3 点 ( 四 舍 五 入 取 整 数 ) 3点 3点 6点 4点 2点 5点
相关文档
最新文档