[转] 一个企业的自动化测试实施真实案例

1、 自动化测试实施故事背景介绍
   顶级公司是一家国内小有名气的软件企业,经营项目主要是为移动和电信客户提供软件产品解决方案,随着电信业的发展,公司规模也在蓬勃扩张,从2000年 到 2008年,软件开发团队已经有了一百多人。看到这样的局面,公司管理高层又喜又忧,喜的是电信市场扩大给公司带来很多机会,忧的是电信软件市场竞争日益 激烈白热化,客户对产品的质量要求一天比一天“苛刻”,而发布给客户的软件的问题总是层出不穷,解决不完,客户似乎对本公司产品抱怨越来越多,这样下去, 势必会影响公司的业绩,甚至是将来的生存。顶级公司的管理高层已经看到了这个危险的信号,决定把软件质量提升一个重要的高度,并计划在管理高层设置一个产 品质量总监的角色,他们最终选定了在外企具有多年软件质量管理经验的黄先生。
  黄总监上任后,分析了顶级公司软件组织中存在的问题,做了如下两件事。
  第一,组建正式的软件测试团队,成立独立的软件测试部门,并建立规范的软件测试流程,希望使得软件测试更加有力和有效。
  第二,推行自动化测试,来实现“测多”和“多测”,希望可以使手工测试人员从重复性的劳动解放出来,而把精力投入一些“灰色区域”测试,来发现更多的潜在的bug。
  2、 自动化测试实施场景回放
  在这样的一个局势下,作为新成立的测试部门的负责人,李经理虽然手下“兵不算多,马不算壮”,团队一共有4个手工测试人员,但是新组新气象,大家都摩拳擦掌,想尽快作出一番业绩来。
  李经理所在的测试部负责一个电信管理平台的测试,基于web 的UI。由于客户经常提出对UI的修改要求,每一次修改,就要进行一轮的手工测试,因此重复工作量非常大。
  1)【决策】
  【人物】:李经理,测试人员小张,小赵,小孙等
  【地点】:某次会议上
  李经理:我统计了一下,客户这个月提出产品界面和功能的修改有15处,开发部修改了代码后,工作量和时间的压力就传到了我们测试组,所以这个月大家忙得焦头烂额,不停地手工回归测试,大家对这种局面有什么想法和建议?
  小孙:太郁闷了,开发人员三天两头就提交一个版本,我现在每天都在重复测试同样的功能和界面,真不知道我们现在的工作到底是有什么意义。
  小张:回归测试也不能不做,昨天我发现开发人员修改了查询模块后,导致管理员用户无法登陆系统了,这样的问题要是到了客户那里,就严重了。
  李经理:对,回归测试必须要做的。
  小赵:对了,我在网上看到有人说,使用第三方测试工具QTP,只要录制一次,就能自动生成脚本,然后回放脚本,QTP就能像人一样在Web页面上进行点击,输入等操作了。如果真能这样,我们让QTP来帮我们做测试,怎么样?
  李经理:恩,这是个好主意,前两天开会时,黄总监还提到要推广实施自动化测试。咱们争取做在前头,小赵,就由你来负责一下这个事吧,你研究一下QTP自动化测试的可行性,如何?
  小赵:……好的,给我一个月的时间……
2)【预研】距离决策,两个星期过去了
  【人物】:李经理,小赵
  【地点】:小赵的电脑旁
  李经理:小赵,QTP研究得怎么样了
  小赵:唔,我已经使用QTP自带的flight demo程序,学会了录制和回放脚本,但是我也发现QTP不是当初想象的那么简单,因为我录制我们的测试案例,发现所有的菜单操作回放的时候都报出错误 了。在网上查了一些资料,据说是对象识别的问题,所以我现在正在研究对象库,还没搞明白,可能我还需要一个月的时间。。。
  李经理:看来实际困难超出我们的估计了,小赵,你有把握再过一个月就能解决问题么?
  小赵:这个,我也不太确信,因为我也无法预测前面还会有什么问题。但是我觉得如果请专业人士给我们做个QTP培训,应该会有很大帮助。
  李经理:恩,有道理。
  3)【改变】距离决策,一个半月过去了
  【人物】:李经理,测试人员小赵,小张,小孙
  【地点】:某次会议上
  李经理:上个月我们请QTP自动化测试专家做了一次培训,大家对QTP自动化实施有什么进展么?
  小赵:我现在已经能够录制和回放我们的测试案例了,我们的模块一共有123个测试案例,从编号1开始逐个做录制和回放,到现在总共完成了11个了。
  李经理:恩,不错。不过我们还可以再快些么?按照目前的速度,全部做完要五个月啊。我希望我们不要落在别的部门后面。
  小赵:这个,QTP脚本是基于VB script的,我以前没有编程经验,调试脚本比较花时间。。。
  李经理:原来这样。开发脚本其实也就是开发程序。对了,小张,我记得你以前做过vb script语言的开发有两年的时间,你能不能从小赵这里接手这项自动化测试任务?争取一个月后,让所有的自动化脚本都能运转起来,怎样?
  小张:好,我尽力。
4)【成果】距离决策,两个半月过去了
  【人物】:李经理,测试人员小赵,小张,小孙
  【地点】:某次会议上
  小张:我昨天终于完成了任务,用QTP完成了123个测试案例的自动化,下面我给大家演示一下成果。。。(小张演示)
  李经理:非常好,看来我们往下就可以用这些脚本做回归测试了。
  5)【结局】却是
  【结局】
  (1)小张因为自动化测试演示的成功,展示了其软件开发能力,而获得了一个开发职位,于是,他毫不犹豫地转到开发部去了。
  (2)小张留下了数千行的脚本代码,而无任何文档,因此没人能看懂,更谈不上对脚本进行修改和扩展。但是脚本还可以继续运行,因此测试部门还沿用它来做回归测试。
  (3)在回归测试中发现,产品界面一旦变更,就会有部分测试案例运行失败,测试人员花了很长时间才定位出这不是产品的问题,而是脚本的问题。
  (4)在多轮回归测试之后,产品终于发布给用户了,但是仅仅过了一天,用户就愤怒地打电话投诉到顶级公司:产品有一个非常重要的管理功能根本就 不能work。李经理赶紧调查,发现这个功能正是一直由脚本来进行自动化测试的,但奇怪的是,虽然这个功能有问题,但自动化测试从来没有报过错。经过排查 认证,了解到,小张当时为了能让脚本迅速运转起来,省却和忽略了一些检查点和验证的功能。
  (5)李经理离职后,新一任测试经理上任后,认为原有的自动化测试文档不全,设计不清,维护不力,所以他决定弃用原先的脚本,重新开始开发自动化测试。

posted on 2011-02-14 14:23  I'm morning  阅读(913)  评论(0编辑  收藏  举报

导航