当前位置: 首页 > news >正文

软件测试要学习的基础知识——白盒测试

白 盒 测 试

白盒测试是通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试,以确定实际运行状态与预期状态是否一致。

白盒测试又被称为:

透明盒测试

结构化测试

逻辑驱动测试

基于代码的测试

白盒测试的常用技术分类

一、静态分析:

数据流分析

控制流分析

信息流分

二、动态分析:

逻辑覆盖

循环覆盖

基本路径覆盖

优缺点

一、优点:

迫使测试人员去仔细思考软件的实现

可以检测代码中的每条分支和路径

揭示隐藏在代码中的错误

对代码的测试比较彻底

让软件最优化

二、缺点:

昂贵

无法检测代码中遗漏路径和数据敏感性错误

不验证规格的正确性

原则(采用白盒测试方法必须遵循以下原则)

保证一个模块中的所有独立路劲至少被测试一次

对所有的逻辑判定均需测试取真和取假俩种情况

在上下边界及可操作范围内运行所有循环

检查程序的内部数据结构,保证其结构的有效性

工具

jtest java语言的单元测试框架

JUnit验证java的工具

cppunit跨平台的c++单元测试框架

gtest跨平台的c++单元测试框架

PhpUnit Php

Bounds Checker C++,Delphi API和OLE错误检查、指针和泄露错误检查、内存错误检查

True Time C++,Java,Visual Basic代码运行效率检查、组件性能的分析

插桩原理

对jvm的字节码插桩

基于block插桩

计算覆盖的代码块

逻辑覆盖

语句覆盖:就是指每条语句至少执行一次

判定覆盖:每个判定的分支都要至少执行一次

条件覆盖:要使每个判定的每个条件应取到各种可能的值

判定/条件覆盖:要同时满足判定中各条件的每一种组合至少出现一次

条件组合:是指每个判定中各条件的每一种组合至少出现一次

路径覆盖:程序当中的每一条可能的路径,至少被执行一次

点覆盖:选取足够多的测试数据,使得程序执行路劲至少经过流图的每个结点一次

边覆盖:选取足够多的测试数据,使程序的每条可能路径都至少只执行一次

白盒测试

正确使用白盒测试,就要先从代码分析入手,根据不同的代码逻辑规则,语句执行情况,选用适合的覆盖方法,任何一个高效的测试用例,都是针对具体测试场景的,逻辑测试不是片面的测试正确的结果或是测试错误的结果,而是尽可能全面地覆盖每一个逻辑路径。

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

http://www.jsqmd.com/news/216354/

相关文章:

  • 【车牌识别】多雾环境停车计费系统【含GUI Matlab源码 14868期】
  • Z-Image-Turbo中文提示词优化:快速搭建实验环境
  • 教育创新篇:构建面向AI搜索时代的GEO人才培养新体系
  • 基于深度学习的豆瓣电影推荐系统设计与分析(源码+万字报告+讲解)(支持资料、图片参考_相关定制)
  • 2026年GEO服务商深度探析:AI时代品牌“算法战”的突围路径
  • Fireblocks 斥资 1.3 亿美元收购 TRES,将打造首个「数字资产操作系统」?
  • AI绘画商业应用指南:如何用预装Z-Image-Turbo的云端GPU快速产出商用素材
  • 治理升级篇:AI搜索时代GEO应用的伦理、合规与敏捷治理框架
  • 授权单位实战+专属应急队,湖南省网安基地如何用真实项目与应急响应锻造安全精英
  • 【车牌识别】基于matlab GUI多雾环境停车计费系统【含Matlab源码 14868期】
  • 如何写出谷歌和读者都爱的博客文章?SEO内容创作行动指南
  • 【车牌识别】模板匹配汽车出入库收费系统(带面板)【含GUI Matlab源码 14869期】
  • 收藏!35岁Java老兵弃10年经验转大模型,6个月拿大厂offer的破局指南
  • 当AI开始写论文:一场关于效率与学术诚信的深度对话
  • 一种新式的电子软起动器在钢厂的应用(源码+万字报告+讲解)(支持资料、图片参考_相关定制)
  • 【车牌识别】基于matlab GUI模板匹配汽车出入库收费系统(带面板)【含Matlab源码 14869期】
  • AI绘画版权保护实战:基于预配置环境的Z-Image-Turbo数字水印集成
  • 2026年顶级内容创作指南:AI时代下,8项不可替代的核心技能
  • 基于深度学习的人脸性别识别方法研究(源码+万字报告+讲解)(支持资料、图片参考_相关定制)
  • 电动打气泵方案pcba设计研发
  • 网络安全零基础完全指南:一张知识图谱构建你的完整知识体系(收藏这一篇就够了)
  • 制动器设计说明书(源码+万字报告+讲解)(支持资料、图片参考_相关定制)
  • 性能测试必备知识|如何管理Redis的内存?全是硬货
  • 游戏开发者福音:一小时构建Z-Image-Turbo角色概念图生成系统
  • 得物Java面试被问:方法句柄(MethodHandle)与反射的性能对比和底层区别
  • AI绘画新选择:无需代码基础,三步部署通义Z-Image-Turbo WebUI
  • 懒人专属:5步搞定阿里通义Z-Image-Turbo WebUI云端部署
  • 告别CUDA地狱:用预配置Docker镜像一键部署Z-Image-Turbo开发环境
  • Node.js用workerData传递数据
  • 机车车载设备信号采集(源码+万字报告+讲解)(支持资料、图片参考_相关定制)