三角形问题的等价类测试用例
三角形问题的等价类测试用例
四种可能出现的输出:非三角形、不等边三角形、等腰三角形和等边三角形
可以使用这些输出标识如下所示的输出(值域)等价类:
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不构成三角形}
四个弱一般等价类测试用例是:
测试用例 a b c 预期输出
WN1 5 5 5 等边三角形
WN2 2 2 3 等腰三角形
WN3 3 4 5 不等边三角形
WN4 4 1 2 非三角形
由于变量a、b和c没有有效区间,则强一般等价类测试用例与弱一般等价类测试用例相同。
考虑a、b和c的无效值产生的以下额外弱健壮等价类测试用例:
测试用例 a b c 预期输出
WR1 -1 5 5 a取值不在所允许的取值值域内
WR2 5 -1 5 b取值不在所允许的取值值域内
WR3 5 5 -1 c取值不在所允许的取值值域内
WR4 201 5 5 a取值不在所允许的取值值域内
WR5 5 201 5 b取值不在所允许的取值值域内
WR6 5 5 201 c取值不在所允许的取值值域内以下是额外强健壮性等价类测试用例三维立方的一个“角”:
测试用例 a b c 预期输出
SR1 -1 5 5 a取值不在所允许的取值值域内
SR2 5 -1 5 b取值不在所允许的取值值域内
SR3 5 5 -1 c取值不在所允许的取值值域内
SR4 -1 -1 5 a、b取值不在所允许的取值值域内
SR5 5 -1 -1 b、c取值不在所允许的取值值域内
SR6 -1 5 -1 a、c取值不在所允许的取值值域内
SR7 -1 -1 -1 a、b、c取值不在所允许的取值值域内。
三角形测试(测试用例)
等腰三角形 (1) Λ (a=b V a=c V b=c)(3)
(2) V (a!=b Λ b!=c Λ a!=c) (4)
等边三角形 (1) Λ (a=b=c ) (5)
(2) V (a!=b!=c)(6)
根据上表组成的测试用例:
三角形等价类测试用例
ID 输入数据
覆盖测试用例
输出
结果
abc
1 345
三角形测试用例: 序号 [A,B,C] 覆盖等价类 输出 1 [3,4,5] (1)(2)(3)(4)(5)(6) 是三角形 2 [0,1,2] (7) 非三角形 3 [1,0,2] (8) 非三角形 4 [1,2,0] (9) 非三角形 5 [1,2,3] (10) 非三角形 6 [1,3,2] (11) 非三角形 7 [3,1,2] (12) 非三角形 8 [3,3,4] (1)(2)(3)(4)(5)(6)(13) 等腰三角形 9 [3,4,4] (1)(2)(3)(4)(5)(6)(14) 等腰三角形 10 [3,4,3] (1)(2)(3)(4)(5)(6)(15) 等腰三角形 11 [2√2,2√2,4] (1)(2)(3)(4)(5)(6)(17) 等腰直角三角形 12 [4,2√2,2√2] (1)(2)(3)(4)(5)(6)(18) 等腰直角三角形 13 [2√2,4,2√2] (1)(2)(3)(4)(5)(6)(19) 等腰直角三角形 14 [3,4,5] (1)(2)(3)(4)(5)(6)(16)(20)(22)(23)(24) 是三角形 15 [3,3,3] (1)(2)(3)(4)(5)(6)(16)(21) 等边三角形 16 [,,,] 无效等价类 错误提示 17 [-3,4,5] 无效等价类 错误提示 18 [a,3,@] 无效等价类 错误提示 19 [3,4] 无效等价类 错误提示
测试三角形类型的测试用例
测试三角形类型的测试用例
下面给出测试三角形类型的测试用例,分为以下四类:
1. 边长无效的三角形测试用例
- 输入三条边长度分别为0,0,0的三角形,应该提示“长度无效”。
- 输入两条边长度之和小于第三条边的三角形,例如3,4,8,应该提示“不能构成三角形”。
- 输入边长为负数的三角形,例如2,-3,4,应该提示“长度无效”。
2. 等边三角形测试用例
- 输入边长都为5的三角形,应该返回“等边三角形”。
- 输入边长都为2.5的三角形,不是等边三角形,应该返回“非等边三角形”。
3. 等腰三角形测试用例
- 输入边长分别为3,4,4的三角形,应该返回“等腰三角形”。
- 输入边长分别为2.5,3,4的三角形,应该返回“非等腰三角形”。
4. 直角三角形测试用例
- 输入边长分别为3,4,5的三角形,应该返回“直角三角形”。
- 输入边长分别为2.5,3,4的三角形,应该返回“非直角三角形”。
以上是测试三角形类型的测试用例,可以按照以上用例进行测试,以确保代码能够正确地识别各种类型的三角形,并作出正确的输出。
三角形问题- 等价类法(实验报告)2011-9-27
一、实验环境Visual C++ 6.0软件环境二、实验原理软件测试是通过运行所开发的软件产品,识别和控制软件缺陷,以验证和确认用户需求已得到满足的过程。
三、给出三角形等价类表和测试用例表?三角形问题:输入三个整数a、b、c分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形)以及构不成三角形。
现在要求输入三个整数a、b、c,必须满足以下条件:条件1 1≤a≤100 条件4 a≤b+c条件2 1≤b≤100 条件5 b≤a+c条件3 1≤c≤100 条件6 c≤a+b解:(开发程序清单)#include <iostream.h>int i = 0;void main(void){while(i==0){int a,b,c;cout<<"请输入3个整数:"<<endl;cin>>a>>b>>c;if(!(a+b<=c||a+c<=b|| b+c<=a)&&(a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)) {if (a==b && a==c) cout<<"等边三角形"<<endl;else if (a==b || a==c || b==c) cout<<"等腰三角形"<<endl;else cout<<"一般三角形"<<endl;}else {if(a<1||a>100) cout<<"a="<<a<<"不满足条件1,不能构成三角形"<<endl;else if(b<1||b>100) cout<<"b="<<b<<"不满足条件2,不能构成三角形"<<endl;else if(c<1||c>100) cout<<"c="<<c<<"不满足条件3,不能构成三角形"<<endl;else if(a>=b+c) cout<<"不满足a<b+c,不能构成三角形"<<endl;else if(b>=a+c) cout<<"不满足b<a+c,不能构成三角形"<<endl;else if(c>=b+a) cout<<"不满足c<a+b,不能构成三角形"<<endl;}}}四、测试用例等价类表测试用例表五、测试结果六、心得体会这次实验题目是三角形问题,其实用C++编程并不难,因为以前都做过,主要是测试。
测试用例实例-三角形用例设计
14
【3,4,3】
(1),(2),(3),(4),(5),(6),(15),(19)
15
【3,3,4】
(1),(2),0)
10
【3,4,3】
(1),(2),(3),(4),(5),(6),(15)
11
【3,4,5】
(1),(2),(3),(4),(5),(6),(16)
非等腰三角形
12
【3,3,3】
(1),(2),(3),(4),(5),(6),(17)
是等边三角形
13
【3,4,4】
(1),(2),(3),(4),(5),(6),(14),(18)
输入条件
有效等价类
无效等价类
是否三角形的三条边
(A>0),(1)
(B>0),(2)
(C>0),(3)
(A+B>C),(4)
(B+C>A),(5)
(A+C>B),(6)
(A≤0),(7)
(B≤0),(8)
(C≤0),(9)
(A+B≤C),(10)
(B+C≤A),(11)
(A+C≤B),(12)
是否等腰三角形
(A=B),(13)
(B=C),(14)
(C=A),(15)
(A≠B)and(B≠C)and(C≠A)(16)
是否等边三角形
(A=B)and(B=C)and(C=A)
(17)
(A≠B),(18)
(B≠C),(19)
(C≠A),(20)
序号
【A,B,C】
覆盖等价类
输出
1
【3,4,5】
黑盒测试——精选推荐
⿊盒测试⿊盒测试⼀第⼀课1. 实验⽬的理解墨盒测试的基本⽅法,掌握等价类划分法、边界值分析等测试⽤例的设计⽅法。
2.实验内容(1) 等价类划分⽅法1) 三⾓形问题等价类划分设计测试⽤例2) NextDate问题,对它的输⼊进⾏分析,划分等价类,然后根据等价类设计测试⽤例。
(2) 边界值和因果图1)NextDate问题⽤边界值分析法设计测试⽤例分析NextDate问题中的逻辑,⽤边界值分析法的思想设计测试⽤例。
2) 有⼀个处理单价为5⾓钱的饮料的⾃动售货机软件测试⽤例的设计。
其规格说明如下:若投⼊5⾓钱或1元钱的硬币,押下[橙汁]或[啤酒]的按钮,则相应的饮料酒送出来。
若售货机没有零钱找,则⼀个显⽰[零钱找完]的红灯亮,这时再投⼊1元硬币并押下按钮后,饮料不送出来⽽且1元硬币也退出来;若有零钱找,则显⽰[零钱找完]的红灯灭,在送出饮料的同时退还5⾓硬币。
⽤因果图法对⾃动售货机设计测试⽤例。
要求:(1) 1)必做(1) 2)与(2)1)2)选做其⼀3.实验准备(1)主流PC机⼀套,要求安装windows操作系统、Virtul Studio6.0、C++Test、java等⼯具;(1)理解等价类划分法、边界值分析法的思想,划分依据;(2)熟悉上述⽅法测试⽤例设计的理论4.实验步骤(1)三⾓形问题1) if (!(a+b<=c||a+c<=b||b+c<=a)&&(a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)) {if (a==b && a==c)MessageBox("等边三⾓形");else if (a==b || a==c || b==c)MessageBox("等腰三⾓形");elseM essageBox("⼀般三⾓形");}else {if(a<1||a>100)MessageBox("a不在范围内,不满⾜条件1,不能构成三⾓形");else if(b<1||b>100)MessageBox("b不在范围内,不满⾜条件2,不能构成三⾓形"); else if(c<1||c>100)MessageBox("c不在范围内,不满⾜条件3,不能构成三⾓形"); else if(a>=b+c)MessageBox("不满⾜aelse if(b>=a+c)MessageBox("不满⾜belse if(c>=b+a)MessageBox("不满⾜c}M essageBox("判断结束!");}2) 实验的输⼊和输出样式3) 测试⽤例设计⽤等价类分析法设计测试⽤例,按照下列步骤进⾏:⑴分析题⽬中给出的条件和隐含的输⼊要求,输⼊条件如下:①正整数②三个数③构成⼀般三⾓形④构成等腰三⾓形⑤构成等边三⾓形⑥不能构成三⾓形⑵根据输⼊条件的要求划分等价类,列出等价类表并编号,如下表:⑶设计测试⽤例,覆盖上表中的等价类,如下表:注:提⽰1(输⼊不符合要求)提⽰2(请输⼊数据)(2)(2) (2) NextDate问题⽤边界值分析法设计测试⽤例1)对于NextDate问题,分析它的输⼊限制;NextDate是⼀个有三个变量(⽉份、⽇期和年)的函数。
软件测试-三角形问题
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之间, 判断由三条边构成的三角形类型为等边三角形、等 腰三角形、一般三角形(包括直角三角形)以及非 三角形。 在多数情况下,是从输入域划分等价类,但对于三 角形问题,从输出域来定义等价类是最简单的划分 方法。
三角形问题等价类划分法
预期结果 构不成三角 构不成三角 构不成三角 等边三角形 等腰三角形 等腰三角形 等腰三角形 一般三角形 提示错误 提示错误 提示错误 提示错误 提示错误 提示错误 提示错误 提示错误 提示错误
实际结果 不是三角形 不是三角形 不是三角形 是等边三角形 是等腰三角形 是等腰三角形 是等腰三角形 是一般三角形 是等腰三角形
条件
有效等价类
三角形问题等价类表
a
b
输入
c
构不成三角形
构成三角形
a+b>c a+c>a b+c>a
整数
a>=1&&a<=100
b>=1&&b<=100
c>=1&&c<=100
a+b<=c
a+c<=b
b+c<=a
等边三角形
a=b=c
a=b不等于c
a=c不等于b
等腰三角形
b=c不等于a
一般三角形
a/b/c互不相等
输入(a,b,
用例编号
c)
覆盖等价类
1
(1,1,2) 1,2,3,4,
2
(2 ,4, 2)
1,2,3,4,6
3
(10 ,5 ,5) 1,2,3,4,7
4
(9 , 9, 9) 1,2,3,4,8
5
(10,10,9) 1,2,3,4,9
6
(10,9,10) 1,2,3,4,10
7
(9,10,10) 1,2,3,4,11
编号
1
2
3
4 5 6 7 8 9 10 11 12
三角形测试用例
三角形测试用例1. 引言在软件开发中,测试是一个至关重要的环节。
而在测试过程中,测试用例是评估软件功能和性能的关键工具之一。
本文将围绕着三角形的测试用例展开讨论。
三角形是指由三条边组成的图形,它是几何学中最基本的图形之一。
我们将介绍如何编写一组全面且有效的测试用例来验证一个给定的三条边是否可以构成一个有效的三角形。
2. 测试目标我们的目标是编写一组测试用例,通过输入不同长度的三条边来验证是否可以构成一个有效的三角形。
对于给定的三条边a、b和c,我们需要验证以下情况: - a、b和c是否满足构成三角形的条件; - 如果满足条件,那么它是什么类型的三角形(例如等边三角形、等腰三角形或普通三角形); - 如果不满足条件,那么应该返回什么样的错误信息。
3. 测试用例设计3.1 边界值分析在设计测试用例时,我们需要考虑到边界值情况。
以下是一些可能需要考虑到的边界值: - a、b或c为零的情况; - a、b或c为负数的情况; - a、b或c的值非常大的情况。
3.2 等边三角形测试用例等边三角形是指三条边长度相等的三角形。
以下是一些可能需要考虑到的测试用例:- a、b和c均为相等且大于零的值; - a、b和c均为相等且小于零的值; - a、b和c均为相等但其中有一个为零的值。
3.3 等腰三角形测试用例等腰三角形是指两条边长度相等的三角形。
以下是一些可能需要考虑到的测试用例:- a和b相等,且a和b大于零,但c不等于a或b; - a和b相等,且a和b小于零,但c不等于a或b; - a和b相等,且其中一个为零,但c不等于a或b。
3.4 直角三角形测试用例直角三角形是指其中一个内角为90度(直角)的三角形。
以下是一些可能需要考虑到的测试用例: - a^2 + b^2 = c^2 的情况; - a^2 + b^2 ≠ c^2 的情况。
3.5 普通三角形测试用例普通三角形是指没有边相等的三角形。
以下是一些可能需要考虑到的测试用例: - a、b和c均为不相等的正数; - a、b和c均为不相等的负数; - a、b和c均为不相等但其中有一个为零的值。
测试用例设计方法1——等价类边界值
测试用例设计方法1——等价类边界值1、等价类划分等价类划分是黑盒测试最常用的方法,使用等价类划分的方法是将输入域划分为若干个区域,并从中选择少数具有代表性的数据进行测试,这样可以避免使用大量的测试数据,也避免了盲目性。
等价类划分针对程序的输入部分,常用的设计方法是:找出输入条件,划分等价类,并进行用例的设计。
等价类分为有效等价类和无效等价类。
所谓有效等价类是指用户输入的有效数据,并得到预期的或正常的结果;另一种是无效等价类,无效等价类是指异常的或不符合规定的输入,相应的也会得到异常的输出或提示信息。
因此在划分等价类的时候又从有效和无效两方面去考虑。
一般在设计测试用例时,要是一条用例尽量多的覆盖有效等价类,而无效等价类则要求一对一的覆盖。
2、边界值边界值同样是一种经典的黑盒测试方法,他常常作为等价类的一种补充,与等价类方法一起使用。
在进行程序设计时,大量的错误容易发生在输入数据或输出数据的边界上,因此使用边界值的方法可以经常检测出错误。
当一个输入明确的规定了一个值的取值范围时或输入条件是一组有序的集合时,就可以使用边界值的方法来设计测试用例。
关于边界值得上点、内点、离点的概念,可以参见下图。
由于等价类和边界值经常配合使用,因此两者可以合并为一个用例设计方法,下面总结一下使用等价类边界值设计测试用例的思路和方法。
1、分析需求,挖掘隐式条件,确认边界值,划分等价类2、将划分出的等价类填入表格,进行编号3、对有效等价类,用一条用例尽量多的覆盖4、对于无效等价类,一对一的覆盖,最终得到测试用例下面以最经典的三角形问题来说明如何使用等价类边界值方法设计测试用例:输入3个数,判定是否构成三角型,并判定什么时候是等腰三角形,什么时候是等边三角形。
分析输入条件:1、3个整数2、任意两边和大于第三遍3、满足1、2,且只有两个边相等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不构成三角形}四个弱一般等价类测试用例是:测试用例 a b c 预期输出WN1 5 5 5 等边三角形WN2 2 2 3 等腰三角形WN3 3 4 5 不等边三角形WN4 4 1 2 非三角形由于变量a、b和c没有有效区间,则强一般等价类测试用例与弱一般等价类测试用例相同.考虑a、b和c的无效值产生的以下额外弱健壮等价类测试用例:测试用例 a b c 预期输出WR1 -1 5 5 a取值不在所允许的取值值域内WR2 5 -1 5 b取值不在所允许的取值值域内WR3 5 5 —1 c取值不在所允许的取值值域内WR4 201 5 5 a取值不在所允许的取值值域内WR5 5 201 5 b取值不在所允许的取值值域内WR6 5 5 201 c取值不在所允许的取值值域内以下是额外强健壮性等价类测试用例三维立方的一个“角”:测试用例 a b c 预期输出SR1 —1 5 5 a取值不在所允许的取值值域内SR2 5 -1 5 b取值不在所允许的取值值域内SR3 5 5 —1 c取值不在所允许的取值值域内SR4 —1 —1 5 a、b取值不在所允许的取值值域内SR5 5 —1 -1 b、c取值不在所允许的取值值域内SR6 —1 5 —1 a、c取值不在所允许的取值值域内SR7 -1 —1 —1 a、b、c取值不在所允许的取值值域内。
