软件测试词典

首页

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

有用的资源

有用的资源 讨论


软件测试 - 测试自动化

软件测试通过自动化和手动技术执行。自动化测试是通过工具自动运行测试来执行的。它加快了测试活动并加快了软件开发速度。合适的手动测试用例被转换为自动化测试并与 CI/CD 管道集成,使开发过程快速、无缝、无错误、高效且更高效。

什么是软件测试自动化?

测试自动化涉及借助自动化工具创建脚本以验证软件。它允许在没有任何人工干预的情况下执行重复和冗余的测试步骤。通常选择不易执行的手动测试用例进行自动化。自动化测试脚本可以随时执行,因为它们遵循特定的顺序来验证软件。

自动化测试用例利用测试数据,然后对预期结果和实际结果进行比较。最后,生成详细的测试报告。测试自动化的主要目的是减少手动测试用例的数量。整个自动化测试套件可以多次重新运行以验证软件。然而,尽管自动化比手动测试有几个优势,但它永远无法完全取代手动测试。

测试自动化最终在很大程度上加快了测试活动。如果与 CI/CD 集成,那么自动化在软件开发过程中会提供更大的好处,因为它可以执行持续测试和轻松部署。

为什么我们应该从手动测试转向自动化测试?

由于以下列出的原因,我们应该从手动测试转向自动化测试−

  • 手动测试需要大量的精力和时间,并且容易出现人为错误。因此,自动化提高了软件的整体质量。
  • 自动化测试可以比手动测试更快地检测到错误。
  • 手动测试会暴露人为错误,但自动化可以在没有任何人工干预的情况下自动执行。
  • 自动化测试提高了测试覆盖率,因为仅靠手动测试不可能实现百分之百的测试覆盖率。
  • 自动化测试允许多次执行测试用例,从而提高软件的质量。

哪种测试应该考虑自动化?

可以考虑自动化的测试列在下面 −

哪种测试应该考虑进行手动测试?

可以考虑进行手动测试的测试如下所列 −

  • 探索性测试用例
  • 可视化回归测试用例
  • 不稳定的测试用例软件

自动测试和手动测试之间的差异

Sr.No 自动化测试 手动测试
1 它更可靠,使用不同的工具和测试脚本执行。 它不太可靠,需要人工干预,容易出现人为错误。
2 它严重依赖于自动化工具。 它严重依赖于人力资源。
3 这是一个非常快的过程,不需要人工干预。 这是一个非常缓慢的过程,严重依赖人工干预。
4 需要编程和技术知识。 不需要编程和技术知识。
5 大多数回归测试用例应自动化以提高软件质量。 大多数回归测试用例不是手动执行的。

自动化测试的类型

不同的自动化测试类型如下 −

测试自动化框架的类型

下面列出了不同类型的测试自动化框架 −

1. 线性框架

这是基于记录和播放功能的最基本的框架形式。使用此框架,测试人员可以开发和运行测试脚本。它主要由缺乏足够的脚本、技术和编程技能的团队使用。

2. 基于模块的框架

在这种方法中,每个测试用例被分成单独的模块,每个模块彼此独立。此外,还存在一个驱动程序脚本来控制这些模块。这种类型的框架需要测试人员进行广泛的规划、足够的脚本编写以及技术和编程技能。

3. 库架构框架

它是基于模块的框架的扩展。在这种方法中,每个操作都以函数的形式在测试脚本中分离出来。这些函数保存在一个易于访问的库中。这种类型的框架提供了更大的灵活性和可重用性。但是,开发和使用这个框架需要大量的时间、精力和知识。

应该自动化的测试类型

应该自动化的测试如下所列 −

  • 冗余、繁琐和重复的测试应该考虑自动化。
  • 需要在多个测试数据上执行的测试应该考虑自动化。
  • 集中在关键业务功能的测试应该考虑自动化。

测试自动化的步骤是什么?

测试自动化的步骤如下 −

步骤 1 − 第一步是选择正确的自动化工具。这可以通过可用资源、预算、测试目标等来确定。

步骤 2 − 第二步是确定项目中的自动化范围。

步骤 3 − 第三步是规划、设计和开发自动化脚本。

步骤 4 −第四步是执行自动化测试脚本。

步骤 5 − 第五步是根据软件中的最新更改维护测试脚本。

如何选择测试自动化工具?

可以通过考虑以下列出的因素来选择测试自动化工具 −

  • 易于使用 − 一些自动化工具很复杂,需要广泛的知识、技能和使用成本。
  • 对浏览器的支持 − 所选的自动化工具应支持在多个浏览器上进行跨浏览器测试。
  • 灵活性 − 所选的自动化工具应足够灵活,以便于采用。
  • 易于分析 −所选的自动化工具应能够在执行后生成快速仪表板和测试报告,从而支持轻松分析。
  • 成本 − 一些自动化工具是免费和开源的,而一些则需要许可和其他成本。
  • 支持 −所选的自动化工具应具有足够的社区支持来解决问题(尤其是免费工具)。

测试自动化的最佳实践

测试自动化的最佳实践如下 −

  • 测试脚本应清晰、记录良好且简单易用。
  • 应规划测试脚本的执行顺序。
  • 应通过自动化工具的自动调度功能触发测试脚本的执行。
  • 在发生重大故障时,应触发后续警报以进一步分析这些故障。
  • 应根据测试计划开发测试脚本。

用于测试自动化的工具

用于测试自动化的不同工具如下 −

  • Selenium
  • UFT
  • Appium
  • Silkuli
  • Cypress
  • PlayWright
  • Apache JMeter

测试自动化的优点

下面列出了测试自动化的优点 −

  • 测试自动化无需任何人工干预即可执行,并且在执行过程中可以无人看管。测试结果在运行结束时进行分析。因此,它使执行过程变得简单而高效。
  • 测试自动化提高了软件的可靠性。
  • 测试自动化增加了测试覆盖率。
  • 测试自动化减少了测试中出现人为错误的可能性。
  • 测试自动化节省了大量的时间、精力和金钱。它具有巨大的投资回报。
  • 测试自动化可以更快地反馈软件,从而尽早发现缺陷。

测试自动化的缺点

测试自动化的缺点如下 −

  • 测试自动化的设置最初需要大量的时间、精力和成本。
  • 不可能实现百分之百的测试自动化。
  • 自动化所有类型的场景和用例是不可行的。
  • 测试自动化可以由经验丰富、具有技术专长和编程知识的测试人员执行。
  • 如果测试脚本中有错误,测试自动化可能会给出假阳性或阴性结果。

结论

这就是我们对软件测试自动化教程的全面介绍。我们首先描述了什么是软件测试自动化,为什么我们应该从手动测试转向自动化测试,哪种测试应该考虑自动化,哪种测试应该考虑手动测试,自动化测试和手动测试有什么区别,自动化测试有哪些不同的类型,测试自动化框架有哪些不同类型,测试自动化的优点是什么,测试自动化的缺点是什么。这使您具备了软件测试自动化的深入知识。明智的做法是继续实践您所学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。