读者提问:
什么是自动化测试,自动化测试的动机和时机是什么 ?
阿常回答:
自动化测试的本质是先写一段代码,然后去测试另一段代码。
所以实现自动化测试用例本身属于开发工作,需要投入大量的时间和精力,并且已经开发完成的用例还必须随着被测对象的改变而不断更新,你还需要为此付出维护测试用例的成本。
1、自动化测试可以替代大量的手工机械的重复操作,QA可花更多的时间在更全面的用例设计和新功能的测试上。
2、自动化测试可以大幅提升回归测试的效率。
3、自动化测试可以更好的利用无人值守时间,非工作时间执行测试,工作时间分析失败用例。
4、自动化测试可以高效实现某些手工测试无法完成或代价巨大的测试类型,比如关键业务7*24小时持续运行的系统稳定性测试和高并发场景的压力测试等。
5、自动化测试可保证每次测试执行的操作以及验证的一致性和可重复性,避免人为的遗漏和疏忽。
1、需求稳定,不会频繁变更。
2、研发和维护周期长,需要频繁执行回归测试。
3、需要在多种平台重复执行相同测试的场景。
4、某些测试项目通过手工测试无法实现,或者手工成本太高。
5、被测软件的开发较为规范,能够保证系统的可测试性。
6、测试人员已经具备一定的编程能力。
阿常碎碎念:
产品比项目更适合做自动化,因为通常产品维护周期较长,通过实现自动化避免大量执行手工重复的回归测试,可显著提高测试效率。
实际工作中也不要过于盲信自动化,自动化也是有开发成本和维护成本的,如果自动化的收益不足以抵消开发维护成本,倒不如执行手工测试了。