自动化测试:通过自动化测试工具,按照预定计划进行自动的测试,目的是减轻手工测试的劳动量。自动测试的目的在于发现系统老的缺陷,而手工测试在于发现新的缺陷。
  自动化测试主要集中在软件测试流程的自动化管理及动态测试的自动化(单元测试、功能测试、性能测试)。
  自动化测试的好处
  1、对新版本执行回归测试:每发布一个新版本,其中大部分功能和界面都和上一个版本差不多
  2、解决手工测试非功能性方面的一些问题:压力测试、并发测试、大数据量测试、崩溃性 测试
  3、具有一致性和重复性:由于自动化是通过脚本来完成的,所以就可以保证每次测试时的数据一样的,而脚本可以被多次重复的使用
  4、解决频繁的大量的测试:在产品的开发完成后做回归和集成测试时,要对整个系统中的每个功能点频繁的测试
  5、可以充分利用周末或是晚上的时间
  适用场景
  1、产品型项目:
  2、增量式开发、持续集成项目
  3、能够自动编译、自动发布的项目
  4、回归测试:它能够很好的确保你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具
  5、需要重复地、机械性的测试:重复单一的数据录入或是击键等测试操作造成了不必要的时间浪费或人力浪费
自动化测试的选择
  1、选择尽可能少的自动化产品覆盖尽可能多的平台,以降低产品投资和团队的学习成本
  2、测试流程管理自动化通常应该考虑,以满足为企业测试团队提供流程管理支持的需求
  3、在投资有限的情况下,性能测试自动化产品将俦于功能测试自动化被考虑
  4、在考虑产品性价比的同时,应充分关注产品的支持服务和今后服务的完善性
  5、尽量选择趋于主流的产品,以便通过行业间交流甚至网络等方式获得更为广泛的经验和业务需求
  自动化测试的误区
  1、自动测试不能取代手工测试,测试的主体还是人工的
  2、自动测试能够很好的发现发缺陷,在不能发现大量新的缺陷,新的缺陷越多,自动测试的失败率也越高
  3、对于用户体验,界面美观等的测试自动化测试无能为力
  4、自动化测试对于测试脚本的维护的工作量是非常大的
  不适合自动化测试的场景
  1、定制项目:一次性的
  2、项目周期很短的项目
  3、业务规则复杂
  4、测试工作量很少
  5、程序不稳定:当程序不稳定存在很多严重错误或是可能崩溃