黑盒测试方法

转载地址:http://blog.chinaunix.net/uid-16844439-id-3323178.html

一、等价类划分法:

是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,它们具有等价特性,即每一类的代表性数据在测试中的作用都等价于这一类中的其它数据。这样,对于表征该类的数据输入将能代表整个子集合的输入。因此,可以合理的假定:---测试某等价类的代表值就是等效于对于这一类其它值的测试。

等价类是输入域的某个子集合,而所有等价类的并集就是整个输入域。因此,等价类对于测试有两个重要的意义:

完备性----整个输入域提供一种形式的完备性;

无冗余性----若互不相交则可保证一种形式的无冗余性。

如何划分?----先从程序的规格说明书中找出各个输入条件,再为每个输入条件划分两个或多个等价类,形成若干的互不相交的子集。

采用等价类划分法设计测试用例通常分两步进行:

1)确定等价类,列出等价类表;

2)确定测试用例。

二、边界值分析法:

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

怎样用边界值分析法设计测试用例:

1)首先确定边界情况。通常输入或输出等价类的边界就是应该着重测试的边界情况;

2)选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。

三、因果图法:

因果图法产生的背景:

等价类划分法和边界值分析法都是着重考虑输入条件,但没有考虑输入条件的各种组合,输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合,相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

因果图法的定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

采用因果图法设计测试用例的步骤:

1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。

2)将得到的因果图转换为判定表。

3)为判定表中每一列所表示的情况设计一个测试用例。

因果图中用来表示4种因果关系的基本符号:

因果图中的4种基本关系
在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci 与 ei 取值0或1,0表示某状态不出现,1则表示某状态出现。
恒等:若 c1 是1,则 e1 也为1,否则 e1 为0。
非:若 c1 是1,则 e1 为0,否则e1为1。
或:若 c1 或 c2 或 c3 是1,则 e1 为1,否则 e1 为0。
与:若 c1 和 c2 都是1,则 e1 为1,否则 e1 为0。

因果图中的约束
在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。对于输入条件的约束有E、I、O、R四种约束,对于输出条件的约束只有M约束。
E约束(异):a和b中最多有一个可能为1,即a和b不能同时 为1。
I 约束(或):a、b、c中至少有一个必须为1,即 a、b、c不能同时为0。
O约束(唯一):a和b必须有一个且仅有一个为1。
R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。
M约束(强制):若结果a为1,则结果b强制为0。

因果图中用来表示约束关系的约束符号:


因果图法最终生成的是决策表。利用因果图生成测试用例的基本步骤如下:

1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。

2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。

3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。

4)把因果图转换为决策表。

5)根据决策表中的每一列设计测试用例。

四、决策表法:

在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具逻辑性的测试方法。

决策表的概念:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。

决策表的优点: 能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。

在一些数据处理问题当中,某些操作的实施信赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值 ,分别执行不同的操作。决策表很适合于处理这类问题。

决策表通常由以下4部分组成:

1)条件桩---列出问题的所有条件

2)条件项---针对条件桩给出的条件列出所有可能的取值

3)动作桩---列出问题规定的可能采取的操作

4)动作项---指出在条件项的各组取值情况下应采取的动作。

构造决策表的5个步骤:

1)确定规则的个数

有n个条件的决策表有2n个规则 (每个条件取真、假值)

2)列出所有的条件桩和动作桩

3)填入条件项

4)填入动作项,得到初始决策表

5)简化决策表,合并相似规则。

若表中有两个以上规则具有相同动作,并且在条件项之间存在极为相似的关系,便可以合并。合并后的条件项用符号“—”表示,说明执行的动作与该条件的取值无关,称为无关条件。

测试方法的选择:

通常,在确定测试方法时,应遵循以下原则:

根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和测试重点。

认真选择测试策略,以便能尽可能少的使用测试用例,发现尽可能多的程序错误。因为一次完整的软件测试过后,如果程序中遗留的错误过多并且严重,则表明该次测试是不足的,而测试不足则意味着让用户承担隐藏错误带来的危险,但测试过度又会带来资源的浪费。因此,测试需要找到一个平衡点。

通常在确定测试策略时,有以下5条参考原则:

1)在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的能力最强。

2)必要时采用等价类划分法补充测试用例。

3)采用错误推断法再追加测试用例

4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。

5)如果程序的功能说明中含有输入条件的组合情况,则应一开始就选用因果图法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值