自动化测试的开发模式(一)
上一篇 /
下一篇 2012-04-22 22:06:38
/ 个人分类:自动化测试
回首公司这些年在自动化方面走过的路,总结一下这些得与失,个人简单把
自动化测试的开发分为三个大的模式:
手工与自动化测试合而为一的模式。手工与自动测式由同一个批人来实现。这种方式最简单而高效的方式。但是这种模式要想成功是有前提的:一
工作强度不是很大,二人员素质要比较高,三人员的稳定性要好。这种模式在国外一些老牌的IT公司常见。在这种公司中,经常会在一个公司工作了一二十年的老法师。而国内的IT很难做到这一点。大大部分只是这种模式开始,慢慢转向手工与自动各自为战的模式。
手工与自动各自为战的模式。这种模式下面还可以再分为两种:一种手工与自动测试合作的模式,另外一种处于竞争模式,手工是在没有自动化时的备用方案。
开源模式+敏捷。这种方案结合上面两种方案一些优点,能够应对人员的流动性与技术的传承性问题。他强调在组织内部分享与传递知识。并对组织结构有一定要求:蚁族式的社区结构。
手工与自动化测试合而为一的模式。手工与自动化测试为同一批人。公司往往会用这样的模式来开始自动化之旅。当然这样做的初衷也是美好的,让手工与自动化合而为一,在项目的初期手工测试。等产品稳定了,或者在项目闲的时间来实现自动化。这样可以人员一直处于有忙碌状态,又没有各种transfer的杂事,也不会出现同一件事情需要两批人做两遍(一边是手工,一边是自动化)。所以这种模式是既经济又实惠。当然采用这种方式,在前期要对手工人员进行大量关于自动化工具方便培训。另外还需要手工人员具有编程能力(而这一点在国内比较困难)。前期培训完成之后,那些人可以根据项目与个人的时间安排,开始自动化脚本的开发,以及后面的执行使用。
这样做的好处呢:保证了测试脚本的有效性.因为它可以保证手工测试与自动化测试尽可能的一致,脚本实现的就是他所要测的。二是结果检查效率很高。自动化测试一个很大的瓶颈就是结果的检查。自动化会产生大量的结果数据。而Big Data分析也才是随着IT技术的发展而浮出水面的新命题,而对于这个命题目前还没有发展成熟的好的解决方式。所以在方面要目前主要是凭经验来做。经验越丰富,效率越高。因为他对产品这个功能与脚本最熟悉的人。所以他是最佳的结果检查人选。并且他还可以根据结果不断的优化自己的脚本。这是一个良性的循环。
当然这些都需要时间的。自动化测试初期投入是很大。如果工作强度非常大,项目进度很紧,往往会出现结果,没有时间自动化。另外自动化测试本质也是软件,是对测试思维逻辑与相关知识的固化。而人的思维能力在一个相对轻松环境下才能充分发挥。如果工作强大很大,人一旦有空闲的时候,往往想到是休息,而不是对现状的思考与优化。即使思考了也没有时间与精力去付诸于实施。
这样做的另外一些隐患是这种模式开发的脚本开发随意性比较大。每一个人一个代码风格。代码的可读性差,难以与他人的脚本的集成。最终的后果。这些脚本不能传承,可能除了他自己没有人能够用他的脚本。当然要解决这个问题,一个是手工人员要具有一定
软件开发的经验,另外那就是人员的稳定性。并且人员的稳定是这种模式的根本。人员不稳定,技术传承性就会很差并且会一直停留在技术的低层次水平,并且前期的培训投入,都会变成无效的。
待续。。。
相关阅读:
- 走在自动化软件测试的道路上 (xin_晴, 2012-5-14)
- 走在自动化软件测试的道路上(二)------我们应该做什么? (xin_晴, 2012-5-15)
- 自动化测试:功能测试设计七技巧 (xin_晴, 2012-5-18)
- 成功的自动化测试:敏捷测试员与程序员之间的合作 (xin_晴, 2012-5-18)
- 可维护自动化验收测试 (xin_晴, 2012-4-28)
- 自动化测试框架之robot framework的应用分析 (xin_晴, 2012-5-04)
- Android/OPhone单元测试指南1 (cmriqa, 2012-5-07)
- 初步介绍自动化测试 (xin_晴, 2012-5-25)
- ABC项目的自动化测试方案 (xin_晴, 2012-5-11)
- 借鉴ASP.NET的控件模型辅助UI自动化测试 (xin_晴, 2012-5-31)
收藏
举报
TAG:
自动化测试
开发模式
手工与自动化