测试自动化的计划和实施系列文章,最近开始酝酿思路,初步打算分为四个部分来组织,这也是我亲身经历的一个自动化项目的四个阶段,大家可以对号入座,看看你所在的公司或者组织处于自动化实施的哪个阶段?
第一个阶段:从无序到有序
这个阶段主要是自动化测试的引入,从一开始的无序的自动化测试,摸着石头过河,到慢慢找到一些窍门,其中的关键点/转折点是自动化测试系统或者说自动化测试平台的出现。这个时间大概持续了1年左右。这部分重点介绍如何找到通往有序的方法和思路。
第二个阶段:从烦杂到豁然开朗
这个阶段主要介绍基于原始的自动化测试系统开发积累到一定程度的问题显现。逐步暴露的问题在这个阶段到了非解决不可的程度,主要的问题是什么?解决的思路是什么?到也是我们自动化测试进展最艰难的时候。希望能对你有所帮助。
第三个阶段:从点到面铺开
这个阶段主要介绍自动化测试系统和平台的推广,好的平台是推广和大面积使用的前提和保证。如何保证平台在推广过程中能顺利?推广过程中我们遇到了哪些阻力?我们是如何解决这些阻力和克服困的?
第四个阶段:收获和ROI
这个阶段分析在自动化测试推广以后的一些问题,我们应该如何计算我们的产出和投入,投资回报应该如何计算? 这个阶段我们会遇到什么问题? 如何解决?
自动化测试的计划和实施第一阶段
从自动化测试决策的制定到决定进行实施,这中间有很多工作要做。包括说服你的老板,自动化是一个持续投入的过程,而且初期投入很大,短期内无法看到回报,而且要持续进行投入,不能半途而废,投入的过程中需要各个部门的通力合作,上至包括系统分析师,研发人员特别是研发部门经理,项目经理。下至系统测试部门等等,每个环节都跟自动化测试有着直接和间接的关系。 一旦决定开始进行实施自动化测试,就基本上没有回头的道路,因为前期的巨大的投入,导致如果想要中途终止,那么前期的巨大投入就是严重的资源浪费。
开头讲了一点题外话,现在开始介绍实施的第一阶段——从无序到有序。
我参与的这个产品的自动化项目开始于二零零三年初,从一开始就缺少经验,我们走过的每一步现在回想起来都是痛苦的经历。因为大家都没有类似的自动化经验,加上团队的每个成员基本上都是开发出身,加上项目进度紧张,缺乏必要的自动化测试理念和自动化测试的相关培训。更严重的事,这个时候,自动化刚刚起步,没有一个自动化的平台支持。 结果是每个工程师把一个单独的自动化测试项目(一个模块)作为一个独立的工具进行开发。结果导致自动化测试用例的混乱,而且无法进行维护。不同工程师开发出来的东西也是千奇百怪。自动化团队的工程师慢慢的失去了耐心和信心,产生了抵触情绪,这个为以后的自动化测试的顺利开展带来了一定的障碍。
这个时候的教训就是不能急于求成,不能为了一味的追求速度和效率。自动化团队的经理应该控制项目的节奏,不能妥协于项目的巨大压力。逐步培养自动化开发工程师的兴趣和探索动力。
另外就是自动化团队成员没有系统全面的培训和严格的规范约束,即使每个人都有能力开发出来自动化测试脚本,但是却难于维护和执行。这个时候我们就认识到自动化测试平台或者架构的重要性不仅仅在于使得测试脚本的开发更加容易进行,而且可以统一大家的思想和测试脚本的一致性。 在这之前我们对自动化测试平台的认识比较肤浅。
在不同的阶段,自动化团队的成员构成也不尽相同。在这个阶段,自动化团队的成员基本上都是自动化开发工程师。就是把手工的测试模块进行脚本化。然后可以自动化进行执行。
自动化测试的计划和实施第二阶段
第二阶段的副标题:从烦杂到豁然开朗
其实这是我们经历的真实的过程,从一开始的没有完整的自动化平台和对平台重要性的认识不足,加上缺乏相关的经验,这个过程可谓吃尽了苦头。这这个阶段,即使有了测试平台的支持,随着脚本技术的进步,我们仍然要为以后的维护和扩展付出很大的代价。
这样的痛苦过程经历了大概半年左右的时间,当随着脚本技术的探索思路越来越清晰的时候。其中最关键的里程碑是API概念的提出,就是一个分层的概念。其实也没有多少创意而言,只是在自动化测试概念中提出来,颇有一些不同。