三角形测试(测试用例)

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

三角形测试(测试用例)

三角形测试用例

题目:输入三个数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形是一般三角形、等腰三角形还是等边三角形时。用等价类划分方法为该程序设计测试用例。

在三角形计算中,要求三角形的三个边长:A B C。

1、当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。

2、若是等腰三角形打印“等腰三角形”,若两个等腰的平方和等于第三边平方和,则打印“等腰直角三角形”。

3、若是等边三角形,则打印:“等边三角形”。

4、画出程序流程图并设计一个测试用例。

分析一下:

1、构成三角形的条件:任意两边之和大于第三边;

2、构成等腰三角形的条件:任意两边相等;

3、构成等腰直角三角形的条件:任意两边相等,而且两条边的平方和等于第三边的平方和;

4、构成等边三角形的条件:三条边都相等。

那么用什么样的设计方法进行测试用例的设计呢?

一、等价类划分:三角形三条边A、B、C的数据类型不同

二、边界值分析:由于三角形的边长可以是正整数或正小数,所以就不对长度进行测试,那么边界值分析就不用了

三、因果图法:三角形的三条边数据输入组合

我们看一下三角形的流程图:

注:改正一个小错误,在判断是否是等腰直角三角形中 A的平方=B的平方+C的平方。由于画图时,网络速度问题,导致真或假的值没有标注。

三角形等价类列表

判定类型有效等价类

无效等价类

void main()

{

int a,b,c;

printf("Please Input a,b,c:");

scanf("%d",&a);

scanf("%d",&b);

scanf("%d",&c);

if(a+b<=c||a+c<=b||b+c<=a) /*判断是否能构成三角形*/ printf("No!\n");

else

{

printf("Yes!\n");

if(a==c||a==b||b==c) /*判断是否为等腰三角形*/

{

printf("It can be an isoceles triangle!\n");

if(a==c && a==b) /*判断是否为等边三角形*/

printf("It also can be an equilateral triangle!\n"); else

printf("But it can not be an equilateral triangle!\n"); }

else

{

printf("It can't be an isoceles triangle!\n");

}

}

getch();

}

三角形测试用例:

序号 [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] 无效等价类错误提示

相关文档
最新文档