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

本文详细介绍了如何使用等价类划分、边界值分析和判定表驱动法设计直角三角形问题的测试用例。针对输入域和输出域,列举了等价类表和边界值分析,并通过判定表驱动法来确定测试用例,确保覆盖各种可能的直角、一般和非三角形情况。同时,讨论了这些黑盒测试技术在测试用例设计和测试执行上的优缺点及适用场景。

案例实战—直角三角形

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

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

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

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

要求如下:

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

参考答案:

(1) 等价类划分

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

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

null有效等价类编号无效等价类编号
取值范围1≤a≤1001a<111
a>10012
1≤b≤1002b<113
b>10014
1≤c≤1003c<115
c>10016
构成一般三角形a+b>c4a+b≤c17
b+c>a5b+c≤a18
c+a>b6a+c≤b19
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 直角三角形问题等价类表

测试用例编号abc预期输出实际输出覆盖等价类测试结果
T1405060一般三角形一般三角形1、2、3、4、5、6、7Passed
T2304050直角三角形一般三角形1、2、3、4、5、6、8Failed
T3503040直角三角形一般三角形1、2、3、4、5、6、9Failed
T4405030直角三角形一般三角形1、2、3、4、5、6、10Failed
T505050输入无效输入无效11、2、3Passed
T61015050输入无效输入无效12、2、3Passed
T750050输入无效输入无效1、13、3Passed
T85010150输入无效输入无效1、14、3passed
T950500输入无效输入无效1、2、15Passed
T105050101输入无效输入无效1、2、16Passed
T11203060非三角形非三角形1、2、3、17Passed
T12602030非三角形非三角形1、2、3、18Passed
T13306020非三角形非三角形1、2、3、19Passed

(2) 边界值分析

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

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

输入域等价类边界值
a1≤a≤10001、2、50、99、100、101
b1≤b≤1000、1、2、50、99、100、101
c1≤c≤1000、1、2、50、900、101

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

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

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

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

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

测试用例编号abc预期输出实际输出测试结果
T105050输入无效输入无效Passed
T215050一般三角形输入无效Failed
T325050一般三角形一般三角形Passed
T4995050一般三角形一般三角形Passed
T51005050非三角形输入无效Failed
T61015050输入无效输入无效Passed
T750050输入无效输入无效Passed
T850150一般三角形输入无效Failed
T950250一般三角形一般三角形Passed
T10509950一般三角形一般三角形Passed
T115010050非三角形输入无效Failed
T125010150输入无效输入无效Passed
T1350500输入无效输入无效Passed
T1450501一般三角形输入无效Failed
T1550502一般三角形一般三角形Passed
T16505099一般三角形一般三角形Passed
T175050100非三角形输入无效Failed
T185050101输入无效输入无效Passed
T19304050直角三角形一般三角形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直角三角形问题判定表驱动测试用例
这里写图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值