现在竞争越来越激烈,作为软件产业更是如此,为此越来越多的软件工作用缩短项目周期和减少资源使用,催促测试尽快又好的完成来增加自己的核心竞争力。同时,由于现在的软件的复杂性,多是使用的迭代的开发过程,所谓的迭代指的是,在较短的时间间隔内生产出多个可执行,可测试的版本,对于这样的开发情况,测试的工作量将会越来越大,因为对于每一个迭代出来的软件版本我们都需要进行系统的全面的测试,当中有一些是重复的,冗余的,所以,自动化测试被人们越来越多的接受和期待。首先我们要弄清楚什么是自动化测试?按照软件自动化测试生命周期方法学来说:软件的自动化测试定义的是各种测试活动的管理和实施。

  引入自动化测试有一定的必然性,表现在以上的几个方面:

  一:测试本身是复杂的一项工作;

  二:有些测试是手工无法实现的,比较突出的有性能方面的测试;

  三:人工测试较难提供精确的测试结果,需要提交要不是在源代码中加入读取测试结果的特速变量或者函数,但是这样做,无形中增加了开发人员的工作量,同时维护也比较的麻烦,要同时维护两个版本,一个是提交给用户使用的版本,一个是测试的版本;例如一种方法是使用工具,

  四:测试是一项重复性很高的工作,对于一些不需要人的智慧去判断结果的测试可以引入自动测试来提高测试的效率,准确率,缩短测试的周期和减少测试人员的工作量,实现无人值守,自动执行;

  说了这么些自动化测试的好处但并不代表自动化测试是神话了,有一些对于它的认识误区是需要注意的,例如:根据软件自动化测试生命周期方法学来说,自动化测试分为以下几个阶段:

  一:自动测试的决定;

  二:测试工具的获取;

  三:自动测试的引入;

  四:测试计划,设计和开发;

  五:测试的实施和管理;

  六:测试的评审和评估;

  以上的决定,计划的制定,测试需求的制定,开发出的具有可重用性,可维护性,简单性,健壮性的脚本等工作都是离不开人的支持和参与的

  同时自动化测试也并不是适合所有的测试,现在的测试工具目前来说还没有任何一款能够支持所有的系统环境,所以自动化测试与手工测试是相辅相成的,谁都不能独立的存在。

  例外在引入自动化测试工具的时候个人建议如下:

  是否需要引入测试工具,需要的话,评审需要的测试工具类型,评审通过之后,对于候选的测试工具进行调查和评分,之后进行肯定性的评估结果,通过引入工具并且应用于整个工程,总之我们引入的测试工具是要能适应企业全部系统工程环境的,大的发挥出工具的作用是了。