我的QQ:18324258 朋友们,如果需要交流,请直接联系我的QQ,并说明相互学习,不要留给我QQ号,我不会动不动就上来看的。希望多交流,谢谢!

盲目的测试自动化崇拜

上一篇 / 下一篇  2009-06-29 17:28:34 / 个人分类:软件测试

 

呵呵,群上的高手们在谈测试的培训,我不是做培训的,但我也参加过培训和招聘到测试培训的人。针对培训的效果这里不说了。我想说说测试的自动化。

 

首先,究其自动化火爆的原因,我想有以下几个,首先,觉得自动化了可以减少人工工作量。其次,自动化后可以让领导看到测试部门的直接成效。还有,自动化可能让个人觉得更有成就感。毕竟,天天重复的手工测试和自动化给人带来的满足感是不可同日而语的。

 

但实际上呢?自动化真正减少了你的工作量吗?自动化让领导看到了成效了吗?自动化让你的价值提高了吗?

 

第一个。自动化减少了手工的工作量了吗?

   首先,你要理解自动化也是软件开发,是软件开发就要有投入,有投入就要计算一下你的投入和回报。你可能听了很多微软的培训,自动化细到某一个函数,但微软的某自动化,实现后未来的10年都在用(微软的老师说的),而你的自动化呢?? 未来的一年,两年?还是一个月,两个月?  如果你是项目型,并且随着市场或需要的变化,程序需要不断变更的情况下,你的自动化开发和维护会占用多长时间? 你的自动化完成后,能节省你的工作量吗? 还是让你陷入了另一个痛苦:天天抱怨开发这儿又改了,那儿又改了。

   所以在你考虑自动化前,先计算一下投入产品比吧。 我个人觉得,如果你把测试流程做好了,把开发生命周期中的前期的评审做好了,产品的质量会有很大的改善的,而不是把精力花费在自动化测试上。

 

第二个。自动化让领导看到测试部有技术积累,显的有成效。

   我觉得领导认为你的测试部技术比较差,或者说测试没有什么效果,和你实现了自动化是没有关系的。 可能领导说,你的测试连个自动化也没有,人家很多公司都有了。所以我们也搞一个。 呵呵,如果你想讨好领导,那没有问题啊,做吧!!  如果自动化让你的前途更光明,那还犹豫什么呢?  问题是你想过没有? 当你的自动化某一天不再能够运行,或者你的自动化对产品的质量没有什么大的改善的情况下,你又怎么对领导交待当初你做自动化的动机呢?难道你就说,领导让做就做啊,现在没有什么用也不关我事。

 

可我觉得,这关你事的。 首先,领导对可能测试不了解。他想到做什么就做什么。但做为专业的测试人员不应该这么想。提高软件测试部门的威信有很多种方式。实现自动化是一种,但不是唯一。请你在做自动化之前行想想:自动化能帮助提高产品的质量吗?能增加测试的深度或广度吗?让增加领导或开发部门对测试部门的认同度吗?想好了你再做吧。

 

第三个。自动化能让自己的价值提高。 呵呵。我觉得完全错误。 外国的思维、理念传到中国就成了有特色的了。 很多外面的企业是实现了自动化,也写了很多书,包括最佳实践之类的。但人家是有基础的。而传到中国,就变成手工测试是低下的,自动化测试是高尚的了。 说到底没有测试的基础,理论,没有测试分析的能力,自动化不就是一个初级程序员吗?难道懂得录制回放,就高人一等了?? 虽然这样说有点偏激,但有一些人就是有这样的想法。 招聘也一样,一年测试经验,刚刚学会填写BUG,就要求会用自动化工具。殊不知,会用是一个概念,而在实际中能用又是一个概念。 找个高中山,培训两天都知道录制,回放和基本的参数化。真不知道技术含量在哪里? 

 

 而且,自动化测试最强调的是架构,没有架构,就写脚本,简直是象没有设计,就盖房子一样,如果不倒那是奇迹了。

 而且,我并不认为手工测试是低下的工作。 BUG的发现是靠想象力和创造力的。不是只懂得01的计算机可以替代的。

 

 呵呵,一通胡说。乱七八糟。


TAG:

Flora测试天地 引用 删除 florazhang800   /   2009-10-14 14:52:07
5
白素的个人空间 引用 删除 白素   /   2009-09-30 11:04:43
3
小雪的窝窝 引用 删除 lachesis999   /   2009-08-21 00:36:30
学习了!
箭在行动的个人空间 引用 删除 箭在行动   /   2009-08-18 10:57:42
看了大家的评论,我颇有感触。我才开始工作没有多久,虽然我并不认为自动化测试能够代替人工测试,但是我更倾向于自动化的测试。举个例子,产品就象自行车,测试就是骑自行车的人,随着时代的前进,自行车换成了小汽车了,骑自行车的人做在小汽车里,大家都见过蹬自行车的人,但是又有谁见过蹬小汽车的人呢?也许这个例子并不恰当,但我想说明的问题是,未来自动化的测试是必不可挡的趋势,只不过,做测试的人依然牢牢控制着“方向盘”而已。
这是我个人的一点浅见,欢迎大家PK。
翰海 引用 删除 aklszt   /   2009-07-20 22:38:39
1
KAM 引用 删除 kam   /   2009-07-12 12:22:40
写得不错
丢丢的空间 引用 删除 hotivy   /   2009-07-06 17:29:32
5
善行者 引用 删除 wldtzzming   /   2009-07-06 09:53:20
引用 删除 阳光小妮子   /   2009-07-05 21:54:38
很有道理。我做3年的自动化测试,发现自动化的架构搭不好,做自动化很累,投入产出比很低的,先不要说对产品质量有提升,我个人更加认为反而增加了测试的工作量。而且对于实现自动化的人来说,工作重复还没有技术含量。感觉在不停的优化这个,优化那个。
愚人也有梦想 引用 删除 愚人   /   2009-07-05 14:34:07
5
Always 引用 删除 victorcook   /   2009-07-01 22:14:40
cool, i like this kind of debate. go on.
风影飘飘花落雪 引用 删除 lf0026   /   2009-07-01 11:39:05
如果项目已经进入一个相对来讲比较稳定,后续很少进行大的改动时,可以考虑用自动化工具来进行测试,如果贸然使用.呵呵,光维护自动化测试脚本就是一个让人郁闷的事情
xingzunxi的个人空间 引用 删除 xingzunxi   /   2009-07-01 09:56:46
自动化的核心是执行测试用例,所以只有编写好得测试用例才能更好得发挥自动化,如果只简单得会利用自动化工具,我觉得是不行得,呵呵!
雪儿的个人空间 引用 删除 雪儿   /   2009-06-30 15:45:12
   billhu  说的完全正确。呵呵,因为当时讨论的是培训中录制回放类的自动化,所以也只针对这些乱说了一通。 呵呵,论题应该加上限制。
引用 删除 billhu   /   2009-06-30 13:36:52
思路太狭隘了。自动化的本质就是用计算机技术解决测试工作过程中的问题。我们做的软件都是为了解决各行业的问题。测试过程当然也可以用计算机技术解决一部分问题。注意,就像各行业不能依靠计算机解决所有问题一样,测试过程也不能依靠计算机解决所有问题。在计算机能够解决的问题领域中,测试执行只是极小的一方面。其他方面:测试分析、测试设计、测试管理、环境部署、数据准备……谁说自动化只能解决测试执行中的问题啊。即使是测试执行,谁又说一定要用商业工具通过GUI方式执行啊,即使是商业工具,谁又说一定要用捕捉、回放啊。计算机的技术很深、很广,可以解决各行业中的很多问题,难道不能解决大部分的测试过程问题?只不过是因为大部分的计算机技术掌握很深的人,都没有投入精力解决测试过程中的问题。否则测试的质量和效率,就不是现在的样子了。商业测试工具厂商,投入了一些资源,提出了一些解决方案,但是因其通用,对特定情况的针对性不强。而企业大都不会做这种投入。
曹向志的个人空间 引用 删除 曹向志   /   2009-06-29 17:45:23
支持言论自由
 

评分:0

我来说两句

Open Toolbar