news 2026/1/10 3:25:26

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
软件测试要学习的基础知识——白盒测试
白 盒 测 试

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

白盒测试又被称为:

透明盒测试

结构化测试

逻辑驱动测试

基于代码的测试

白盒测试的常用技术分类

一、静态分析:

数据流分析

控制流分析

信息流分

二、动态分析:

逻辑覆盖

循环覆盖

基本路径覆盖

优缺点

一、优点:

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

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

揭示隐藏在代码中的错误

对代码的测试比较彻底

让软件最优化

二、缺点:

昂贵

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

不验证规格的正确性

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

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

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

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

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

工具

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个月整理的软件测试自学全栈,这些资料希望能给你前进的路上带来帮助。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/8 19:07:04

Z-Image-Turbo图像编辑功能实测:快速搭建对比测试平台

Z-Image-Turbo图像编辑功能实测:快速搭建对比测试平台 作为一名经常需要处理图片的摄影师,我最近被Z-Image-Turbo这款图像编辑工具吸引。它号称能在保持高质量输出的同时,大幅提升处理速度。但配置测试环境时,复杂的依赖关系让我头…

作者头像 李华
网站建设 2026/1/8 19:07:00

太牛了,Rust 从实验性语言发展成为 Linux 内核的核心语言!

曾被视为“实验性尝试”的 Rust,如今已经在 Linux 内核中完成转正。 在 2025 年底举行的 Linux Kernel Maintainer Summit 上,内核社区正式达成共识: Rust 不再是实验语言,而是 Linux 内核的长期核心语言之一,与 C 并列。 这标志着 Linux 内核在系统编程语言上的一次重要…

作者头像 李华
网站建设 2026/1/8 19:05:44

收藏!后端/新手转大模型实战指南:避开90%人踩的坑,6个月可求职

大模型赛道的热度始终居高不下,我的后台每天都被大量相似却戳心的提问填满,这些问题精准命中了转型者和入门者的共同痛点: “做了3年后端开发,想转大模型,求一份能直接落地的转型方案?”“大模型课程从9.9元…

作者头像 李华
网站建设 2026/1/8 19:04:08

基于深度学习的人脸性别识别方法研究(源码+万字报告+讲解)(支持资料、图片参考_相关定制)

摘要 随着计算机对海量数据处理能力的提升,人脸识别技术得到了快速的提高,同时也成为众多研宄人员研宂的热门课题。人脸的性别和年龄无疑是人类身份识别的重要信息之一。并且人脸性别识别和年龄估计对于智能商业,人口普查,人口老龄…

作者头像 李华
网站建设 2026/1/8 19:04:06

基于ensp模拟器的ipv6下一代校园网搭建与实现(源码+万字报告+讲解)(支持资料、图片参考_相关定制)

摘 要 本文的主要目的是解决和优化校园网的网络问题,改善网络环境,从而提高IPv6的利用率。本文的主要目的是解释与IPv6相关的技术。目前,校园网络中使用IPv4网络。为了实现IPv6的普及,校园网已被优化和配置为双向网络,…

作者头像 李华