一个等价类划分的例子(三角形)

合集下载

黑盒测试的五种典型方法

黑盒测试的五种典型方法

1.等价类划分等价类划分是一种典型的黑盒测试方法。

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

它表示对揭露程序中的错误来说,集合中的每个输入条件是等效的。

因此我们只要在一个集合中选取一个测试数据即可。

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

这样就可使用少数测试用例检验程序在一大类情况下的反映。

在考虑等价类时,应该注意区别以下两种不同的情况:有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。

在具体问题中,有效等价类可以是一个,也可以是多个。

无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。

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

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

例如,程序的规范中提到的输入条包括“……项数可以从1到999……”,则可取有效等价类为“l考项数<999”,无效等价类为“项数<l,,及“项数>999”。

输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。

如某程序涉及标识符,其输入条件规定“标识符应以字母开头……”则“以字母开头者”作为有效等价类,“以非字母开头”作为无效等价类。

如果我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划分成更小等价类。

输入条件有效等价类无效等价类。

根据已列出的等价类表,按以下步骤确定测试用例:为每个等价类规定一个唯一的编号;设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。

重复这一步,最后使得所有有效等价类均被测试用例所覆盖;设计一个新的测试用例,使其只覆盖一个无效等价类。

重复这一步,使所有无效等价类均被覆盖。

这里强调每次只覆盖一个无效等价类。

这是因为一个测试用例中如果含有多个缺陷,有可能在测试中只发现其中的一个,另一些被忽视。

《一个等价类划分的例子(三角形)》

《一个等价类划分的例子(三角形)》

范例:程序规定;输入三个整数作为三边的边长构成三角形。

当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。

用等价类划分方法为该程序进行测试用例设计。

解:设a、b、c代表三角形的三条边。

1)分析题目中给出的和隐含的对输入条件的要求:a)整数b)3个数c)非零数d)正数e)两边之和大于第三边f)等腰g)等边2)列出等价类表并编号有awtfr知编号V ♦£号Q输入3个整数Q 整薮21。

一边为非整数0a为非整数□1加b为驻整数一13/C为非整数214-两边为非整数3a、b为非整数15。

b、c为非整数。

心a、c为非整数。

17一三边都为非整教―史三个数Q2。

只缓3波只给a“1卯只给按2“只给221/只给两边。

只徐a、%2加只给b、323。

只给a、c,24/给出三个以上225/3。

一边为察a=0。

2Wb=0- 27,c=g 2豺两边为*a=b=0 曰2"b=c=Ck 30,a-c-0^ 3W三边都为零a=b=c=0^ 32。

正处4/—边.<0/a<“33/b<0<?34/c<0^ 35-两边。

a<0 且b<OP 36。

b<0且c<驴37,a<0 且c<0。

38-三边《0。

a<0且b<0且c《(K3如构成一般三弟形。

a+-b>c^ 5。

a+bvcQ 4Wa+b=c" 41/ b+cAa—b+c〈a—4加b+c—p 43/ "c>b。

7Pa+c<b^ 44/a十C M DF45-构成等腰三角形。

a=bQ 欧•P Qb=c。

Q Q a-c (且两边之和大于第三也)。

1"■P构成等边三角形3a=b=c。

IS■P■P(如耻C)尸覆盖有效等俺类编号(ai加c)尸覆盖有效等价类编号I 3,斗4小1-7P0,4?W济4・ 4. 5/1-7,霁3.D, 5P刃/4 5,加1-7, P#3,4, g妍5- 4, 5尸1-7- IIP0,0, 5,29『4. 4, 57L7, 1拍3.0, M3M2.5, 4, 5「1A0,1帅31】•3. 4.5,霁00,0, M3*3, 45,引1牝-3,4, 5『琢35. 45, 5十15十q 5/3, 4 5, 5 5口34, -5口35 口3 5, 4『5 5『-3,45/3如35 45, 5如•3、4,小37-3i *力I"4余3舞,4, v血-3(4-5^39『,,立3,1, 5口4W3, 4 Q孙r h/ W g,4, W3,1,24"3, ,W24日3.2, 2编日3, 4, 5,算1,4,舞4牝3,4, I F45/。

等价类划分法

等价类划分法

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

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

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

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

例如,在不了解等价分配计数的前提下,我们做计算器程序的加法测试时,测试了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”。

黑盒测试——等价类法——三角形问题

黑盒测试——等价类法——三角形问题

例:输入三个整数a,b,c ,分别作为三角形的3条边(假定a,b,c在1——100之间取值。

),通过程序判断由这三条边构成的三角形是:等边三角形、等腰三角形、一般三角形或非三角形(不能构成三角形)。

问题分析:
假定a,b,c在1——100之间取值,三角形问题可以详细描述为:
输入3个整数a,b,c,分别作为三角形的三条边,要求a,b,c必须满足下列条件:
C1:a在1到100之间
C2:b在1到100之间
C3:c在1到100之间
C4:a<b+c
C5:b<a+c
C6:c<b+a
输出:
如果不满足前3个条件(C1-C3),则输出“请输入1到100之间的整数”;
如果满足前3个条件,则输出下面4种情况:
(1)如果不满足条件C4-C6中的一个,则输出“非三角形”
(2)如果三条边相等,则程序输出为“等边三角形”
(3)如果恰好有两条边相等,则输出为“等腰三角形”
(4)如果三条边都不相等,则输出为“一般三角形”
设计覆盖上述等价类的测试用例:。

软件测试-三角形问题

软件测试-三角形问题

9
10
11
12
13
14
15
16
T T T T
T T T F
T T F T
T T F F
T F T T
T F T F
T F F T
T F F F

√ √ √ √
制作者:
Page 18
决策表法
根据决策表4-13,可设计测试用例,如表4-14所示。
表4-14 三角形问题的决策表测试用例 测试用例 Test Case 1 Test Case 2 Test Case 3 Test Case 4 Test Case 5 Test Case 6 Test Case 7 Test Case 8 Test Case 9 a 10 4 ? ? 4 ? 5 4 3 b 4 4 ? ? 4 ? 4 5 4 c 4 4 ? ? 5 ? 4 4 5
三个数
1
整数
2
取值范围 在1~100
3
三个数 整数 1≤a≤100 1≤b≤100 1≤c≤100 4,5,6
12
13 14 15 16 17 18
Page 5
三边为00,0,0
一边小于0-1,7,8 两边小于0-9,-,1,6 三边小于0-1,-2,-8 一边大于100101,56,50 两边大于100101,107,89 三边大于100101,109,176
制作者:
表4-2 三角形问题的测试用例
等价类划分法——以输出域划分等价类
以三角形问题为例,要求输入三个整数a、b、c,分 别作为三角形的三条边,取值范围在1~100之间, 判断由三条边构成的三角形类型为等边三角形、等 腰三角形、一般三角形(包括直角三角形)以及非 三角形。 在多数情况下,是从输入域划分等价类,但对于三 角形问题,从输出域来定义等价类是最简单的划分 方法。

等价类划分法测试用例的设计与实现

等价类划分法测试用例的设计与实现
引用:
[1] 范明红,浦云明,汪志华 . 等价类测试与划分研究 [J]. 计算机技术与发展 .2009(07).
[2] 浦云明,陈黎震 . 基于划分的等价类测试 [J]. 计算机工 程与设计 .2009(19).
[3] 李刚,姚红 . 软件测试用例设计的方法与实现 [J]. 大众 科技 .2012(01).
b、设计有效等价类需要的测试用例。为覆盖①、⑤、⑧三 个有效等价类,可以设计一个共用的测试用例 ;
c、为每一个无效等价类至少设计一个测试用例。 实例 4 保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为 :投保额 × 保险 费率其中,保险费率依点数不同而有别,10 点及 10 点以上保险 费率为 0.6%,10 点以下保险费率为 0.1% ;而点数又是由投保人 的年龄、性别、婚姻状况和抚养人数来决定。 a、分析程序规格说明中给出和隐含的对输入条件的要求, 列出等价类表(包括有效等价类和无效等价类)。 ■年龄 :一位或两位非零整数,值的有效范围为 1~99 ■性别 :一位英文字符,只能取值‘M’或’F’ ■婚姻 :字符,只能取值‘已婚’或‘未婚’ ■抚养人数 :空白或一位非零整数(1~9) ■点数 :一位或两位非零整数,值的范围为 1~99 b、根据(1)中的等价类表,设计能覆盖所有等价类的测试 用例。 4 总结 本文讨论了如何使用等价类划分法来设计测试用例。
(1)按照区间划分在输入条件规定了取值范围或值的个数的 情况下,可以确定一个有效等价类和两个无效等价类。
例 :程序输入条件为小于 100 大于 10 的整数 x,则有效等价 类为 10 < x < 100,两个无效等价类为 x ≤ 10 和 x ≥ 100。
(2)按照数值划分在规定了一组输入数据(假设包括 n 个输 入值),并且程序要对每一个输入值分别进行处理的情况下,可 确定 n 个有效等价类(每个值确定一个有效等价类)和一个无效 等价类(所有不允许的输入值的集合)。

等价变形举例

等价变形举例

等价变形举例等价变形是指将一个数学表达式或问题用不同的形式表达出来,但其数值或解决方法保持不变。

下面列举了十个等价变形的例子,每个例子都包含了清晰的描述和详细的计算步骤。

1. 二次方程的解:给定一个二次方程ax^2 + bx + c = 0,可以使用求根公式x = (-b ± √(b^2 - 4ac))/(2a)来求解。

这个公式可以通过配方法得到等价变形:x = (-b ± √(b^2 - 4ac))/(2a) = 2c/(-b ± √(b^2 - 4ac))。

2. 三角函数的恒等变形:三角函数有很多恒等变形,例如sin^2(x) + cos^2(x) = 1,tan(x) = sin(x)/cos(x),cot(x) = cos(x)/sin(x)等等。

这些恒等变形可以通过三角函数的定义和三角恒等式来证明。

3. 梯形面积公式的等价变形:梯形的面积公式可以表示为 A = (a + b)h/2,其中a和b是梯形的上底和下底的长度,h是梯形的高度。

这个公式可以通过将梯形分割成两个三角形来推导得到,即 A = (1/2)bh1 + (1/2)bh2 = (a + b)h/2。

4. 二项式定理的等价变形:二项式定理可以表示为(x + y)^n = C(n,0)x^n + C(n,1)x^(n-1)y + C(n,2)x^(n-2)y^2 + ... + C(n,n)y^n,其中C(n,k)表示组合数。

这个公式可以通过二项式系数的递推关系和数学归纳法来证明。

5. 平行四边形面积公式的等价变形:平行四边形的面积可以表示为A = bh,其中b是平行四边形的底边的长度,h是平行四边形的高度。

这个公式可以通过将平行四边形分割成两个相等的三角形来推导得到,即A = (1/2)bh + (1/2)bh = bh。

6. 对数函数的等价变形:对数函数有很多等价变形,例如ln(ab) = ln(a) + ln(b),ln(a/b) = ln(a) - ln(b),ln(a^b) = bln(a)等等。

三角形问题等价类划分

三角形问题等价类划分

三角形问题等价类划分
三角形问题等价类划分是指将所有不同性质的三角形划分成一组等价类,每个等价类包含具有相同性质的三角形。

根据三角形问题的不同性质,可以进行不同的等价类划分。

常见的三角形问题等价类划分包括:
1. 根据边长等价类划分:将所有三角形根据边长的不同划分成等边三角形、等腰三角形、一般三角形等等等价类。

2. 根据角度等价类划分:将所有三角形根据角度的不同划分成锐角三角形、直角三角形、钝角三角形等等等价类。

3. 根据面积等价类划分:将所有三角形根据面积的不同划分成等面积三角形、不等面积三角形等等等价类。

4. 根据特殊性质等价类划分:将所有三角形根据特殊性质的不同划分成等腰直角三角形、等腰钝角三角形等等等价类。

根据不同的三角形问题可以进行不同的等价类划分,这样可以帮助我们更好地理解和分类三角形。

同时,等价类划分也有助于研究和解决三角形问题。

等价类的划分原则

等价类的划分原则
• 怎么能既弱又健壮呢? • ---健壮,是因为这种测试考虑了无效值; • ---弱,是因为有单缺陷假设。
x2 g
f
e
x1
a b c 弱健壮等价类测试用例
d
强健壮等价类测试
• 健壮,所以这种测试要考虑无效值; • 强,所以这种测试要具有多缺陷假设
x2 g
f
从所有等价类笛 卡尔积的每个元 素中获得的测试 用例
• 报表的第一行和最后一行
• 数组元素的第一个和最后一个
• 循环的第 0 次、第 1 次和倒数第 2 次、最后一次
边界值分析
• 边界值分析使用与等价类划分法相同的划分,只是边界值 分析假定错误更多地存在于划分的边界上,因此在等价类 的边界上以及两侧的情况设计测试用例。
• 强一般等价类测试基于多缺陷假设,因此需要等价类笛卡 尔积的每个元素对应的测试用例。 • 笛卡尔积可保证两种意义上的“完备性”:一是覆盖所有 的等价类,二是有可能的输入组合中的一个。
x2 g
f
e x1
“好的”等价 类测试的关键 是等价关系的 选择!
a b c 强一般等价类测试用例
d
弱健壮等价类测试
等价类的划分原则
(3)按照数值集合划分 在输入条件规定了输入值的集合或 规定了“必须如何”的条件下,可以确定一个有效等价类和 一个无效等价类(该集合有效值之外)。 例:程序输入条件为取值为奇数的整数x,则有效等价类为x 的值为奇数的整数,无效等价类为x的值不为奇数的整数。
等价类的划分原则
(4)按照限制条件或规则划分 在规定了输入数据必须遵守 的规则或限制条件的情况下,可确定一个有效等价类(符合 规则)和若干个无效等价类(从不同角度违反规则)。
年 1912 1912 1811 1912 1811 1811 1811

等价类划分法

等价类划分法



设计测试用例的着眼点

根据产品规格,测试基本功能; 考虑设计一般用户(非专业人员)的使用方案; 考虑设计稀有或特殊的使用方案; 与系统其他组成部分的配合(如 FAX 和上网可能要用到 MODEM,测试中考虑对设备的共享); 考虑特殊情况(如内存和硬件的冲突等); 设计极端情况(如内存泄漏、破坏性测试等); 好的测试用例集能花费最小的代价(人力、物力、财力、 时间)做最好的测试。
设计测试用例的基本准则

测试用例的代表性 能够代表并覆盖各种合理的和不合理的、合法的和非 法的、边界的和越界的以及极限的输入数据、操作和环 境设置等。 测试结果的可判定性 即测试执行结果的正确性是可判定的,每一个测试用 例都应有相应的期望结果。 测试结果的可再现性 即对同样的测试用例,系统的执行结果应当是相同的。
例:程序输入x取值于一个固定的枚举类型{1,3,7,15},且程序 中对这4个数值分别进行了处理,则有效等价类为x=1、x=3、 x=7、x=15,无效等价类为x≠1,3,7,15的值的集合。
等价类的划分
(3)按照数值集合划分 在输入条件规定了输入值的集合或 规定了“必须如何”的条件下,可以确定一个有效等价类和 一个无效等价类(该集合有效值之外)。 例:程序输入条件为取值为奇数的整数 x,则有效等价类为x (4)按照限制条件或规则划分 在规定了输入数据必须遵 的值为奇数的整数,无效等价类为 x的值不为奇数的整数。 守的规则或限制条件的情况下,可确定一个有效等价类(符 合规则)和若干个无效等价类(从不同角度违反规则)。 例:程序输入条件为以字符‘a’开头、长度为8的字符串,并且 (5)细分等价类 在确知已划分的等价类中各元素在程序中 字符串不包含‘a’~ ‘z’之外的其它字符,则有效等价类为满 的处理方式不同的情况下,则应再将该等价类进一步划分为 足了上述所有条件的字符串,无效等价类为不以‘a’开头的字 更小的等价类,并建立等价类表。 符串、长度不为8的字符串和包含了‘a’~ ‘z’之外其它字符的 字符串。

测试用例设计方法1——等价类边界值

测试用例设计方法1——等价类边界值

测试用例设计方法1——等价类边界值1、等价类划分等价类划分是黑盒测试最常用的方法,使用等价类划分的方法是将输入域划分为若干个区域,并从中选择少数具有代表性的数据进行测试,这样可以避免使用大量的测试数据,也避免了盲目性。

等价类划分针对程序的输入部分,常用的设计方法是:找出输入条件,划分等价类,并进行用例的设计。

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

所谓有效等价类是指用户输入的有效数据,并得到预期的或正常的结果;另一种是无效等价类,无效等价类是指异常的或不符合规定的输入,相应的也会得到异常的输出或提示信息。

因此在划分等价类的时候又从有效和无效两方面去考虑。

一般在设计测试用例时,要是一条用例尽量多的覆盖有效等价类,而无效等价类则要求一对一的覆盖。

2、边界值边界值同样是一种经典的黑盒测试方法,他常常作为等价类的一种补充,与等价类方法一起使用。

在进行程序设计时,大量的错误容易发生在输入数据或输出数据的边界上,因此使用边界值的方法可以经常检测出错误。

当一个输入明确的规定了一个值的取值范围时或输入条件是一组有序的集合时,就可以使用边界值的方法来设计测试用例。

关于边界值得上点、内点、离点的概念,可以参见下图。

由于等价类和边界值经常配合使用,因此两者可以合并为一个用例设计方法,下面总结一下使用等价类边界值设计测试用例的思路和方法。

1、分析需求,挖掘隐式条件,确认边界值,划分等价类2、将划分出的等价类填入表格,进行编号3、对有效等价类,用一条用例尽量多的覆盖4、对于无效等价类,一对一的覆盖,最终得到测试用例下面以最经典的三角形问题来说明如何使用等价类边界值方法设计测试用例:输入3个数,判定是否构成三角型,并判定什么时候是等腰三角形,什么时候是等边三角形。

分析输入条件:1、3个整数2、任意两边和大于第三遍3、满足1、2,且只有两个边相等4、满足1,三遍全部相等由上面的条件得到表格:获得等价类的划分后可以轻松的得到测试用例:至此,一个完整的测试用例就完成了。

软件测试经典三角形案例

软件测试经典三角形案例

软件测试-黑盒测试例子一、等价类划分问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。

通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。

用等价类划分方法为该程序进行测试用例设计。

(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。

)解:分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为 " 非三角形 " 。

2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。

3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。

4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。

列出等价类表并编号覆盖有效等价类的测试用例:a b c覆盖等价类号码3 4 5(1)--(7)4 4 5(1)--(7),(8)4 5 5(1)--(7),(9)5 4 5(1)--(7),(10) 4 4 4(1)--(7),(11)覆盖无效等价类的测试用例:二、边界值分析法NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。

三、错误推测法测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:I.输入的线性表为空表;II.表中只含有一个元素;III.输入表中所有元素已排好序;IV.输入表已按逆序排好;V.输入表中部分或全部元素相同。

黑盒测试——等价类划分法

黑盒测试——等价类划分法

实验二: 黑盒测试——等价类划分法【实验环境】Windows 10 操作系统,C,C++,C#、Java或Python语言开发环境(IDE)。

【实验类型】设计型【实验目的】1.认识黑盒测试方法中等价类划分测试方法原理2.掌握黑盒测试方法中等价类划分测试方法过程【实验内容】【实验材料】1.三角形问题问题描述:三角形问题接受三个整数,a、b和c作为输入,用作三角形的边。

程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。

作为输入:三角形的三条边必须满足如下条件:C1:1<=a<=100C2:1<=b<=100C3:1<=c<=100C4:a<b+cC5:b<a+cC6:c<a+b2.NextDate函数问题描述:NextDate是一个由三个变量(月份、日期和年份)的函数。

函数返回输入日期后边的那个日期。

作为输入:变量月份、日期和年都具有整数值,满足以下条件。

C1:1<=月份<=12C2:1<=日期<=31C3:1912<=年<=20503.佣金问题问题描述:前亚利桑那洲境内的一位步枪销售商销售密苏里州制造商制造的步枪机(lock)、枪托(stock)和枪管(barrel)。

枪机卖45美元,枪托卖30美元,枪管卖25美元。

销售商每月至少要售出一支完整的步枪,且生产限额是大多数销售商在一个月内可销售70个枪机、80个枪托和90个枪管。

每访问一个镇子后,销售商都给密苏里州步枪制造商发出一份很短的电报,通知几个枪机被售出。

这样步枪制造商就知道当月的销售情况,并计算销售商的佣金如下:不到(含)1000美元的部分为10%;1000(不含)~1800(含)美元的部分为15%;超过1800美元的部分为20%。

佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。

三角形问题的等价类划分

三角形问题的等价类划分

三角形问题的等价类划分三角形问题是指在一个平面上给定3条线段,判断它们能否构成一个三角形,以及能构成何种类型的三角形。

根据三角形的性质和条件,可以将三角形问题划分为四个等价类,包括不构成三角形、构成一般三角形、构成等腰三角形和构成等边三角形。

首先,不构成三角形是指给定三条线段无法构成一个三角形的情况。

根据三角形的性质,三条线段的任意两条边之和必须大于第三条边的长度,即任意两边之和大于第三边。

因此,在实际应用中,我们可以通过检查给定的三条线段是否满足这个条件来判断它们能否构成三角形。

如果不满足这个条件,则可以确定它们不构成三角形。

例如,给定三条线段长度分别为2、3和6,由于2+3=5小于6,不满足两边之和大于第三边的条件,因此这三条线段不构成三角形。

其次,构成一般三角形是指给定三条线段满足构成三角形的条件,且三条线段的长度不全相等的情况。

一般三角形包括不等边三角形、不等腰三角形和不等角三角形。

不等边三角形是指三条边的长度都不相等的三角形,它的所有内角也都不相等。

不等腰三角形是指三条边的长度不全相等,且任意两边的长度也不相等的三角形,它的两条腰不相等,但底边可能与腰相等。

不等角三角形是指三条边的长度不全相等,且任意两边的长度也不相等的三角形,它的三个角度也不相等。

再次,构成等腰三角形是指给定三条线段满足构成三角形的条件,且三条线段的长度中有两条相等的情况。

等腰三角形是指两条边的长度相等的三角形,它的两个底角也相等。

例如,给定三条线段长度分别为3、3和4,满足两边之和大于第三边的条件,并且有两条边的长度相等,因此可以确定这三条线段构成一个等腰三角形。

最后,构成等边三角形是指给定三条线段满足构成三角形的条件,且三条线段的长度全部相等的情况。

等边三角形是指三条边的长度都相等的三角形,它的三个内角也都相等。

例如,给定三条线段长度分别为4、4和4,满足两边之和大于第三边的条件,并且三条边的长度全部相等,因此可以确定这三条线段构成一个等边三角形。

三角形问题的三种测试方式-----边界值测试,等价类测试、决策表测试

三角形问题的三种测试方式-----边界值测试,等价类测试、决策表测试

三角形问题的三种测试方式--边界值测试,等价类测试、决策表测试一.方法简介1. 定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。

通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

2. 与等价划分的区别1) 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

3. 边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。

因此针对各种边界情况设计测试用例,可以查出更多的错误。

使用边界值分析方法设计测试用例,首先应确定边界情况。

通常输入和输出等价类的边界,就是应着重测试的边界情况。

应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

4. 常见的边界值1) 对16-bit 的整数而言32767 和-32768 是边界2) 屏幕上光标在最左上、最右下位置3) 报表的第一行和最后一行4) 数组元素的第一个和最后一个5) 循环的第0 次、第1 次和倒数第2 次、最后一次5. 边界值分析1) 边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。

例:测试计算平方根的函数--输入:实数--输出:实数--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。

2) 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。

比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。

等价类划分实例

等价类划分实例

实例一:
原题:某程序规定:“输入三个整数作为三边的边长构成三角形。

当此三角形为一般三角形、等腰三角形及等边三角形时,分别做计算…”。

试用等价类划分方法为该程序的构成三角形部分进行测试用例设计。

分析:
1、本题的输入条件要求的关键之处有:
(1)整数;
(2)三个数;
(3)非零数;
(4)正数。

输出条件的关键之处有:
(5)应满足两边之和大于第三边边长;
(1)等腰;
(2)等边。

其中,(3)(4)(5)并没有在题目上明显给出,但这些条件是必要的。

2、以下分两步进行:
(1)列出等价类表(见表1)
(2)列出覆盖上述等价类的测试用例。

制表:
(1)等价类表。

(2)覆盖有效等价类的测试用例。

(3)覆盖无效等价类的测试用例。

表1:例1的等价表
表2:覆盖有效等价类的测试用例
表3:覆盖无效等价类的测试用例。

等价类划分法含例子

等价类划分法含例子

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档