白盒测试

白盒测试

 

白盒测试:又称结构测试,基于代码的测试,此方法把测试对象看做一个透明的盒子,对程序所有逻辑路径进行测试。

 

   白盒测试产生的测试用例主要检查点

  (1)程序模块中的所有独立路径至少执行一次;

  (2)对所有的逻辑判定的取值(truefalse)都至少测试一次;

     (3)在上下边界及可操作范围内运行所有循环;

  (4)测试内部数据结构的有效性。

 

       常用的白盒测试方法

            逻辑覆盖测试

            基本路径测试

            循环测试               

 逻辑覆盖测试

 一种基本的白盒测试方法,主要考察使用测试数据运行被测程序时对程序逻辑的覆盖程序。

  主要的覆盖标准有:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖。

         1.  语句覆盖
 语句覆盖就是设计若干个测试用例,运行被测程序,使得每一条可执行语句至少执行一次。

          2. 判定覆盖 

判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。判定覆盖又称为分支覆盖。            

          3. 条件覆盖

条件覆盖就是设计若干个测试用例,运行被测程序,使程序中每个判断的每个条件的可能取值至少执行一次。                                

          4.  判定-条件覆盖

判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断中的每个条件的可能取值至少执行一次。                            

          5.  条件组合覆盖

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

          6.  路径覆盖

路径覆盖就是设计足够的测试用例,运行被测程序,使得每条可能执行到的路径都至少经过一次(如果程序中包含环路,则要求每条环路至少经过一次)。                            

 

基本路径测试

在程序控制流程图的基础上,导出可执行的路径集合,设计测试用例。

    基本步骤

 ▪ 根据程序或设计图画出控制流图

 ▪ 计算程序环复杂度(即区域数)

 ▪ 根据环复杂度确定程序执行的基本路径

 ▪ 设计测试用例

   条件测试路径选择

当程序中判定多于一个时,形成的分支结构可以分为两类:嵌套型分支结构和连锁型分支结构。

对于嵌套型分支结构:若有n 个判定语句,需要n+1 个测试用例;

对于连锁型分支结构: 若有n 个判定语句,需要有2的n次方个测试用例,覆盖它的2的n次方条路径。当n 较大时将无法测试。

 

循环测试路径选择

循环分为4种不同类型:简单循环、连锁循环、嵌套循环、非结构循环

         1)简单循环(单重循环) 

零次循环:从循环入口到出口

1次循环:检查循环初始值

2次循环:检查多次循环

m次循环: 检查在多次循环

最大次数循环、比最大次数多一次、少一次的循环。

         2)嵌套循环(循环再连接循环)

 内层循环按照简单循环来处理,之后外推,保持外层循环的循环变量取最小值,内层循环取典型值。

         3)连锁循环(多重循环)

 两个独立循环完全没联系,按简单循环处理

 循环不是相互独立 ,按嵌套循环处理。

         4)非结构循环(使用非结构的程序设计)

 先将其结构化,然后再测试。

 

 白盒测试的优缺点

  

   1. 优点   

·迫使测试人员去仔细思考软件的实现   

·可以检测代码中的每条分支和路径   

·揭示隐藏在代码中的错误   

·对代码的测试比较彻底   

·最优化   

   2. 缺点   

·昂贵   

·无法检测代码中遗漏的路径和数据敏感性错误   

·不验证规格的正确性

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值