测试一个三角形的用例怎么写?

上一篇 / 下一篇  2012-05-30 15:26:11 / 个人分类:功能测试

面试的时候,面试官问我:测试一个三角形的用例怎么写?,我当时晕了,回答了几个特殊情况,感觉他不太满意,具体的该怎么回答呢?

 

最佳答案

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

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

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

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

               

    我们再分析一下三角形的等价类:

     有效等价类:

            输入3个正整数或正小数:

              1、两数之和大于第三数,如A<B+CB<C+AC<A+B

                         2、两数之和不大于第三数

              3、两数相等,如A=BB=CC=A

                         4、三数相等,如A=B=C

                         5、三数不相等,如A=BB=CC=A

   无效等价类:

                          1、空

                          2、负整数

                          3、非数字                          

                          4、少于三个数

三角形测试用例类别

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

是否是三角形

(A>0)  (1)

(B>0)  (2)

(C>0)  (3)

(A+B>C)  (4)

(B+C>A)  (5)

(C+A>B)  (6) (A<=0)  (7)

(B<=0)  (8)

(C<=0)  (9)

(A+B<=C)  (10)

(B+C<=A)  (11)

(C+A<=B)  (12)

是否是等腰三角形

(A=B)  (13)    

(B=C)  (14)

(C=A)  (15) (A!=B)and(B!=C)and(C!=A)     (16)

是否是等腰直角三角形:

(A=B)and(A^2+B^2=C^2)  (17)

(B=C)and(B^2+C^2=A^2)  (18)  

(C=A)and(C^2+A^2=B^2)   (19)

是否是等边三角形:

(A=B)and(B=C)and(C=A)    (20)

(A!=B)     (21)

(B!=C)    (22)

(C!=A)    (23)

三角形测试用例:

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


TAG:

 

评分:0

我来说两句

Open Toolbar