测试基础-动态白盒测试

article/2025/10/15 21:13:18

1.动态白盒测试

定义:也称结构化测试。利用查看代码功能(作什么)和实现方式(怎么做)得到的信息来确定哪些需要测试、哪些不需要测试、如何开展测试。
动态白盒测试包括以下4个部分:

  • 直接测试底层函数、过程、子程序和库。
  • 以完整程序的方式从顶层测试软件,但是根据对软件运行的了解调整测试用例。
  • 从软件获得读取变量和状态信息的访问权,以便确定测试与预期结果是否相符,同时,强制软件以正常测试难以实现的方式运行。
  • 估算执行测试时“命中”的代码量和具体代码,然后调整测试,去掉多余的测试用例,补充遗漏的用例。

2.动态白盒测试和调试的区别

动态白盒测试:寻找软件缺陷;
调试:修复缺陷。

3.分段测试

从测试的角度看,产生高额费用有如下两个原因:

  • 难以有时甚至不可能找出导致问题的原因;
  • 某些软件缺陷掩盖了其它软件缺陷。

3.1 单元测试和集成测试

在底层进行测试称为单元测试或模块测试;单元经过测试,底层软件缺陷被找出并修复之后,就集成在一起进行集成测试。
这种递增测试有两条途径:自底向上和自顶向下。
自底向上:编写测试驱动模块发送测试用例数据,接受返回结果,验证是否正确。如图所示:
在这里插入图片描述
自顶向下:测试一个温度显示模块,编写一小段称为的代码充当接口模块,把温度值直接提供给显示模块。如下图所示:测试完温度显示模块后,再去测试温度计接口模块。
在这里插入图片描述

3.2 单元测试示例

4.数据覆盖

4.1 数据流覆盖

数据流覆盖主要指在软件中完全跟踪一批数据。在单元测试级,数据仅仅通过了一个模块或者函数。同样的跟踪方式可以用于多个集成模块,甚至整个软件产品。
如果在底层测试函数,就会使用调试器观察变量在程序运行时的数据,可以检查变量的中间值。

4.2 次边界

次边界先前的内容讨论过,如果进行白盒测试,就需要仔细检查代码,找到次边界条件,并建立能测试它们的测试用例。

4.3 公式和等式

查看公式使用的变量,在程序正常输入和输出之外,为其建立测试用例和等价划分。

4.4 错误强制

如果执行在调试器中测试的程序,不仅能够观察到变量的值,还可以强制改变变量的值。于是软件不得不处理一些非常规数值或者报告处理不了。

5.代码覆盖

与黑盒测试一样,测试数据只是一半工作。为了全面地覆盖,还必须测试程序的状态以及程序流程。必须设法进入和退出每一个模块,执行每一行代码,进入软件的每一条逻辑和决策分支。这种类型的测试叫做代码覆盖
专业工具:代码覆盖率分析器,可以获得指示软件哪些部分被执行,哪些部分未被执行的统计结果。

5.1 程序语句覆盖(代码行覆盖)

目标是保证程序中每一条语句最少运行一次。

5.2 分支覆盖

试图覆盖软件中所有的执行路径的方法。

5.3 条件覆盖

将分支语句的条件考虑在内,设计满足不同条件的测试用例。


http://chatgpt.dhexx.cn/article/73ewvsoK.shtml

相关文章

符合功能安全要求的动态测试工具-TESSY

Tessy是一个专门针对嵌入式软件的C/C代码进行单元、集成测试的工具,它可以自动化地执行测试、评估测试结果并生成测试报告。 Tessy的目标就是:通过自动化整个测试周期,支持针对C语言的单元测试/集成测试,同时,Tessy也…

软件测试复习03:动态测试——白盒测试

作者:非妃是公主 专栏:《软件测试》 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录 逻辑覆盖法:最常用程序插桩技术基本路径法点覆盖边覆盖边对覆盖主路径覆盖 符号测试错…

动态测试

动态测试 1.1 动态分析技术 虽然静态分析技术不需要软件的执行,而从动态分析本身来看更像是一个“测试”。它包含了系统的执行。当软件系统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析是动态分析的主要特点。动态分析包含了程序在…

软件测试复习04:动态测试——黑盒测试

作者:非妃是公主 专栏:《软件测试》 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录 等价划分法边值分析法错误推测法因果图法示例 习题 等价划分法 等价类:一个几何&…

动态测试方法

动态测试方法,通过实际执行代码去发现潜在代码错误的测试方法。 人工动态方法 人工动态方法,可以真正检测代码的业务逻辑功能,其关注点是“什么样的输入,执行了什么代码,产生了什么样的输出”,主要用于发…

linux同步时间服务器时间配置

linux时间同步简单配置如下(centos7.x): 安装时间服务器(系统一般会自带): yum install ntp ntpdate -y 时间服务器临时配置(重启该配置失效): ntpdate 192.133.203.89(时间服务器ip) 时间服务器配置: vim /etc/chrony.conf 进入vim编辑页面…

linux 多台机器修改时间同步

修改东八区 首先第一步,通过命令 :date -R 查看当前系统所在时区。如是0800,则是东八区,也就是我们当下的北京时间,如不是(如下图),做如下调整。 命令行键入命令:tzsele…

Linux时间同步:chrony

linux7以上版本都自带chrony服务 如果没有安装,则使用yum安装,如果安装了,请忽略 yum -y install chrony 说明:Chrony由两个程序组成,分别是chronyd和chronyc chronyd是一个后台运行的守护进程,用于调整…

linux同步时间(通过定时任务,按时同步时间)

安装同步器 yum install -y ntpdate同步时间(一次性同步,挂起或关闭虚拟机后时间再次不同步) ntpdate 0.centos.pool.ntp.org制作定时任务,同步时间 安装定时任务 yum –y install crontabs制作一个定时任务,设置开机自启 systemctl enable crond --now配置定时任务文件,添…

Linux同步时间的方法

方法一:非生产时使用 第一种是在所有机器上,使用连接工具的并发命令功能,同时运行修改时间命令,比如执行date -s “2019-05-25 17:00:00” ,这个方法适合自己测试环境用 第二种就是安装了一个ntpdate命令&#xff0c…

word中插入visio流程图的操作

1、首先需要将画好的流程图进行保存,注意保存的格式是vsdx 2、新建个word文档,找到插入-对象,打开如下: 3、点击由文件创建-浏览中找到你想插入的对应的visio的文件 4、找到之后,下一步就是直接点击确定,…

Visio如何裁剪图片

参考 Visio如何裁剪图片 - 云社区 - 腾讯云 1、首先点击打开Visio软件,如图所示 2、接着在Visio中装载需要处理的图片,点击文件-打开,如图所示 3、加载图片后,点击选中图片,如图所示 4、此时Visio上方菜单栏&#xf…

visio2019怎么对图片加箭头标注,Visio设置图片作为背景

visio2019怎么对图片加箭头标注,Visio设置图片作为背景 单个图片总时作为一个对象被标注,没办法标注细节,可以将图片作为背景,进行标注 首先,插入,新建页,背景页,把欲编辑的图片放…

流程图软件,visio,安装下载教程

建议:如果是插入到word中,建议使用2013版的visio,通过插入对象的方式,插入到word中。 方法一:插入-对象-新建visio 方法二:visio中画好图,插入-对象-由文件创建 这样的word中的visio对象&…

Microsoft Office Visio Professional 之包图

1 包的概念 1.1 包的定义 包(Package): 是UML用来组织模型元素的模型元素。 包中可以包含类、接口、构件、用例、结点、活动、状态、包等其他模型元素。 包是对软件模型进行分解、组织的有效的模型元素。 1.2 包的表示 UML用带把的矩形框来表示包。 1.3 包的关系 依赖关系泛化关…

visio标题怎么编辑?

第一步:点击“背景-1” 第二步:双击标题就可以出行文本框,然后可以编辑了 第三步:编辑完成 第五步:点击“页-1”返回就可以看到了,修改完成。欧耶!!! 一张图看懂性能测试…

Visio安装与下载

关于Visio2013版的安装与下载 Visio2013版的安装与下载教程 首先下载Visio2013,放个链接:https://pan.baidu.com/s/1G1C9cLH0uvcgtl2RShnRkw 提取码:jmiy 安装步骤: 找到下载的安装包,右键选择以管理员身份运行直接安…

如何在visio中画立体图形

最近写论文的时候要画立体结构图,起初没在visio中找到立体图像,问了同门,他和我说一笔一笔画,我不信!!! 最后终于找到了 —————————————————————————————— 0x00 …

【word小技巧】将visio图插入到word中

文章目录 实现步骤第一步:画一个visio图(随便画的哈)第二步,在visio图的空白处,右击,复制第三步:打开word,将光标放置需要插入visio图的地方,按ctrlv,就完成插入了 优点注…