软件工程白盒测试之逻辑覆盖

本文介绍了软件工程中的白盒测试技术——逻辑覆盖,包括语句覆盖、分支覆盖、条件覆盖和条件组合覆盖。通过流程图示例详细解释了如何设计测试用例以确保程序内部逻辑的全面测试,并提供了各个覆盖标准下的测试用例示例。

    逻辑覆盖是以程序内部的逻辑结构为基础的设计测试 用例的技术。它属白盒测试,一般来说,逻辑覆盖分为4个分支,语句覆盖 • 条件覆盖 • 分支覆盖 • 条件组合覆盖。下面一一来说。

先给出一个流程图:


一、语句覆盖:

设计测试用例,使得每个可执行的语句都要被执行一次,如上图的路线a->c->e就将4个可执行语句覆盖了。我们将该路线的判断语句进行合并,记住要考虑对应的情况,如果为F要取反。


取得满足条件的测试用例【(2,0,4),(2,0,3)】

二、分支覆盖

分支覆盖就是设计若干个测试用例, 运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。如上图,我们选择a->b->d,a->c->e就将所有的判断分支都走过了一遍。我们也像上面一样推导条件:


于是满足条件的测试用例【(1,0,1),(1,2,1)】

a->c->e满足条件的为【(2,0,4),(2,0,3)】(具体过程在一中已经推导)

三、条件覆盖

就是设计若干个测试用例, 运行被测程序,使得程序中每个判断的每个条件(按一个条件为单位)的可能取值至少执行一次。 例如上图中:

对于第一个判断:

    条件A>1,取真为T1,取假为F1

    条件 B=0 取真为T2 ,取假为F2

对于第二个判断: 

   条件 A=2,取真为T3,取假为F3

   条件 X>1,取真为T4,取假为F4

由此,我们可以根据路径a->b->e的不同取值来满足条件覆盖,如下:


四、条件组合覆盖

条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断(按一个条件框为单位)的所有可能的条件取值组合至少执行一次。 


由此:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值