5、更好的利用资源--周未/晚上
  理想的自动化测试能够按计划完全自动的运行, 在开发人员和测试人员不可能实行三班倒的情况下, 自动化测试可以胜任这个任务, 完全可以在和晚上执行测试. 这样充分的利用了公司的资源,也避免了开发和测试之间的等待.
  6、解决测试与开发之间的矛盾
  通常在开发的末期,进入集成测试阶段, 由于每发布一个版本的初期,测试系统的错误比较少,这时开发人员有等待测试人员测试出错误的时间. 事实上在叠代周期很短的开发模式中,存在更多的矛盾, 但自动化测试可以解决其中的主要矛盾。
  7、增加软件信任度
  总之,自动化测试的好处和收益是很明显的,但也只有顺利事实了自动化测试才能从中获得它的益处。
  (二)、 自动化测试-- 误区、限制自动化化测试好处很多,但也有很多的局限,也正因为很多老板对自动化测试的期望太高,所以有很多执行自动化测试失败的例子。
  1、 期望自动化测试能取代手工测试
  不能期望自动化测试来取代手工测试, 测试主要还是要靠人工的。
  2、期望自动测试发现大量新缺陷
  同样不能期望自动化测试去发现更多新的缺陷, 事实证明新缺陷越多,自动化测试失败的几率越大。发现更多的新缺陷应该是手工测试的主要目的。测试专家James Bach总结得 85%的缺陷靠手工发现,而自动化测试只能发现15%的缺陷。
  其实我认为自动化测试能够很好的发现老缺陷。
  3、工具本身不具有想象力
  工具毕竟是工具,出现一些需要思考、体验、界面美观方面的测试,自动化测试工具无能为力。
  4、技术问题、组织问题、脚本维护
  自动化测试的推行,有很多阻力,比如组织是否重视, 是否成立这样的测试团队,是否有这样的技术水平,对于测试脚本的维护工作量也挺大的,是否值得维护等等问题都必须考虑。
  (三)、 不适合自动化测试情况
  自动化测试不是适合所有的公司、所有的项目。
  1、定制型项目(一次性的)
  为客户定制的项目,维护期由客户方承担的,甚至采用的开发语言、运行环境也是客户特别要求的,即公司在这方面的测试积累少,这样的项目不适合作自动化化测试。
  2、项目周期很短的项目
  项目周期很短,测试周期很短,不值得花精力去投资自动化测试,好不容易建立起的测试脚本,不能得到重复的利用是不现实的。
  3、业务规则复杂的对象
  业务规则复杂的对象,有很多的逻辑关系、运算关系,工具很难测试。
  4、美观、声音、易用性测试
  人的感观方面的:界面的美观、声音的体验、易用性的测试,也只有人来测试
  5、测试很少运行:一个月只运行一次
  测试很少运行,对自动化测试是一种浪费。自动化测试是让它不厌其烦的、反反复复的运行才有效率。
  6、软件不稳定
  软件不稳定,则会由于这些不稳定因素导致自动化测试失败。只有当软件达到相对的稳定,没有界面性严重错误和中断错误才能开始自动化测试。
  7、涉及物理交互
  工具很难完成与物理设备的交互,比如刷卡的测试等。
  (四)、什么样的情况适合自动化测试自动化测试之所以能在很多大公司实施起来,是有它适合自动化测试的特点和高的投资回报率。
  1、产品型项目
  产品型的项目,每个项目只改进少量的功能,但每个项目必须反反复复的测试那些没有改动过的功能。这部分测试完全可以让自动化测试来承担, 同时可以把新加入的功能的测试也慢慢地加入到自动化测试当中。
  2、增量式开发、持续集成项目
  由于这种开发模式是频繁的发布新版本进行测试,也需要自动化测试来频繁的测试,以便把人从中解脱出来测试新的功能。
  3、能够自动编译、自动发布的系统
  要能够完全实现自动化测试,必须能够具有自动化编译,自动化发布系统进行测试的功能。 当然,不能达到这个要求也可以在手工干预下进行自动化测试。
  4、回归测试
  回归测试试自动化测试的强项,它能够很好的确保你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。
  5、多次重复、机械性动作
  自动化测试喜欢测试:多次重复、机械性动作,这样的测试对它来说从不会失败。比如要向系统输入大量的相似数据来测试压力和报表。
  6、需要频繁运行测试
  在一个项目中需要频繁的运行测试,测试周期按天算,能大限度的利用测试脚本,提高工作效率。
  7、将烦琐的任务转化为自动化测试