这是我购买的”极客时间”上的一套课程的笔记,总共52讲,定期对其中的内容做一笔记,巩固学习内容。
04 为什么要做自动化测试?什么样的项目适合做自动化测试?
什么是自动化测试
自动化测试是,把人对软件的测试行为转化为由机器执行测试行为的一种实践。
自动化测试的本质是写一段代码用于测试另一段代码。当用例的维护成本高于其节省的测试成本时,自动化测试就失去了价值与意义。
为什么需要自动化测试
- 替代大量手工机械重复性劳动
- 提升回归测试效率
- 利用无人值守时间频繁执行测试
- 高效实现某些手工测试无法完成或者代价巨大的测试类型,如关键业务7x24小时持续运行的系统稳定性测试和高并发场景的压力测试
- 保证每次测试执行的操作以及验证的一致性和可重复性
自动化测试的劣势
- 不能取代手工测试,只能替代手工测试中执行频率高、机械化的步骤
- 远比手工测试脆弱
- 自动化测试的开发工作量远大于单次手工测试
- 自动化测试仅能发现回归测试范围内的缺陷
- 测试的效率依赖自动化测试用例的设计及实现质量
- 初期自动化测试用例开发效率低
- 业务知识和自动化技术需要紧密结合,才能高效开展自动化测试
- 自动化测试开发人员需要具备一定的编程能力
什么样的项目适合自动化测试
- 需求稳定,不会频繁变更。
- 研发和维护周期长,需要频繁执行回归测试。
- 需要在多种平台上重复运行相同测试的场景。
- 某些测试项目通过手工测试无法实现或者手工成本太高:如性能和压力测试。
- 被测软件的开发较为规范,能够保证系统的可测试性。
- 测试人员已经具有一定的编程能力。
【心得】
作者阐述的这些,在实际项目中也是深有体会。关于自动化测试,之前也阅读过国外的一些文献资料,整体大同小异吧。具体的我在博客上也有发过其他文章来聊自动化测试,这份笔记中就不做太多的补充说明。