一、实验目的

  1. 能够掌握白盒测试的静态测试、逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖)、基本路径测试原理
  2. 能够运静态白盒测试、逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖)、基本路径测试写测试用例

二、实验任务

  1. 使用静态白盒测试进行代码的审视,找出代码中存在的潜在问题
  2. 使用逻辑覆盖的六种方法,根据相应代码进行分析,编写测试用例
  3. 使用基本路径测试方法,根据相应代码进行分析,编写测试用例

三、实验内容与要求

1. 使用静态白盒测试对下图中的代码进行审视,要求:找出所有的错误及错误的原因

2. 使用逻辑覆盖的六种方法(语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖),对下图中的代码进行分析并编写测试用例

要求:

①要写明分析的过程

②要画出流程图

3.使用基本路径测试方法,对下图中的代码进行分析并编写测试用例

四、静态白盒测试所发现的问题

1.输出的位数与数组的大小不吻合(超出)

2.数值计算时溢出,num三次方后数字过大

3.变量不应为空

4.除数不应为零

5.数组应从零开始遍历

6. 求值次序混乱,无论如何都会输出flag,不会输出num的值

五、语句覆盖法设计

图(太丑,略)

设计一个测试用例就可以覆盖程序中所有可执行语句

测试用例a=2,b=1,c=-1,d=2

执行路径为abdf

六、判定覆盖法设计

判断覆盖,要设计两个测试用例。

测试用例1:a=2,b=1,c=-1,d=2  执行路径为abdf

测试用例2:a=0,b=0,c=1,d=1   执行路径为aceg

七、条件覆盖法设计

a>0真值为T1假值为-T1;

b>0真值为T2假值为-T2;

a>1真值为T3假值为-T3;

c<1真值为T4假值为-T4;

c<0真值为T5假值为-T5;

d>1真值为T6假值为-T6;

要使上述8个条件可能产生的情况至少满足一 次,用例设计如下:

测试用例1:a=2,b=1,c=-1,d=2

执行路径为abdf

覆盖条件:T1,T2,T3,T4

覆盖分支:bdf

测试用例2:a=0,b=0,c=1,d=1

执行路径为aceg

覆盖条件:-T1,-T2,-T3,-T4

覆盖分支:ceg

八、判定-条件覆盖法设计

要使得测试用例能够覆盖上述四个条件可能产生的情况以及判定分支

用例设计如下:

测试用例1:a=2,b=1,c=-1,d=2

执行路径为abdf

覆盖条件:T1,T2,T3,T4

覆盖分支:bdf

测试用例2:a=0,b=0,c=1,d=1

执行路径为aceg

覆盖条件:-T1,-T2,-T3,-T4

覆盖分支:ceg

九、条件组合覆盖法设计

要使设计的测试用例能覆盖每个判定的所有可能的条件取值组合

用例设计如下:

第一个判定条件取值情况

第二个判定条件取值情况

第三个判定条件取值情况

1.a>0; b>0

5.a>1, c<1

9.c<0, d>1

2.a>0; b<=0

6.a>1, c>=1

10.c<0, d<=1

3.a<=0; b>0

7.a<=1, c<1

11c>=0, d>1

4.a<=0; b<=0

8.a<=1, c>=1

12c>=0, d<=1

测试用例1:a=2,b=1,c=-1,d=2

覆盖组合1,5,9

测试用例2:a=2,b=-1,c=1,d=2

覆盖组合2,6,11

测试用例3:a=0,b=1,c=-1,d=1

覆盖组合3,7,10

测试用例4:a=0,b=0,c=1,d=1

覆盖组合4,8,12

十、路径覆盖法设计

要使设计的测试用例能覆盖被测程序中所有可能的的路径。

当判定二为假时判定三必为假

测试用例1:a=2,b=1,c=-1,d=2  执行路径:abdf

测试用例2:a=2,b=1,c=-1,d=1  执行路径:abdg

测试用例3:,执行路径:abef(条件不成立)

测试用例4:a=0.5,b=1,c=1,d=2,执行路径:abeg

测试用例5:a=2,b=0,c=-1,d=2,执行路径:acdf

测试用例6:a=2,b=0,c=-1, d=1,执行路径:acdg

测试用例7:,执行路径:acef(条件不成立)

测试用例8:a=0,b=0,c=1,d=1,执行路径:aceg

十一、基本路径测试法设计

1.控制流图

2.E=10,N=8,P=3  V(G)=E-N+2=P+1=4

3.导出基本路径集

路径1:3--15

路径2:3—4—5--15

路径3:3—4—7—9—14—3--15

路径4:3—4—7—10—14—3—15

4. 设计测试用例的输入数据和预期输出

编号

输入数据

预取结果

实际结果

a

b

c

d

c

d

1

0

0

0

0

0

0

2

2

0

0

0

0

0

3

2

1

0

0

0

0

4

2

2

1

0

1

0

十二、测试用例

六种覆盖

图丑,略

基本路径

十三、实验总结

通过本次实验,我逐渐了解到语句覆盖可以保证程序中每个语句都得到执行,但是不能够发现判定中录屏及运算的错误虽然确实判定覆盖比语句覆盖更强一些。

条件覆盖同时满足了判定、条件覆盖,但并不是所有的条件覆盖都能满足判定覆盖。实际上,编译器在检查含有多个条件的逻辑表达式时,某些情况下的某些条件将会被其他调暗劲所掩盖。

组合覆盖覆盖了所有的的组合,也覆盖了所有判定的真假分支,但是仍然没有覆盖到某些路径。对于较简单的小程序,实现路径覆盖是可能做到的。

如果程序中出现较多的判断和较多的循环,可能的路径数目将会急剧增长,要在测试中覆盖所有的路径是无法实现的。

白盒测试——静态测试/逻辑覆盖/基本路径测试相关推荐

  1. 详述白盒测试的逻辑覆盖的路径覆盖及其优缺点

    详述白盒测试的逻辑覆盖的路径覆盖及其优缺点 定义: 与其他覆盖的关系: 路径覆盖率: 测试用例: 优缺点: 定义: https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢 ...

  2. 详述白盒测试的逻辑覆盖的条件覆盖及其优缺点

    条件覆盖 详述白盒测试的逻辑覆盖的条件覆盖及其优缺点: 条件覆盖的定义: 与判定覆盖的区别: 条件覆盖率: 测试实例: 代码: 优缺点: 详述白盒测试的逻辑覆盖的条件覆盖及其优缺点: https:// ...

  3. 白盒测试之逻辑覆盖准则

    白盒测试之逻辑覆盖准则 逻辑覆盖准则 需要测试的逻辑结构图(源程序) 语句覆盖准则 判定覆盖准则 条件覆盖准则 判定/条件覆盖准则 多重条件覆盖准则 逻辑覆盖准则 白盒测试关注的目标是测试用例执行的程 ...

  4. 详述白盒测试的逻辑覆盖法的判定覆盖及其优缺点

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) 详述白盒测试的逻辑 ...

  5. 软件测试-白盒测试:逻辑覆盖

    逻辑覆盖 参考文献: 软件测试第4章白盒测试一 软件测试--白盒测试 白盒测试-覆盖测试(六种覆盖方法) 几种常用的逻辑覆盖测试方法 目的:结构测试是依据被测程序的逻辑结构设计测试用例,驱动被测程序运 ...

  6. 白盒测试之逻辑覆盖---软考

    白盒测试也称为结构测试,根据程序的内部结构和逻辑来设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需要. 白盒测试常用的技术是逻辑覆盖.循环覆盖和基本路径测试. 本次,小编为大家介绍逻辑覆 ...

  7. 详述白盒测试的逻辑覆盖法的条件判定覆盖及其优缺点

    条件判定覆盖的定义: 设计足够多的测试用例,使被测程序中每个判定的每个条件的所有可能取值(真假)至少执行一次,并且每个判定的所有可能(真假)分支也至少执行一次 .通俗来讲,就是条件和判定覆盖的升华! ...

  8. 控制流测试 (语句覆盖、分支覆盖、判定覆盖、路径覆盖) 与条件测试

    控制流测试 控制流测试 (Control Flow Testing):是一种在考虑测试对象的控制流情况下导出测试用例的测试方法,并且借助于控制流图能评估测试的完整性(覆盖率). 原则 控制流图是一个带 ...

  9. 判定覆盖白盒测试java_白盒测试--条件判定覆盖和修正条件判定覆盖的差异

    1 简介 文章的目的在于通过比较发现条件判定覆盖(即Condition/Decision Coverage C/DC)和修正条件判定覆盖(Modified Condition/Decision Cov ...

最新文章

  1. JavaScript:Object.prototype.toString进行数据类型判定
  2. 【Python Django2.0入门教程】ORM之QuerySet 数据查询API:all get filter distinct first last count
  3. hadoop2.6.5安装文档及解决root用户无法ssh localhost的问题
  4. BASIC-7 特殊的数字
  5. 分布式锁(Redisson)-从零开始,深入理解与不断优化
  6. Swift--基本数据类型(一)
  7. 基于HtmlParser的网络爬虫
  8. order by + 数字的用意
  9. Elasticsearch--入门-_put post修改数据---全文检索引擎ElasticSearch工作笔记007
  10. 软件测试技术之如何编写测试用例
  11. IT 技能发展:10 大基本 IT 技能(精通一半你就是人才)
  12. linux将pdf转txt,如何快速把PDF转换成TXT
  13. 基于PTB数据集实现RNN-LSTM循环神经网络(智能填词)
  14. 让电脑无法使用QQ或微信
  15. PC与西门子PLC通讯免费软件Libnodave
  16. java web 开发
  17. S7-1200PLC CPU集成模拟量输入通道接线和编程
  18. android最强论坛,Android开发论坛
  19. 标致雪铁龙诊断软件diagbox 安装说明视频下载链接
  20. 华为云-容器引擎CCE-基本概念

热门文章

  1. c++模板 --- 类模板、自定义类型当做模板参数
  2. UML-----交互图(顺序图和合作图)
  3. 霍尼韦尔与浙江石化扩大合作,助力中国最大石化项目进一步建设
  4. 不可多得的干货!万字Android技术类校招面试题汇总,吐血整理
  5. 在Windows系统下,基于WLS从零开始部署我的 R shiny项目到 Docker 中,并将镜像发布到 Docker Hub(内附详细操作流程)
  6. 关于单精度浮点数的计算
  7. oplayer for android,OPlayer Pro「OPlayer 播放器」v5.00.02 for Android 直装付费专业版
  8. php sql语句过滤,PHP过滤用户提交信息(防SQL注入)
  9. NSArray 学习
  10. MIME type 类型大全