软件测试—第六章白盒测试基本路径测试法

2023-11-18

一,基本路径法

1,为什么使用基本路径法

一是降低了测试用例设计的难度。只要搞清了各种流程,就可以设计出高质量的测试用例来,而不用太多测试方面的经验。

二是在测试时间较紧的情况下,可以有的放矢的选择测试用例,而不用完全根据经验来取舍。

2,什么是基本路径法

从一个程序的入口开始,执行所经历的各个语句的完整过程。在不能保证做到所有路径覆盖的前提下,需要对路径数量进行压缩,如果可以保证程序中每一个可执行的路径可以至少运行一次,则这种测试方法就是通常所说的基本路径测试方法

3,怎么开展基本路径法

  • 画出程序的控制流图
  • 计算环路复杂度,得到独立路径条数,条数为基本路径测试法所必须的测试用例数目的上界
  • 导出基本路径集,确定程序的独立路径
  • 根据3设计测试用例的输入数据和预期输出

(1)画出程序的控制流图

控制流图注意:

  • 如果判断中的条件表达式时由一个或多个逻辑运算符连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。
  • 包含条件的节点被称为判断节点,由判断节点发出的边终止于某一个节点

例如:

(2)计算环路复杂度V(G)

方法1:V(G)=边的数量-节点的数量+2

方法2:V(G)=判断节点的数量+1

(3)列出独立路径集

(4)准备测试用例

例题如下:

二,循环测试方法

1,为什么进行循环测试

检测循环结构的有效性

2,什么是循环检测

检测循环结构

3,循环检测怎么做

(1)测试简单循环

假设循环次数为n,则采用以下测试集:

  • 跳出循环
  • 只循环一次
  • 只循环两次
  • 循环m次,其中m<n
  • 分别循环 n-1,n,n+1次

(2)测试嵌套循环

  • 从最内层循环开始,所有外层循环次数设为最小值
  • 对最内层循环按照简单循环的测试方法进行
  • 由内到外进行下一个循环
  • 重复上一步的过程,直到测试完所有循环

(3)测试并列循环

各个循环相互独立,分别采用简单循环的测试方法。

三,白盒测试总结(单元测试)

1,白盒测试是基于代码的测试,单元测试是基于最小的代码组成单元

2,动态白盒测试的两个基本要素:被测试代码+测试数据(测试用例)

四,单元测试总结

1,为什么进行单元测试

(1)更容易定位错误,发现缺陷越早修复成本越低

(2)提高反馈速度,减少重复工作,提高开发效率

(3)利于提高代码质量,实现结构更合理和干净的代码

(4)更容易实现代码维护

2,什么是单元测试

(1)单元测试又叫做模块测试,着重对软件设计的最小单位进行验证

(2)单元测试发现模块内部的错误

(3)单元测试需要从程序的内部出发设计测试用例,通常采用白盒测试,可以并行独立进行测试

3,怎么进行单元测试

(1)驱动模块介绍

  • 驱动模块相当于被测模块的控制程序
  • 驱动模块接收测试数据,调用被测模块,把测试数据传入被测模块,被测模块执行后,将结果传给驱动模块,驱动模块接收后返回数据。

(2)桩模块的介绍

  • 桩模块的功能是代替被测模块调用的子模块
  • 桩模块可以实现少量数据的操作,不需要实现所有功能

(3)怎么实现测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试—第六章白盒测试基本路径测试法 的相关文章

  • 【性能测试入门】:压力测试概念!

    压力测试可以验证软件应用程序的稳定性和可靠性 压力测试的目标是评估软件在极端负载条件下的鲁棒性和错误处理能力 并确保软件在紧急情况下不会崩溃 它甚至可以进行超出软件正常工作条件的测试 并评估软件在极端条件下的工作方式 在软件工程中 压力测试
  • 等价类划分法

    专注于分享软件测试干货内容 欢迎点赞 收藏 留言 如有错误敬请指正 软件测试面试题分享 1000道软件测试面试题及答案 软件测试实战项目分享 纯接口项目 完整接口文档 软件测试实战项目分享 WEB 测试自动化项目实战 软件测试学习教程推荐
  • 软件测试开发/全日制/测试管理丨用户端 Web 自动化测试

    随着Web应用的普及和不断发展 用户端Web自动化测试成为确保Web应用质量的重要手段 这种测试方法不仅提高了测试效率 也帮助团队及时发现和解决潜在问题 确保用户体验的连贯性和稳定性 工具选择 用户端Web自动化测试的第一步是选择适当的工具
  • 软件测试|好用的pycharm插件推荐(五)——Translation

    前言 在我们的日常工作中 经常会遇到需要查看各个第三方库源码的问题 在很多情况下 我们的英语能力不能够满足我们完全读懂源码 所以我们就需要借助翻译工具来帮助我们理解第三方库的源码 如果我们将源码复制再使用其他工具翻译 会显得比较繁琐 如果有
  • JMeter 批量接口测试

    一 背景 最近在进行某中台的接口测试准备 发现接口数量非常多 有6 70个 而且每个接口都有大量的参数并且需要进行各种参数验证来测试接口是否能够正确返回响应值 想了几种方案后 决定尝试使用JMeter的csv读取来实现批量的接口测试 二 脚
  • 接口测试之Fiddler弱网测试

    前言 目前市面上的APP功能越来越丰富 移动端测试也越显为重要 因为用户在网速慢的情况下 你的网站 软件 总能出现各种各样的问题 请不要忽略这一点 针对在不同的网络情况下 接下来 本篇要讲述的就是在通过fiddler对APP进行模拟弱网测试
  • 软件测试/测试开发/全日制/测试管理丨Python深拷贝与浅拷贝

    深拷贝和浅拷贝是两种不同的拷贝方式 它们在处理可变对象 如列表 字典 时有着不同的行为 以下是深拷贝和浅拷贝的主要区别 1 浅拷贝 Shallow Copy 创建方式 浅拷贝通过复制原始对象 创建一个新对象 但对于原始对象中的可变对象 如列
  • Linux终端常见用法总结

    熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率 笔者结合自身学习实践 总结以下终端用法供同行交流学习 常 见 用 法 1 快捷键 1 1 Alt 在光标位置插入上一次执行命令的最后一个参数 1 2 Ctrl R
  • 2种方法,教你使用Python实现接口自动化中的参数关联

    通常在接口自动化中 经常会参数关联的问题 那么什么是参数关联 参数关联就是上一个接口的返回值会被下一个接口当做参数运用 其中Python中可以实现参数关联的方法有很多种 今天小编给大家介绍下 如何通过Python来实现接口自动化中的参数关联
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • 软件测试|使用matplotlib绘制多种折线图

    简介 在数据可视化领域 Matplotlib是一款非常强大的Python库 它可以用于绘制各种类型的图表 包括折线图 本文将介绍如何使用Matplotlib创建多种不同类型的折线图 并提供示例代码 创建模版 在绘图之前 我们可以先创建我们的
  • 软件测试|SQLAlchemy环境安装与基础使用

    简介 SQLAlchemy 是一个强大的 Python 库 用于与关系型数据库进行交互 它提供了高度抽象的对象关系映射 ORM 工具 允许使用 Python 对象来操作数据库 而不必编写原生SQL查询 本文将介绍如何安装 SQLAlchem
  • 软件测试|sqlalchemy relationship

    简介 SQLAlchemy是一个流行的Python ORM 对象关系映射 库 它允许我们以面向对象的方式管理数据库 在SQLAlchemy中 relationship 是一个重要的功能 用于建立表之间的关系 在本文中 我们将详细探讨 rel
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|pycharm关联GitHub的详细步骤

    简介 GitHub 是全球最大的开源代码托管平台之一 而 PyCharm 是一款强大的 Python 集成开发环境 将两者结合使用 可以提高团队协作和代码管理的效率 本文将详细介绍如何在 PyCharm 中管理 GitHub 账号 包括如何
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 摸爬滚打多年的打工人,总结了三条职场真理,绝不假大空!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结

随机推荐