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

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(使用前将#替换为@)

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

  • Python 如何安装Selenium(推荐)

    一 Selenium的定义 Selenium 是一个 Web的自动化测试工具 最初是为网站 自动化测试而开发的 Selenium 可以直接调用浏览器 它支持所有主流的浏览器 包括PhantomJS 这些无界面的浏览器 可以接收指令 让浏览器
  • 【性能测试入门】:压力测试概念!

    压力测试可以验证软件应用程序的稳定性和可靠性 压力测试的目标是评估软件在极端负载条件下的鲁棒性和错误处理能力 并确保软件在紧急情况下不会崩溃 它甚至可以进行超出软件正常工作条件的测试 并评估软件在极端条件下的工作方式 在软件工程中 压力测试
  • 【软件测试】学习笔记-高效提交Bug

    本篇文章介绍如何才能写出一份高效的软件缺陷报告 测试工程师需要利用对需求的理解 高效的执行力以及严密的逻辑推理能力 迅速找出软件中的潜在缺陷 并以缺陷报告的形式递交给开发团队 缺陷报告是测试工程师与开发工程师交流沟通的重要桥梁 也是测试工程
  • 外包干了2个月,技术退步明显...

    先说一下自己的情况 大专生 18年通过校招进入武汉某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • 【Mysql】InnoDB 引擎中的页目录

    一 页目录和槽 现在知道记录在页中按照主键大小顺序串成了单链表 那么我使用主键查询的时候 最顺其自然的办法肯定是从第一条记录 也就是 Infrimum 记录开始 一直向后找 只要存在总会找到 这种在数据量少的时候还好说 一旦数据多了 遍历耗
  • Jmeter 压测-性能调优5大注意

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • #私密朋友圈被吐槽有bug?官方致歉!网友:尴尬了......

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试/测试开发/全日制/测试管理丨Python关键字

    Python 语言有一些关键字 它们具有特殊的含义 不能被用作标识符 变量名 函数名等 False 布尔类型的假值 None 表示一个空对象或无值 True 布尔类型的真值 and 逻辑与操作符 as 用于给导入的模块起别名 assert
  • Locust负载测试工具实操

    本中介绍如何使用Locust为开发的服务 网站执行负载测试 Locust 是一个开源负载测试工具 可以通过 Python 代码构造来定义用户行为 避免混乱的 UI 和臃肿的 XML 配置 步骤 设置Locust 在简单的 HTTP 服务上模
  • APP端网络测试与弱网模拟

    当前APP网络环境比较复杂 网络制式有2G 3G 4G网络 还有越来越多的公共Wi Fi 不同的网络环境和网络制式的差异 都会对用户使用app造成一定影响 另外 当前app使用场景多变 如进地铁 上公交 进电梯等 使得弱网测试显得尤为重要
  • 测试开发必知:有Tomcat,为什么还要Nginx?

    只用Tomcat 不用Nginx搭建Web服务 行不行 我曾经提出的愚蠢问题 今天详细给自己解释下 为什么必须用Nginx 不用Nginx 只用Tomcat的Http请求流程 浏览器处理一个Http请求时 会首先通过DNS服务器找到域名关联
  • 测试用例评审流程优化

    测试用例 评审是QA日常工作流程中的关键一环 是QA同学完善测试用例 交流测试经验的好机会 负责组内测试用例建设以来 作者对于评审流程做了一些优化工作 本文作者将整个优化过程中的心得体会做了一个总结 希望能给大家带来帮助 01 原始流程 1
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 摸爬滚打多年的打工人,总结了三条职场真理,绝不假大空!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】!

    前言 最近在网上搜索前端自动化测试相关的文档 但是发现网上的文章都是偏使用 没有把一些基础概念说清楚 导致后续一口气遇到一些 karma Jasmine jest Mocha Chai BDD 等词汇的时候很容易一头雾水 这次一方面整理一下
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • Web自动化测试 —— cookie复用

    一 cookie简介 cookie是一些数据 存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时 在链接关闭后 服务端不会记录用户信息 二 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用

随机推荐