软件测试(7)——软件测试的艺术第四章-黑白盒测试

一、语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖。
1.语句覆盖:
定义:只管覆盖代码中的执行语句,却不考虑各种分支的组合等等。
例子:

if(a&b):
    语句1

使用语句覆盖,只要让执行语句执行就可以,取的测试用例为:
a=true, b=true

2.判定覆盖或分支覆盖
定义:设计足够多的测试用例,使得程序中的每一个判断至少获得一次“真”和一次“假”,即使得程序流程图中的每一个真假分支至少被执行一次。
例子:

if(a||b):
    语句1
else:
    语句2

对于这样的一个程序的判定覆盖,我们可以取测试用例为
a=true, b=true
a=false, b=false

3.条件覆盖
定义:比判定覆盖更强,确保一个判断中的每个条件的所有可能的结果至少执行一次。
例子:

if(a&b):
    语句1
else:
    语句2

对这样的程序,a的取值为true和false, b的取值为true和false,为了确保每个条件的结果至少被执行一次,采用条件覆盖,可选取的测试用例为:
a=true, b=false
a=false, b=true

4.判定/条件覆盖
定义:设计充足的测试用例,将一个判断中的每个条件的所有可能结果至少执行一次,将每个判断的所有可能结果至少执行一次,将每个入口点都至少调用一次。(也就是每个判定的真假各取一次,条件的真假也各取一次。)
例子:

if(a>5 & b<0):
    语句1

选取的测试用例为:
a=6, b=-1 (a>5,b<0,使得判定为真)
a=4, b=1 (a<=5,b>=0,使得判定为假)

5.多重条件覆盖准则
定义:要求编写足够多的测试用例,将每个判定中的所有可能的条件结果的组合,以及所有的入口点都至少执行一次。
例子:

if(a>5 & b<0):
    语句1

a的取值有a>5,a<=5,b的取值有b<0,b>=0,将条件亮亮组合,有4种结果。取的测试用例为:
a>5, b<0
a>5, b>=0
a<=5, b<0
a<=5, b>=0
二、黑盒测试
1.等价划分
步骤:确定等价类,生成测试用例。
生成测试用例的过程:为每一个等价类设置一个不同的编号,编写测试用例尽可能多的覆盖有效等价类,编写测试用例覆盖一个且仅一个尚未被涵盖的无效等价类。
2.边界值分析
对输入和输出边界都要进行分析
3.因果图
等价划分和边界值分析没有对输入条件的组合进行分析
步骤:将规格说明分解成可执行的片段;确定规格说明中的因果关系;分析规格说明的语义内容,将其转换为连接因果关系的布尔图;给图加上注解符号;将因果图转换为有限项的判定表,表中的每一列代表一个测试用例;将列转换成测试用例。

对于规格说明中包含输入条件组合的情况,首先使用因果图分析。然后任何情况下都要用边界值,为输入输出确定有效等价类和无效等价类,使用错误猜测来补充。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值