白盒测试-- 针对循环的测试

        在基本的程序结构中,循环结构是最为复杂的一种,程序执行路径的膨胀主要是由循环结构引起的,循环次数不同,就会形成不同的执行路径。 

        基本的循环结构有两种形式:

复合的循环结构有三种形式: 

1、 简单循环的测试

        对基本的简单循环进行测试的方法一般采用循环边界条件测试法 相当于对循环次数变量进行边界值测试,一般覆盖 7 个边界值点。

示例:

        

例子:

 2、复合循环结构测试

 3、非结构循环的测试

4、程序插装

        程序插装就是借助往被测程序中插入操作来实现测试的目的 (1)插入打印语句 (2)插入计数语句。

插装的作用: 统计覆盖率、 记录变量的动态特性

补充:白盒测试方法运用示例

5、程序插桩设计步骤 

1.运用基本路径或主路径测试方法设计相关测试用例

2.运用逻辑覆盖测试方法设计相关测试用例

3.运用循环测试方法设计相关测试用例

综合上面三个结果,并去除冗余 根据程序的特点增加相应的测试用例

a.基本路径: 

环复杂度 :二值判定节点个数 + 1 =3+1=4

                    边的数目-节点的数目 + 2 = 14-12+2=4

1.   6-10->11->12-13->14->16-18->20->21->11->23->24->27 相应的测试用例: 测试输入 = ((10,-999),0,100) 预期结果= 10

2.   6-10->11->12-13->14->19->23 ->24->27 相应的测试用例: 测试输入 = ((-10,-999),0,100) 预期结果= -999

3.    6-10->11->23->25-26>27 相应的测试用例: 测试输入 = ((-999),0,100) 预期结果= -999

b、逻辑覆盖——以分支-条件覆盖为例

     分支相应的测试用例 while (( value[i]!=-999) &&(inputNumber<100))

      相应的测试用例:

                测试输入 = ((10,-999),0,100)       预期结果= 10

                测试输入 = ((-999),0,100)       预期结果= -999

                测试输入 = ((0…100,-999),0,100)       预期结果= 49

   分支和相应的测试用例 if  ((value[i]>=minimum) && (value[i]<=maximum))  

     相应的测试用例:

                测试输入 = ((10,-999),0,100)      预期结果= 10

                测试输入 = ((-10,-999),0,100)      预期结果= -999

                测试输入 = ((150,-999),0,100)      预期结果= -999

分支和相应的测试用例 if validNumber > 0  

相应的测试用例:

                测试输入 = ((10,-999),0,100)      预期结果= 10

                测试输入 = ((-10,-999),0,100)      预期结果= -999

C、循环测试——测试用例

 while (( value[i]!=-999) &&(inputNumber<100))

相应的测试用例:

                不执行循环 测试输入 = ((-999),0,100) 预期结果= -999

                只执行一遍循环体 测试输入 = ((10,-999),0,100) 预期结果= 10

                执行两遍循环体 测试输入 = ((10,20,-999),0,100) 预期结果= 15

                m (m=50) 遍循环体 测试输入 = ((0..49,-999),0,100) 预期结果= 24

                n-1(99)遍循环体:测试输入 = ((0..98,-999),0,100)       预期结果= 49

                n (100)遍循环体  测试输入 = ((0..99,-999),0,100)       预期结果= 49

                n + 1(101)遍循环体  测试输入 = ((0..100,-999),0,100)       预期结果= 49

d、整合:并集、去除冗余、必要时额外补充

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
白盒测试是一种软件测试方法,它基于对被测试代码的内部结构和实现细节的了解来设计测试用例。在Java中进行白盒测试时,可以通过以下几个方面来介绍: 1. 单元测试:单元测试白盒测试的一种常见形式,它针对代码中的最小单元(如方法、函数)进行测试。在Java中,可以使用JUnit等单元测试框架来编写和执行单元测试用例。 2. 代码覆盖率:代码覆盖率是衡量白盒测试效果的指标之一,它表示被测试代码中被测试到的部分占总代码量的比例。常见的代码覆盖率指标包括语句覆盖率、分支覆盖率和路径覆盖率等。在Java中,可以使用工具如JaCoCo来计算代码覆盖率。 3. 控制流测试:控制流测试是一种白盒测试技术,它通过测试不同的控制流路径来检测代码中的错误和缺陷。在Java中,可以使用条件语句(如if-else、switch)和循环语句(如for、while)来设计控制流测试用例。 4. 数据流测试:数据流测试是一种白盒测试技术,它关注数据在程序中的传递和处理过程。在Java中,可以通过设计测试用例来覆盖不同的数据流路径,包括变量的定义、赋值、使用和传递等。 5. 异常处理测试:异常处理是Java中的重要特性之一,它可以帮助程序在出现错误或异常情况时进行适当的处理。在白盒测试中,可以设计测试用例来验证代码对各种异常情况的处理是否正确。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值