一、提高测试质量
开发的过程就是一个持续集成和改进的过程,而每一次修改都有可能产生错误。因此,当软件产品的应用环境、全部、甚至是一部分被修改时,都需要对软件产品重新进行测试。其目的是验证修改后的系统或者产品的质量是否符合规格说明。例如,对于产品型的软件,每发布一个新的版本,其中大部分功能和界面都和上一个版本相似或完全相同,这部分功能特别适合于自动化测试。由于自动测试工具提供了简便的回归测试,能以便利的方式验证是否有新的错误进入软件产品。这样既节省了重复手工输入的工作量,保证了测试案例的一致性,避免了人为因素。
二、提高测试效率
软件系统的规模越来越大,功能点越来越多,达到几千个上万个,人工测试非常耗时和繁琐.这样必然会导致测试效率低下。而自动化测试工具可以较好地执行这些频繁的测试任务。在充分并合理地使用了测试工具以后,可以减轻测试工程师的手工测试工作,同时,测试工具还可以把控制和管理引入整个测试过程,能够保证测试的进度。
三、提高测试覆盖率
通过自动化测试工具的录制回放及数据驱动来测试功能,可以提高测试覆盖率。通过测试工具的辅助分析功能.可以提高测试的深度。
四、执行手工测试不能完成的测试任务
有些非功能性方面的测试利用人工测试是不可能实现的,例如压力测试、负载测试、大数据盘测试以及崩溃性测试等。这些测试需要找若干台电脑和同样数目的操作人员在同一时刻进行操作,然后拿秒表记录下反应时间,这样的手工作坊式的测试方法不切实际且无法捕捉程序内部变化情况。
五、更好地重现软件缺陷的能力
自动化测试具有更好的一致性和可重复性,由于每次自动化测试运行的脚本是相同的,所以每次执行的测试具有一致性,人是很难做到的。由于自动化测试的一致性,很容易发现被测软件的任何改变。
六、更好地配置资源
理想的自动化测试能够按计划完全自动地运行,在开发人员和测试人员不可能实行三班倒的情况下。自动化测试可以胜任这个任务,充分地利用资源,也避免了开发和测 试之间的冲突。
2018-03-07