软件测试词典

首页

A

验收测试 可访问性测试 主动测试 实际结果 临时测试 老化测试 敏捷测试 全对测试 Alpha 测试 API 测试 Arc 弧测试 异常测试 断言测试 审计测试 自动化软件测试

B

向后兼容性测试 基线工件 基础路径测试 基础测试集 调试 行为测试 基准测试 Beta 测试 大爆炸测试 二进制可移植性测试 黑盒测试 自下而上测试 边界测试 分支测试 广度测试 Bug测试 构建验证 业务流程 业务需求

C

能力成熟度模型 捕获/重放工具 因果图 代码覆盖率 代码冻结 代码检查 代码审查 代码演练 基于代码的测试 代码驱动测试 无代码测试 比较测试 兼容性测试 合规性测试 并发性测试 条件覆盖测试 配置测试 一致性测试 上下文驱动测试 控制流路径 转换测试 正确性 覆盖项目 循环复杂度

D

数据完整性测试 数据驱动测试 数据流测试 数据库测试 调试 决策覆盖测试 缺陷 缺陷记录和跟踪 缺陷生命周期 Delta 发布 依赖性测试 深度测试 破坏性测试 开发环境 文档测试 域测试 耐久性测试 动态测试

E

模拟器 端到端测试 耐久性测试 准入标准 等价分区测试 错误 错误猜测 错误植入 详尽测试 退出标准 预期结果 探索性测试

F

故障转移测试 失败 故障 故障注入测试 可行路径 功能测试 功能分解 功能要求 功能测试 模糊测试 前端测试

G

玻璃盒测试 全球化测试 Gorilla 测试 灰盒测试 GUI 测试

H

测试工具 启发式测试 混合集成测试

I

实施测试 增量测试 独立测试 不可行路径 检查 安装/卸载测试 集成测试 接口测试 国际化测试 系统间测试 互操作性测试 隔离测试 问题

K

关键字驱动测试 关键绩效指标 已知问题

L

LCSAJ 测试 负载生成器 负载测试 本地化测试 逻辑覆盖率测试 循环测试

M

可维护性 手动测试 大型机测试 基于模型的测试 修改条件测试 模块化驱动测试 猴子测试 突变测试

N

负面测试 非功能性测试 非破坏性测试

O

操作测试 正交阵列测试

P

配对测试 成对测试 并行测试 部分测试自动化 被动测试 路径测试 同行评审 渗透测试 性能测试 试点测试 可移植性测试 积极测试 后置条件 前提条件 预测结果 优先级 流程周期测试 渐进式测试 原型测试

Q

质量保证 质量控制 质量管理

R

随机测试 恢复测试 回归测试 候选版本 发布说明 可靠性测试 需求测试 基于需求的测试 需求可追溯性矩阵 结果 重新测试 Review 审查 风险测试 风险管理 根本原因

S

安全性测试 健全性测试 可扩展性测试 场景测试 时间表 Scrum 测试 脚本 安全测试 模拟 冒烟测试 浸泡测试 峰值测试 软件需求规范 稳定性测试 状态转换 静态测试 统计测试 存储测试 压力测试 结构测试 结构化演练 存根 符号执行 语法测试 系统集成测试 系统测试 被测系统

T

技术评审 测试方法 测试自动化 测试基础 测试平台 测试用例 测试用例设计技术 测试套件 测试完成标准 测试完成报告 测试完成矩阵 测试数据 测试数据管理 测试驱动开发 测试驱动程序 测试环境 测试执行 测试管理 测试成熟度模型 测试计划 测试步骤 测试策略 测试工具 线程测试 自上而下的集成测试 全面质量管理 可追溯性

U

单元测试 无法访问的代码 可用性测试 用例测试 用户验收测试 用户界面测试

V

V 模型 验证测试 验证测试 虚拟用户 容量测试 漏洞测试

W

Web 应用程序测试 白盒测试 工作流测试

有用的资源

有用的资源 讨论


软件测试 - 白盒测试

软件测试依赖于多种类型的测试方法。其中一些方法需要测试人员了解软件的逻辑和编码。白盒测试技术评估内部架构、所用数据结构和代码的设计以及软件的运行情况。与黑盒测试不同,它并不专注于验证软件的功能。

什么是软件白盒测试?

白盒测试是一个包括验证软件内部结构和逻辑的过程。负责此工作的测试人员可以完全访问源代码。他利用自己对软件内部工作的了解以及技术技能来创建可以验证代码的测试。软件白盒测试也称为透明测试、开盒测试、结构测试或基于代码的测试。

验证软件的内部算法、流程和结构是白盒测试的主要目标。白盒测试用例涵盖了代码的不同路径和逻辑,以确保满足用户规范。

软件白盒测试主要针对哪些方面?

软件白盒测试主要针对以下列出的项目−

  • 软件白盒测试主要验证源代码使用的所有路径。它还涵盖所有决策路径,以确认它们是否是必需的、准确的和有效的。
  • 白盒测试利用静态代码分析技术来确定软件中所有可能的安全问题。
  • 白盒测试涵盖循环测试,以测试代码中的所有循环是否正常工作且有效。它还确保循环在范围内正确处理变量。
  • 白盒测试涵盖数据流测试,其中包括验证变量所采用的所有路径,以确认它们已被正确声明、使用和初始化。

软件白盒测试的类型

下面列出了不同类型的软件白盒测试 −

  • 单元测试 − 这种类型的测试由开发人员自己进行。
  • 集成测试 −这种类型的测试是在单元测试之后立即进行的。
  • 回归测试 − 这种类型的测试是为了验证任何代码更改是否在软件中引入了新的问题。

软件白盒测试中使用的技术

软件白盒测试中使用的技术如下所列 −

语句覆盖

在此方法中,主要目标是覆盖源代码中的所有语句和节点至少一次。它有助于确定代码的错误部分。

分支覆盖

在这种方法中,主要目标是至少覆盖一次源代码中每个决策点的所有分支。

条件覆盖

在这种方法中,主要目标是覆盖源代码中的所有条件。

多条件覆盖

在这种方法中,主要目标是覆盖在源代码中至少验证过一次的条件的潜在结果的每种组合。

基础路径测试

在这种方法中,首先创建控制流图,然后计算代码的圈复杂度。它有助于确定源代码中每个独立路径可以生成的测试用例的最小数量。

循环测试

在这种方法中,主要目标是覆盖每个循环以检测其开始和结束时的问题。

软件黑盒测试和白盒测试之间的差异

软件黑盒测试和白盒测试之间的差异列于下方 −

Sr.No 黑盒测试 白盒测试
1 测试人员不知道软件的内部工作原理。 软件的内部工作原理是测试人员所知道的。
2 它只处理输入到软件的输入以及从中生成的输出。 它处理独立的代码片段、算法、方法、函数等。
3 它只验证软件功能以及它们是否按照用户要求工作。 它验证软件的内部工作。
4 它不需要测试人员的技术技能和编程知识。 它需要测试人员的技术技能和编程知识。
5 使用等价划分、边界值分析、错误猜测等方法。 使用语句覆盖、边界值分析、数据流、控制流等方法。
6 主要关注软件的功能外围。 主要关注软件的单元、集成和系统级测试。

软件白盒测试流程

软件白盒测试流程如下 −

  • 输入 − 包括规范、需求、架构和设计文档以及源代码。
  • 处理 − 包括识别软件中所有可能的风险。
  • 测试规划 − 包括根据测试计划创建和执行测试用例。
  • 报告 − 包括评估测试执行结果并报告错误。完成后,报告将与利益相关者共享。

白盒测试工具的类型

不同的白盒测试工具列于下方 −

  • PyUnit
  • NUnit
  • Bugzilla
  • CSUnit
  • VeraUnit
  • CppUnit
  • Fiddler
  • OpenGrok
  • Wireshark
  • HP Fortify

软件白盒测试的特点

软件白盒测试的不同特点列于下方 −

  • 软件白盒测试有助于评估代码覆盖率,以便可以找到尚未测试的代码部分识别。
  • 软件白盒测试需要开发人员完全访问源代码。
  • 软件白盒测试需要测试人员的经验、技术技能和编程语言知识。
  • 软件白盒测试检测逻辑问题,即无限循环、不当条件等。
  • 白盒测试通过识别软件的各个组件来帮助进行集成测试。
  • 软件白盒测试有助于进行代码的单元测试。
  • 软件白盒测试通过确定性能瓶颈、额外代码等来帮助优化代码。
  • 软件白盒测试有助于执行安全测试,并识别代码中的各种安全漏洞。
  • 软件白盒测试验证架构和设计文档。
  • 软件白盒测试确保开发的代码符合标准、指南和合规性。
  • 软件白盒测试识别代码中的语法和逻辑错误。
  • 软件白盒测试确认代码的每条可能路径和迭代。
  • 软件白盒测试检测并删除代码中冗余和未使用的部分。

软件白盒测试的优势

软件白盒测试的优势如下 −

  • 软件白盒测试非常广泛,因为它可以验证完整的代码及其结构。
  • 软件白盒测试通过消除死代码来实现代码优化。
  • 软件白盒测试有助于在软件开发生命周期 (SDLC) 的早期阶段检测缺陷。
  • 软件白盒测试可以轻松应用于 SDLC。
  • 白盒测试有助于确定软件中的复杂错误。
  • 软件白盒测试有助于创建更详细、更高效的测试用例,以触及代码的所有路径。

软件白盒测试的缺点

软件白盒测试的缺点如下 −

  • 软件白盒测试需要技术技能、编程知识和对源代码的完全访问权限。
  • 白盒测试主要是专注于软件的内部工作,可能会忽略其外部错误。
  • 白盒测试可能由测试人员进行,他们可能会有偏见,因为他们已经熟悉软件的内部工作。
  • 白盒测试无法确定软件的功能,因为它仅涵盖可用的源代码,因此在实施过程中会忽略这些功能。
  • 软件白盒测试不能保证生产中不会出现任何缺陷泄漏。

结论

这就是我们对软件白盒测试教程的全面介绍。我们首先介绍了什么是软件白盒测试,软件白盒测试主要针对什么,软件白盒测试有哪些不同类型,软件白盒测试使用的技术有哪些,软件黑盒测试和白盒测试有什么区别,软件白盒测试的流程是什么,不同的白盒测试工具有哪些,软件白盒测试有哪些不同特点,软件白盒测试的优点有哪些,软件白盒测试的缺点有哪些。这使您具备了软件白盒测试的深入知识。明智的做法是继续实践您学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。