软件测试52讲笔记--04 为什么要做自动化测试?什么样的项目适合做自动化测试?

这是我购买的”极客时间”上的一套课程的笔记,总共52讲,定期对其中的内容做一笔记,巩固学习内容。

04 为什么要做自动化测试?什么样的项目适合做自动化测试?

什么是自动化测试

自动化测试是,把人对软件的测试行为转化为由机器执行测试行为的一种实践。

自动化测试的本质是写一段代码用于测试另一段代码。当用例的维护成本高于其节省的测试成本时,自动化测试就失去了价值与意义。

为什么需要自动化测试

  • 替代大量手工机械重复性劳动
  • 提升回归测试效率
  • 利用无人值守时间频繁执行测试
  • 高效实现某些手工测试无法完成或者代价巨大的测试类型,如关键业务7x24小时持续运行的系统稳定性测试和高并发场景的压力测试
  • 保证每次测试执行的操作以及验证的一致性和可重复性

自动化测试的劣势

  • 不能取代手工测试,只能替代手工测试中执行频率高、机械化的步骤
  • 远比手工测试脆弱
  • 自动化测试的开发工作量远大于单次手工测试
  • 自动化测试仅能发现回归测试范围内的缺陷
  • 测试的效率依赖自动化测试用例的设计及实现质量
  • 初期自动化测试用例开发效率低
  • 业务知识和自动化技术需要紧密结合,才能高效开展自动化测试
  • 自动化测试开发人员需要具备一定的编程能力

什么样的项目适合自动化测试

  1. 需求稳定,不会频繁变更。
  2. 研发和维护周期长,需要频繁执行回归测试。
  3. 需要在多种平台上重复运行相同测试的场景。
  4. 某些测试项目通过手工测试无法实现或者手工成本太高:如性能和压力测试。
  5. 被测软件的开发较为规范,能够保证系统的可测试性。
  6. 测试人员已经具有一定的编程能力。

【心得】
作者阐述的这些,在实际项目中也是深有体会。关于自动化测试,之前也阅读过国外的一些文献资料,整体大同小异吧。具体的我在博客上也有发过其他文章来聊自动化测试,这份笔记中就不做太多的补充说明。