软考128-上午题-【软件工程】-白盒测试

一、白盒测试(结构测试)

白盒测试也称为结构测试,根据程序的内部结构逻辑来设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需要。

白盒测试常用的技术是:逻辑覆盖、循环覆盖和基本路径测试。

1-1、逻辑覆盖

        逻辑覆盖考察用测试数据运行被测程序时对程序逻辑的覆盖程度,主要的逻辑覆盖标准有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖6种。

(弱——>强)

1、语句覆盖

语句覆盖是指选择足够的测试数据,使被测试程序中的每条语句至少执行1次

语句覆盖对程序执行逻辑的覆盖很低,因此一般认为它是很弱的逻辑覆盖

示例:

A = 4

B = 4

C = 2

2、判定覆盖(分支覆盖)

判定覆盖是指设计足够的测试用例,使得被测程序中的每个判定表达式至少获得一次“真”值和“假”值,或者说是程序中的每一个取“真”分支和取“假”分支至少都通过一次,因此判定覆盖也称为分支覆盖。

判定覆盖要比语句覆盖更强一些。

示例:

判断1   判断2

Y          Y

N          N

3、条件覆盖

条件覆盖是指构造一组测试用例,使得每一判定语句中每个逻辑条件的各种可能的值至少满足一次

示例:

4、判定/条件覆盖

 判定/条件覆盖是指设计足够的测试用例,使得判定中每个条件的所有可能取值(真/假)至少出现一次,并使每个判定本身的判定结果(真/假)也至少出现一次

判定覆盖 ∪ 条件覆盖

示例:

5、条件组合覆盖

条件组合覆盖是指设计足够的测试用例,使得每个判定中条件的各种可能值的组合都至少出现一次

满足条件组合覆盖的测试用例是一定满足判定覆盖、条件覆盖和判定/条件覆盖的。

示例:

6、路径覆盖

路径覆盖是指覆盖被测试程序中所有可能的路径。 

示例:

1-2、循环覆盖

执行足够的测试用例,使得循环中的每个条件都得到验证。

1-3、基本路径测试

        基本路径测试法是在程序控制流图的基础上,通过分析控制流图的环路复杂性,导出基本可执行路径集合,从而设计测试用例。

白盒测试的原则如下:

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

(2)、在所有的逻辑判断中,取“真”和取“假”的两种情况至少都能执行一次。

(3)、每个循环都应在边界条件和一般条件下各执行一次。

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

1-5、真题

真题1:

真题2:

真题3:

真题4:

真题5:

循环的分支,一般真、假都执行。

真题6:

真题7:

真题8:

分支覆盖:

1、测试用例1,满足Y,Y

2、测试用例2,满足N,N

真题9:

真题10:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/620346.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt控件---多元素类

文章目录 QListWidget(纵向列表)使用 QTableWidget(表格)使用 QTreeWidget(树形控件)QTreeWidgetItem使用 QListWidget(纵向列表) QListWidget里的每个元素都为 QListWidgetItem 类…

[计算机效率] 时间记录工具:ManicTime

3.24 时间记录工具:ManicTime ManicTime是一款数据收集软件,主要用于记录电脑上各种软件使用所花费的时间以及电脑闲置的时间。用户还可以定制记录某一时间段内的系统活动。 数据收集:ManicTime能够静默运行于后台,自动跟踪并收…

[MySQL]数据库原理8——喵喵期末不挂科

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

解读《算者生存:商业分析的方法与实践》:构建企业经营分析框架的必备指南

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

【Qt 学习笔记】Qt常用控件 | 按钮类控件QPushButton的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 按钮类控件QPushButton的使用及说明 文章编号&#xff1…

Linux数据库自动备份 - 定时任务发到百度云盘、坚果云、邮箱附件

前言 1. 坚果云的webdav云盘最好! (免费账号每月1G上传流量) 2. 不建议数据库备份文件发送到SMTP邮箱,因为对方服务器非常容易当做垃圾邮件处理,而且发信的SMTP账号会被封禁(实测163发到QQ邮箱被封&…

new Ammo.btSoftBodyHelpers() 是 Ammo.js 中的一个构造函数,用于创建软体物体的辅助对象,提供了一些方法来创建软体物体

demo案例 new Ammo.btSoftBodyHelpers() 是 Ammo.js 中的一个构造函数,用于创建软体物体的辅助对象,提供了一些方法来创建软体物体。以下是它的一些重要信息: 入参:通常不需要传入参数。 出参:创建的新的软体辅助对…

SENet模型原理及代码介绍

一.模型简介: SENet的全称叫Squeeze-and-Excitation Networks(挤压-激励网络,简称SENet),于2017年提出,并拿下了当年的ImageNet分类比赛的冠军。ResNet是2015年ImageNet的冠军,2016年ResNeXt&am…

护眼台灯怎么选看哪些指标?细数五款性价比最高的护眼灯

在日常生活中,越来越多的人开始重视眼部保护。除了日常用眼要合理、阅读写作姿势要正确外,良好的用眼环境同样重要。很多人在写作、学习时都会开启台灯来补充光源,优化用眼环境。但如果台灯不护眼,反而可能加剧眼部疲劳、近视等问…

【服务器部署篇】Linux下Jenkins安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…

Java反序列化Commons-Collections-CC1链

环境搭建 JDK8u71以下,这个漏洞已经被修复了,这个JDK的以上版本都修复了漏洞 JDK8u65 下载地址 https://www.oracle.com/cn/java/technologies/javase/javase8-archive-downloads.html这个时候来到 pom.xml 配置Maven依赖下载CommonsCollections3.2.…