测试自动化的好处(与手工测试相比)

在不断变化、更短的发布周期、迭代开发过程和企业应用程序日益复杂的 IT 世界中,测试是软件开发生命周期(SDLC)中的业务关键步骤。对于计划保持竞争力的组织来说,测试过程的自动化是必不可少的,因为这些变化将继续加速并进一步影响软件开发。

构建成功的测试自动化实践对于许多开发组织来说是一项具有挑战性的任务。成熟的开发组织意识到,简单的 UI 测试自动化技术(如记录/回放)无法提供现代开发项目所需的投资回报率。

手工测试不是一种选择

手工测试所需的工作量太大,无法在每个测试周期中容纳现有代码的重复测试用例(手工回归测试)。单靠单元测试无法确保应用程序的质量,因为它不解决应用程序功能、集成或系统依赖性问题。由于这些原因,功能测试过程的自动化是必要的。

测试自动化的好处(与手工测试相比)

  • 以更少的人力资源更快地执行测试(更便宜)
  • 更频繁地执行(更早地发现问题)
  • 使用更多数据和更多配置执行(增加覆盖范围,降低风险)
  • 一致且可重复的测试结果(值得信赖的结果,降低风险)

然而,对于许多开发组织而言,构建成功的测试自动化实践具有挑战性。许多企业仍在为测试自动化项目而苦苦挣扎的原因有很多

  • 缺乏所需技能(测试自动化需要技术人员)
  • 维护工作(测试自动化对应用程序更改和波动很敏感)
  • 执行不一致(由于测试脚本和 AUT 之间未解决的同步点,测试自动化工具可能会提供不一致的结果)
  • 缺乏相关性/测试文档(没有将测试与特定需求和/或代码相关联,也没有明确记录的测试用例,不清楚实际测试了什么)

采用测试自动化获得的投资回报是以下各项之间的平衡

  • 开发自动化脚本的成本或时间
  • 维护脚本的成本
  • 使用计算机与人类运行脚本的好处
  • 能够连续一致地运行脚本的好处

软件测试技术的演变

许多软件测试技术随着时间的推移而发展,每种技术都为开发组织的不同成熟度级别提供不同的好处和适用性

  • 线性(记录/回放)
  • 结构化/模块化(条件脚本、子例程、函数)
  • 数据驱动(参数、变量)
  • 关键字驱动(基于动作的抽象)
  • 混合(数据驱动和关键字驱动模型的组合)

成熟的开发组织意识到简单的 UI 测试自动化技术(如记录/回放和结构化/模块化)无法提供成功的开发项目所需的投资回报 (ROI)。这些组织正在采用关键字驱动和混合方法来应对自动化测试的挑战。

你可能感兴趣的:(单元测试,压力测试,测试用例)