自动化测试基本策略 软件测试
第1章 自动化测试的好处
1.回归测试,降低测试成本
对于产品型的软件或生命周期长的项目,经常会有新功能的开发或需求的变动,对于新发布的软件功能,大部分都和上一个版本相近或相同,这些功能如果在上一个版本之前已经实现了自动化测试,那么新发布的版本中,这部分功能就可以自动化测试实现,避免了重复测试的成本,也确保了软件的质量。
2.提高测试效率
一些测试用例手工测试是比较繁琐的,比如话单或协议字段的检查,如果是人工检查将是一件既繁琐又耗时还容易出错的工作,如果是自动化测试,测试就会变得轻松和容易很多。
对于检查点很多的测试用例,如果手工执行一步都需要停下来检查好几个复杂的检查点,测试的效率自然是非常低,使用自动化测试,设置好了输入条件和预期结果,只要点击按钮运行一下脚本就知道了复杂的测试结果。
3.易于发现软件的改动
自动化测试脚本可以重复执行,容易发现软件的任何变动。比如修复了一个TR后,引起原功能的改动,执行相同的脚本,可以通过测试轻易发现问题。
4.充分利用资源
自动化测试可以不需要人在现场的情况下自动执行,发布了一个新版本的软件后,可以在白天的上班时间进行新功能的手工测试,原有功能的自动化测试可以在晚上或周末执行,第二天上班就可以看到执行的结果。这样充分利用时间资源,提高测试的效率,也避免了开发和测试之间的等待。
5.性能测试
在一些压力大的性能测试中,人工是很难模拟的。在没有引入自动化测试工具之前,为了测试并发,研发中心再加上公司的其它部门上千号人在研发经理的口令“1-、2-、3!”的号召下,大家同时按下同一个按钮。这样的测试,虽然是模拟了并发,但需要消耗相当大的成本,想要测试一次也不容易。
在性能测试中使用自动化测试,可以轻易模拟并发,为性能压力测试提供了更好的方法。
6.将精力投入更有意义的测试
自动化测试减轻了很多重复的工作,我们有更多的时间去思考如何提高软件的质量,制定详细的测试计划,精心设计测试用例,构建更复杂的测试。对于我来说,这是自动化测试给我带来的最大的好处。
自动化测试的好处有很多,但并不意味着自动化测试可以取代手工测试,也不意味着任何的系统都适合自动化测试。自动化测试的意义并不是取代人在测试中的位置,而是将人从重复繁琐的工作中解放出来,做更有价值的测试工作。
第2章 自动化测试基本原则
2.1 适合做自动化测试的软件