软件测试之黑盒测试(等价类划分,边界值分析,判定表驱动)

来源:互联网 发布:webshell采集工具 编辑:程序博客网 时间:2024/05/16 15:56

案例实战—直角三角形

试用等价类划分、边界值分析和因果图加判定表驱动法为三角形问题中的直角三角形设计测试用例。假定三边边长a、b和c均为1到100之间的正整数,其中整数的要求通过数据类型控制。直角三角形问题满足以下规则:

  • 当三边中任意两边边长之和小于等于第三边,则输出“非三角形“;

  • 当其中两边边长的平方和等于第三边的平方,则输出“直角三角形”;

  • 当任意两边边长的平方和都不等于第三边的平方,则输出“一般三角形”。
  • 当三边中任意一边边长小于1或者大于100,则给出“输入无效”的提示信息。

要求如下:

  • ① 等价类划分法中需分析输入域和输出域得到等价类,并设计覆盖弱健壮等价类的测试用例。
  • ② 边界值分析法在等价类划分的基础上考虑输入域和输出域的边界情况,补充测试用例。
  • ③ 判定表驱动法需分析程序的规格说明,列出原因和结果,画出因果图,并将因果图转换为判定表,设计测试用例。
  • ④ 运行待测程序,将设计的测试用例通过界面实现输入,记录实际输出,并给出测试结果。如果预期输出与实际输出相匹配,则测试结果为Passed,否则,测试结果为Failed。
  • ⑤ 通过应用实例,简单总结归纳等价类划分、边界值分析、判定表驱动等黑盒测试技术在测试用例设计和测试执行方面的优缺点及适用情况。

参考答案:

(1) 等价类划分

分析输入域得到的等价类如表1所示。

表1 直角三角形问题输入域等价类表

null 有效等价类 编号 无效等价类 编号 取值范围 1≤a≤100 1 a<1 11 a>100 12 1≤b≤100 2 b<1 13 b>100 14 1≤c≤100 3 c<1 15 c>100 16 构成一般三角形 a+b>c 4 a+b≤c 17 b+c>a 5 b+c≤a 18 c+a>b 6 a+c≤b 19 a²+b²≠c²且b²+c²≠a²且c²+a²≠b² 7 构成直角三角形 a²+b²=c² 8 b²+c²=a² 9 c²+a²=b² 10

直角三角形问题包括四种可能的输出,分别为直角三角形、一般三角形、非三角形和输入无效,其中输入域已覆盖输入无效的情况。分析输出域得到的等价类如表2所示,覆盖弱健壮等价类的测试用例如表3所示。

表2 直角三角形问题等价类表

测试用例编号 a b c 预期输出 实际输出 覆盖等价类 测试结果 T1 40 50 60 一般三角形 一般三角形 1、2、3、4、5、6、7 Passed T2 30 40 50 直角三角形 一般三角形 1、2、3、4、5、6、8 Failed T3 50 30 40 直角三角形 一般三角形 1、2、3、4、5、6、9 Failed T4 40 50 30 直角三角形 一般三角形 1、2、3、4、5、6、10 Failed T5 0 50 50 输入无效 输入无效 11、2、3 Passed T6 101 50 50 输入无效 输入无效 12、2、3 Passed T7 50 0 50 输入无效 输入无效 1、13、3 Passed T8 50 101 50 输入无效 输入无效 1、14、3 passed T9 50 50 0 输入无效 输入无效 1、2、15 Passed T10 50 50 101 输入无效 输入无效 1、2、16 Passed T11 20 30 60 非三角形 非三角形 1、2、3、17 Passed T12 60 20 30 非三角形 非三角形 1、2、3、18 Passed T13 30 60 20 非三角形 非三角形 1、2、3、19 Passed

(2) 边界值分析

按照健壮性边界值分析的取值方法,对每个输入分别取7个值,即为min-、min、min+、nom、max-、max和max+,如表4所示。

表4 直角三角形问题输入域健壮性边界值分析

输入域 等价类 边界值 a 1≤a≤100 01、2、50、99、100、101 b 1≤b≤100 0、1、2、50、99、100、101 c 1≤c≤100 0、1、2、50、900、101

输出域边界值分析如表5所示。

表5 直角三角形问题输出域边界值分析

输出域 等价类 边界值 输入无效 a+b≤c a+b=c-1、a+b=c、a+b=c+1 b+c≤a b+c=a-1、b+c=a、b+c=a+1 c+a≤b c+a=b-1、c+a=b、c+a=b+1

综合考虑输入域和输出域的边界值,测试用例设计如表6所示。

表6 直角三角形问题边界值测试用例

测试用例编号 a b c 预期输出 实际输出 测试结果 T1 0 50 50 输入无效 输入无效 Passed T2 1 50 50 一般三角形 输入无效 Failed T3 2 50 50 一般三角形 一般三角形 Passed T4 99 50 50 一般三角形 一般三角形 Passed T5 100 50 50 非三角形 输入无效 Failed T6 101 50 50 输入无效 输入无效 Passed T7 50 0 50 输入无效 输入无效 Passed T8 50 1 50 一般三角形 输入无效 Failed T9 50 2 50 一般三角形 一般三角形 Passed T10 50 99 50 一般三角形 一般三角形 Passed T11 50 100 50 非三角形 输入无效 Failed T12 50 101 50 输入无效 输入无效 Passed T13 50 50 0 输入无效 输入无效 Passed T14 50 50 1 一般三角形 输入无效 Failed T15 50 50 2 一般三角形 一般三角形 Passed T16 50 50 99 一般三角形 一般三角形 Passed T17 50 50 100 非三角形 输入无效 Failed T18 50 50 101 输入无效 输入无效 Passed T19 30 40 50 直角三角形 一般三角形 Failed

表6 直角三角形问题边界值测试用例

(3) 判定表驱动

①分析程序的规格说明,列出原因和结果。

原因:
C1—1≤a
C2—a≤100
C3—1≤b
C4—b≤100
C5—1≤c
C6—c≤100
C7—a+b>c
C8—b+c>a
C9—c+a>b
C10—a2+b2=c2
C11—b2+c2=a2
C12—c2+a2=b2
结果:
E1—输入无效
E2—非三角形
E3—一般三角形
E4—直角三角形
中间结果:
11—输入有效
12—符合三角形一般规则
13—可以构成三角形
14—符合直角三角形一般规则

② 找出原因与结果间的因果关系、原因与原因间的约束关系,画出如图1所示的因果图。
图1 直角三角形问题因果图
这里写图片描述
③ 将因果图转换成如表7所示的判定表。
表7 直角三角形问题判定表
这里写图片描述

④ 根据判定表,设计如表8所示的测试用例,给出输入数据和预期输出。
表8直角三角形问题判定表驱动测试用例
这里写图片描述

0 0
原创粉丝点击