软件测试词典

首页

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 应用程序测试 白盒测试 工作流测试

有用的资源

有用的资源 讨论


软件测试 - 灰盒测试

软件测试是黑盒、白盒和灰盒测试技术的组合。黑盒测试只关注软件的外部工作,而白盒测试只验证其内部结构,灰盒测试则是黑盒和白盒测试的组合。

什么是灰盒测试?

灰盒测试是将黑盒测试白盒测试方法融合在一起的测试。对于黑盒测试,测试人员不知道软件的内部情况,而对于白盒测试,他们非常熟悉软件的内部特性。因此,对于灰盒测试,仅验证由数据结构组成的部分软件内部。

测试生命周期中的灰盒测试

灰盒测试之所以这样命名,是因为测试人员并不完全了解软件的内部工作原理,但他们只具有部分知识(反映黑白组合形成灰盒)。它主要围绕验证软件中产生的上下文特定错误。

灰盒测试的目标

灰盒测试的目标列于下方 −

  • 它兼具黑盒和白盒测试技术的优势。
  • 它兼顾了开发人员和测试人员的知识。
  • 它有助于提高软件质量。
  • 它消除了完成功能和非功能测试的漫长过程。
  • 它为开发人员提供了大量时间来解决软件中的错误。
  • 它是从最终用户的角度而不是从软件设计的角度进行的。

灰盒测试中采用的技术

灰盒测试中采用的技术列于下方 −

矩阵测试

在这种类型的测试中,开发人员识别软件中潜在的技术和业务风险,然后验证它们。

模式测试

检查上一轮测试中检测到的所有缺陷,并从代码中识别出它们的根本原因。然后将所有错误原因转换为测试用例。

正交阵列测试

在这种类型的测试中,考虑每种输入组合来测试软件。它基本上基于黑盒测试技术。当测试用例数量不足且测试数据范围巨大时执行。该技术通过覆盖软件的大范围输入来帮助获得最大的测试覆盖率。

回归测试

进行这种类型的测试是为了验证最新的代码更改是否没有引入新的缺陷。因此,它可以确认软件中的现有功能是否按预期运行。

状态转换测试

这种类型的测试适用于在完整运行过程中状态会经历多次变化的软件。测试人员了解软件所经历的中间状态,并创建涵盖所有中间状态的测试用例。

决策表

决策表有助于总结软件需要遵守的所有业务规则。它们协助测试人员创建涉及各种数据组合和他们生成的相应输出的测试。

API 测试

灰盒测试主要用于验证具有不同有效负载组合及其响应的所有 API。

数据流测试

这种类型的测试主要侧重于验证整个软件的数据流、路径、过滤和通信。

灰盒测试的优势

灰盒测试的优势如下 −

  • 开发人员和测试人员在测试软件时完全了解对他们的期望。
  • 它是从客户的角度执行的。
  • 它不需要测试人员具备广泛的技术和编码知识。
  • 它有助于提高软件的整体质量。
  • 开发人员有更多时间修复在进行灰盒测试时遇到的缺陷。
  • 它融合了黑盒和白盒测试方法的优点。
  • 它不会造成测试人员和开发人员在同一主题上持有相反观点的情况。
  • 它被发现比对软件执行简单的集成测试更有效率。

灰盒测试的缺点

灰盒测试的缺点如下 −

  • 当灰盒测试应用于分布式软件时,缺陷隔离并不容易。
  • 测试人员无法完全访问软件代码及其路径和结构。
  • 它不能用于测试软件所基于的算法。
  • 很难为灰盒创建专用的测试用例测试。

结论

至此,我们对软件灰盒测试教程的全面介绍就结束了。我们首先描述了什么是灰盒测试、灰盒测试中采用的技术是什么、灰盒测试的优点和缺点。这使您具备了软件灰盒测试的深入知识。明智的做法是继续实践您学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。