前言:

  ● 自动化测试不只是测试的自动化,应当是流程的自动化

  ● 自动化测试是一种软件开发交付过程

  ● 自动化测试成败在于自动化项目的质量与可维护性

  自动化测试对于在黑盒与手工测试工作的大部分人来说,都会比较向往,因为自动化测试很有成感; 对于直接在自动化测试行业工作的新人来说,会比较迷茫,因为这个较为新生的领域不像开发行业那么成熟;

  其实,自动化测试和手工测试一样,是一种测试方法,只是你智力与思维转化的结果; 关键看你是否适合,心态是否正确。

  同时,它的发展前景不亚于任何开发行业,你既可以接触专业的自动化测试技术,又可以掌握相关的开发技术,并且可以接触专业的测试专家。

  自动化测试的范围

  一般我们很难直接限定自动化测试的内容,但以我的理解,先从不适合的方面排除之,你可以试着看一下。

  在混乱的项目流程中,不适合推广和试行自动化测试。 自动化测试也是一种项目交付过程。

  如果被测项目流程不明确,过程责任不清,没有准确公平的数据度量,

  ● 开展了自动化测试效果难于评估,做也白搭

  ● 没有清晰的交付测试流程,自动化测试经常的变更成本,以及没有开发支撑的自动化只能从表面下手,导致维护成本过高。

  ● 自动化测试能够将流程工具化,这点体现的效果易于得到整体研发的认可与支撑,效果也是极显著的。

  打个比方,本来是在公路上(不完善的流程)运行汽车,你非要改进效率跑火车(自动化),适得其反。

  自动化测试的关键点之一,在于流程,流程在于人去完善,去改进。然而流程在年少时人的性格,在年长时也改变不了太多,我们自动化要符合流程去做,需要完善的我们去补充完善。而完善流程,不是一味的提要求,而是合理的惯力的要求,更多的时候应该建设平台来支撑流程,让人做到简化。

  一旦流程的完善,自动化随之正规化,可量化的自动化需求,项目成员明确自动化的成本与成果,以及相关自动化约束(例如某个自动化接口实现)。 自动化的成功自然随之而然。

  所以,自动化测试不只是测试的自动化,而应当是整个流程的一种自动化与完善。

  在实施自动化的时候,处理流程相关,好遵寻:完成相关自动化项目显示效果 -> 要求改进流程 -> 实现流程过程的自动化

  这样带来的项目压力较小,容易获得所需的资源。

  自动化测试的过程

  有了流程不代表我们肯定会成功,更何况一般需要我们通过自动化测试的成功来带动流程的推进。

  自动化测试首先是一种软件开发与交付过程,无论后的执行与维护是谁!

  自动化测试与软件开发过程基本相同,也要经历: 需求->设计->编码->交付 四个核心过程。 与普通的开发过程不一样的是

  ● 自动化需求并不是实际的强制性需求,能够有弹性,关键的是自动化项目所定下的效果,各利益相关者必须在自动化项目效果期望上达成一致。

  ● 一般自动化设计过程相对较为简单,如果有可伸缩好的框架,这个设计过程可以在很短时间搞定。

  ● 自动化的维护周期会比较长,所以设计高维护的自动化脚本是必然的。

  在实际中,从手工测试过程中学习自动化的人,甚至有对版本管理工具如何管理代码不清楚,那么他去做自动化必然是失败的。

  当项目经理对自动化效果期望很高时(这点可以理解,一般人对自动化期望都比较高),而你没有将实际的风险与效果评估展现与说服给他时,算自动化再成功,这个项目依然得不到所得的效果。