自动化测试的开发模式(一)

上一篇 / 下一篇  2012-04-22 22:06:38 / 个人分类:自动化测试


回首公司这些年在自动化方面走过的路,总结一下这些得与失,个人简单把自动化测试的开发分为三个大的模式:
    手工与自动化测试合而为一的模式。手工与自动测式由同一个批人来实现。这种方式最简单而高效的方式。但是这种模式要想成功是有前提的:一工作强度不是很大,二人员素质要比较高,三人员的稳定性要好。这种模式在国外一些老牌的IT公司常见。在这种公司中,经常会在一个公司工作了一二十年的老法师。而国内的IT很难做到这一点。大大部分只是这种模式开始,慢慢转向手工与自动各自为战的模式。
   手工与自动各自为战的模式。这种模式下面还可以再分为两种:一种手工与自动测试合作的模式,另外一种处于竞争模式,手工是在没有自动化时的备用方案。
   开源模式+敏捷。这种方案结合上面两种方案一些优点,能够应对人员的流动性与技术的传承性问题。他强调在组织内部分享与传递知识。并对组织结构有一定要求:蚁族式的社区结构。


手工与自动化测试合而为一的模式。手工与自动化测试为同一批人。公司往往会用这样的模式来开始自动化之旅。当然这样做的初衷也是美好的,让手工与自动化合而为一,在项目的初期手工测试。等产品稳定了,或者在项目闲的时间来实现自动化。这样可以人员一直处于有忙碌状态,又没有各种transfer的杂事,也不会出现同一件事情需要两批人做两遍(一边是手工,一边是自动化)。所以这种模式是既经济又实惠。当然采用这种方式,在前期要对手工人员进行大量关于自动化工具方便培训。另外还需要手工人员具有编程能力(而这一点在国内比较困难)。前期培训完成之后,那些人可以根据项目与个人的时间安排,开始自动化脚本的开发,以及后面的执行使用。
这样做的好处呢:保证了测试脚本的有效性.因为它可以保证手工测试与自动化测试尽可能的一致,脚本实现的就是他所要测的。二是结果检查效率很高。自动化测试一个很大的瓶颈就是结果的检查。自动化会产生大量的结果数据。而Big Data分析也才是随着IT技术的发展而浮出水面的新命题,而对于这个命题目前还没有发展成熟的好的解决方式。所以在方面要目前主要是凭经验来做。经验越丰富,效率越高。因为他对产品这个功能与脚本最熟悉的人。所以他是最佳的结果检查人选。并且他还可以根据结果不断的优化自己的脚本。这是一个良性的循环。

当然这些都需要时间的。自动化测试初期投入是很大。如果工作强度非常大,项目进度很紧,往往会出现结果,没有时间自动化。另外自动化测试本质也是软件,是对测试思维逻辑与相关知识的固化。而人的思维能力在一个相对轻松环境下才能充分发挥。如果工作强大很大,人一旦有空闲的时候,往往想到是休息,而不是对现状的思考与优化。即使思考了也没有时间与精力去付诸于实施。
这样做的另外一些隐患是这种模式开发的脚本开发随意性比较大。每一个人一个代码风格。代码的可读性差,难以与他人的脚本的集成。最终的后果。这些脚本不能传承,可能除了他自己没有人能够用他的脚本。当然要解决这个问题,一个是手工人员要具有一定软件开发的经验,另外那就是人员的稳定性。并且人员的稳定是这种模式的根本。人员不稳定,技术传承性就会很差并且会一直停留在技术的低层次水平,并且前期的培训投入,都会变成无效的。

待续。。。


TAG: 自动化测试 开发模式 手工与自动化

victor_gw_li的个人空间 引用 删除 victor_gw_li   /   2012-05-28 18:23:07
哈哈,谢谢楼上的意见,各自为战这个叫法,我也觉得别扭,但是暂时还没找到合适的叫法。由于这一段时间比较忙,后两种模式的思考,还没有整理出来。等整理出来,欢迎指正。

拜读了您的文章,不错,以后多交流
lyfi2003的个人空间 引用 删除 lyfi2003   /   2012-05-26 23:40:33
敏捷當然是最推荐的,但是,一般我们没法控制整个研发体系转向敏捷。

各自为战这个说的不好,实际上是测试提交需求让自动化完成,大部分目的是保证快速回归。这个模式我认为是可能最不好的,除非在特定的项目或公司。

项目内有自动化又有手工是最好了,大家统一由项目进度管理。 至于测试发展的大局观,自我推荐下,有一点点收获就成了:
http://www.51testing.com/?uid-312752-action-viewspace-itemid-814534
 

评分:0

我来说两句

日历

« 2024-04-09  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 11595
  • 日志数: 11
  • 建立时间: 2012-04-18
  • 更新时间: 2012-08-06

RSS订阅

Open Toolbar