优势:
- 自动化测试可以代替大量的手工机械重复性操作,测试工程师可以省下大量的时间来设计测试用例和新功能。
- 自动化测试可以大幅度提升回归测试的效率,非常适合敏捷开发。
- 自动化测试可以充分利用无人值守时间,来进行测试,特别是非工作时间执行,工作时间只需要分析一下测试的执行结果。
- 自动化测试可以高效的实现某些手工测试无法实现的或者代价巨大的测试。例如,关键业务7*24小时稳定性测试测试。
- 自动化测试还可以保证每次测试的
劣势:
- 并不能取代手工测试。
- 无法应对被测系统的变化。
- 开发工作量大,只有执行次数大于等于5次之上时,才能回收成本。
- 仅能发现回归测试的缺陷。
- 不稳定
- 用例开发效率低,后期需要重构。
- 业务测试人员和自动化测试人员是两批人。
使用场景:
- 需求稳定,不会频繁变动的场景。
- 研发和维护周期长,需要频繁执行回归测试的场景。
- 需要在多个平台上重复运行相同测试的场景。
- 通过手工测试无法实现或成本太高的场景。
- 被测软件开发较为规范,并且能够保证系统可测试性的场景。
- 测试人员已经具备编程能力的场景。