作死的自动化测试【转--说出我的心声了】

尽管现在已经不再做自动化测试了,但是对自动化测试还是保持一直保持关注的。就像是尽管跟女神相隔两地,无缘一睹真容,但还是悄悄关注她的微博,默默的在朋友圈中刷出关于她的点点滴滴。

从业很多年了,做过很多项目,有成功有失败,但是自动化测试项目的失败率无疑是最高的。久而久之,便渐渐能够总结出一种自动化测试作死的节奏。

节奏一:大神,帮帮忙啊,救命啊,老是搞不定啊

这句话我经常看到,一般来说有时间的话,我会教你怎么去解决这个问题。不过几天后,类似的问题出现了,你还是解决不了。

首先,大神很忙。有些大神愿意分享,他们贡献的资料很多,但是,你不查,你不看,你总是认为"不耻上问"最直接,但大神帮你解决问题的同时又增加了你的惰性和依赖性,结果你进步的很慢,一直没有自信,后来问题太多,直接放弃。

遇到问题不要害怕,去网上搜一下,很多人会遇到同样的问题,大概看一下别人怎么解决的,然后自己举一反三,不仅解决了问题,而且还能有所进步,这才是正道。

后来有人问我问题,我一般的回答是"去网上搜一下XXXX",不是我不愿意帮你,我是在教你,无论做什么事,最后你只能靠自己。

一般遇到这种节奏的人学习能力恐怕是不强的,如果自动化测试交给这些人来做,那么作死是可以预期的到的。

提高自己的学习能力与纠错能力,遇事不慌,有一套比较好的解决问题的方法,坚持下去,慢慢的改进,慢慢的提升自己,这样就可以了。

节奏二:我看了,这些代码我都看过了,但是这个项目到底怎么做啊

这是典型的光说不练。我有一本书叫做webdriver实用指南,里面有很多代码,涵盖了ruby/python/java/watir-webdriver等。有人一再问我书里面提到的问题,我的回答总是:"这些代码你敲过了吗?",答曰:"没,但是我有看过了"。对此我只能哭笑不得,看过不等于做过,自动化测试项目说白了就是代码实践,光看不写是学不会堆代码的。因此,在做项目的时候,一定要多做,别只是在收集别人的意见,比如"你觉得我这个项目适合做自动化吗?", "我应该用什么工具做自动化啊?",别人总是旁观者,只有你亲自实验得出的结果才是准确的,不要把别人的意见当作圣旨箴言,自己实践才是第一要务。

对于自动化测试,我的理解是先把代码敲熟练了。如果一个工具或者代码不能掌握到得心应手的程度,那么做起项目来应该是困难重重的。还有,自己多写代码,多去理解错误提示,很多问题你自己就能顿悟了,不要遇到一点点小问题就去问别人,别人不但不会帮你,也许心里还会鄙视你,真的,我以前就被鄙视过。

看过不等于做过,这点很重要。就算你看过岛国所有一线女优的片子,但如果没做过的话,你仍然只是个可怜的处男,连逆袭的机会都没有。

节奏三:大神,为什么出错了啊

这是太言简意赅了。我很想帮你,但是在帮你之前我会先问一串:"你用的是什么工具,什么操作系统,什么编程语言之类",当然了,这是在我心情好的时候,有时候心情不爽,直接拉黑,整个世界就清静了。提问是有艺术的,把问题描述清楚,别人才好去帮你,不然没人会理你。然后你感到自己被忽略了,然后你伤心了,然后你吐槽了,然后你无力吐槽了,最后你放弃了。一样的作死的节奏。其实,只要你把问题描述清楚,然后去网上搜索一下,基本就能得到答案。记住,google是你最好的朋友,大神不是。

节奏四:我只要会xxx语言就可以了,其他的语言不需要

理论上这是正确的,但是语言说白了还是工具,在做一件很复杂事情的时候,单一的工具往往是难以很好的完成任务的。任何语言都有其擅长的部分,不擅长的地方,取长补短才是王道。我用过很多的语言,但是在做前端UI自动化的时候,我发现ruby+watir webdriver很方便,于是一直用,项目一直在做,几年了都没失败。但如果当年用的是java的话,我估计我们的产品在改版几次以后,这个自动化项目就要寿终正寝了。多学一点语言其实没坏处,不过如果你选择专注,那么你有你的道理,你可以坚持,没人会责怪你。

说了这么多作死的节奏,现在就稍微总结一下自动化应该怎么做。

原则一:能力使然

这个能力是指的综合能力。首先你要会测试,自动化测试毕竟是在用代码写用例。其次你要会写代码,你要把用例翻译成代码。不要迷信于录制回放工具,光用这个基本上做不成项目。而且会录制回放对你来说也没什么意义,任何一个人学习个一天一定能学会录制回放。做自动化测试实际上是对自身能力一个很好的提升,一定要抓住这个机会,不要去弄没啥技术含量的录制回放,学会了有什么用,大家都会录,凭什么让你录。

做自动化测试其实挺难的,会有很多困难,毕竟前端UI的东西是最容易变化的,但是如果你能力足够强大的话,这些变量对你来说总会有办法去克服。比如UI老是变,就可以封装一些page object的思想,让UI修改变得容易一些。还有用例老是跑出错,不如在代码里加入自动截图,一眼就能定位问题,代码维护起来自然就容易不少。

没有一个成功的自动化项目是菜鸟做成功的,当你做成功了一个项目以后,你自然就从菜鸟变成了高手。

原则二:不变应万变

UI总是在变,比孙悟空还会变。但是在变的过程中一定有一些东西是不变的,我们做自动化测试的时候要尽量用这些不变的东西。比如表单元素的name,一般不会频繁变动,相对稳定。另外数据是会变的,比如你进入一个工单的列表页面,有时候会有10条数据,有时候会有20条。有时候第一条数据的内容是A,有时候是B,这是因为数据在变化,这时候你只要让数据能固定住,这样进入工单列表后一定只有10条数据,第一条数据永远是A,那么你的用例写起来自然是神清气爽,难度不高,也容易维护。

原则三:团结一切可团结的力量

对我来说,很多时候我总是一个人在战斗。开发努力改一个迭代,改出若干新功能和若干bug,然后我更新对应的自动化用例。因为我的框架扩展性还不错,所以开发改两周的UI,我两天就能改完,不过如果老是我一个人在改,那么我一定会非常孤独吧。这时候不如让手工测试人员帮我一起改,对他们来说自动化是福音,能节约其回归的时间,所以改用例对他们来说是很有必要的一件事情,然后我教他们怎么改,他们学会了以后我就可以放手去做其他事情。现在我已经基本不做自动化了,原因就在这里,有人帮我做,而且比我更有动力去做。

原则四:把成果展示出来

我专门写了个报告平台来展示自动化的测试报告。一定要让团队成员知道你在干什么,报告是最简单的途径。成功的项目一定有很不错的报告,这点不容置疑。

原则五:可维护的代码

代码要容易读,容易改。看看我写的lazyman框架里的示例代码吧,再看看原生的webdriver代码,你应该会有所感触。记住,原生的webdriver代码一定是不太好维护的,没有框架支持和封装,原生的webdriver代码一般很难规模化,很难达到成百上千个用例的规模。好的框架可以使你事半功倍,不要迷恋原生代码,可以用,但不够用。

最后再来点Q&A

自动化用例从哪里来?

从手工用例中来,择其善者而从之,不善者而改之,仅此而已。

自动化用例要测到多细?

这要看你有多少时间和人力。时间多人手够就细一点,不然就粗放一点,保证能节约回归成本就好。

我的项目老是在改UI,是不是不适合自动化?

这要看你有多少时间和人力。时间多人手够的话开发改,你也改,反正改用例的工作量一定小于开发的工作量,只要你能改的过来,自动化就可以做。

我的项目里面那些元素没有id和name,怎么去定位啊?

自己加id和name,如果你连修改html的代码权限都没有,那么恭喜你,你的自动化项目做起来很难很难。

我是初学者,用什么语言和工具啊?

转自乙醇:http://www.cnblogs.com/nbkhic/p/3302679.html

时间: 2024-11-02 09:10:08

作死的自动化测试【转--说出我的心声了】的相关文章

rework-发出你的心声

生意人虚张声势的时候会给人什么感觉?都是些僵硬的措辞.官方的腔调.虚伪的友善.法律术语等.你一定看过这些玩意儿,就好像是机器人写出来的东西,这些公司在向你发话,而不是和你对话. 这种专业主义面具让人觉得可笑,大家都清楚.但还是有小公司在争相效仿.他们认为,虚张声势的告白能让他们看起来更大.更"专业",事实上这只会让他们看起来更滑稽.此外,这种做法剥夺了小公司最大的一项资产:无须法律部或公关部对公司言论进行审核,就能简单直接与客户沟通的能力. 做真实的你没有什么不好.诚实方为明智之举.你

沉默寡言的程序猿们,大喊出你的心声吧!

也许我平时忙于工作,陪伴你的时间不多: 也许我不太善于表达,甜言蜜语说的不多: 也许我不太懂女孩子,送的礼物你不喜欢: 也许因为种种的原因,这一天我不你身边: 但是今天,在这个充满爱意和浪漫的日子里,我想大声对你说: 死生契阔,与子成说.执子之手,与子偕老! 陪伴不一定要时刻,只要需要时与你肩并肩 感情不一定要表白,只要时光里与你共取暖 沉默寡言的程序猿们,快来使用 Bugtags,帮您大幅度的节约时间,提高效率,让你每天都过情人节!

自动化测试来源于知乎

著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:乙醇 链接:http://www.zhihu.com/question/22211535/answer/20638960 来源:知乎 谢邀,关于自动化测试,我以前写过很多的文章来阐述. 这里稍微贴上一些,作为该题的外延知识补充.无用的自动化测试,在这篇文章里我讨论了自动化测试成功的一些必要因素以及自动化测试失败的主要原因——也就是人的原因.作死的自动化测试,这篇文章讨论了新人学习测试技术中的误区以及一些常见的错误节奏从

selenium自动化基础知识

什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要通过修改部分代码的方式来覆盖这部分修改的内容,大大提高测试效率.但是后期代码维护需要一定的成本,如果系统属于表单比较多或者经常修改改动的系统不太适合使用自动化,因为这个维护成本太高:针对于一些相对比较成熟(改动不是很频繁)的系统和跑回归测试的系统很适合进行自动化测试. 性能自动化即使用性能测试工具(

短线炒股的“四看”绝招

股市变化多端,炒短线更是高手的游戏,要求股民知识功底扎实深厚,熟谙庄家操盘手法,心理素质上佳.更重要的一点,要有时间时刻关注庄家一举一动.短线选股关键在热点,投资者对热点的形成一定要有敏锐的洞察力.短线择股应掌握以下四大技巧: 一看成交量.俗话说“量为价先导”,量是价的先行者.股价的上涨,一定要有量的配合.成交量的放大,意味着换手率的提高.平均持仓成本的上升,上档抛压因此减轻,股价才会持续上涨.有时,在庄家筹码锁定良好的情况下,股价也可能缩量上攻,但缩量上攻的局面不会持续太久,否则平均持仓成本无

每日一招:短线炒股实用技巧

股市变化多端,炒短线更是高手的游戏,要求股民知识功底扎实深厚,熟谙庄家操盘手法,心理素质上佳.更重要的一点,要有时间时刻关注庄家一举一动. 短线选股关键在热点,投资者对热点的形成一定要有敏锐的洞察力.短线择股应掌握以下四大技巧: 一看成交量.俗话说“量为价先导”,量是价的先行者.股价的上涨,一定要有量的配合.成交量的放大,意味着换手率的提高.平均持仓成本的上升,上档抛压因此减轻,股价才会持续上涨.有时,在庄家筹码锁定良好的情况下,股价也可能缩量上攻,但缩量上攻的局面不会持续太久.否则平均持仓成本

测试女巫-自动化实践篇

将统计学_6 sigma应用到测试技术中,需要使用的6 sigma工具如下:QFD,DFMEA ,量测系统检验,Johnson Transformation 一.前言: 测试女巫又来啦,大家还记的吗?前两次我们主要以"找到bug产生的原因"以及"提高bug产出效率"为例介绍DOE,柏拉图,主效应,交互作用,相关性,鱼骨图,Xbar Chart,One Way ANOVA,Two Way ANOVA这些方法,并着重介绍如何将这些方法应用到我们软件测试中. 那这次我们介

丰清杨 作业 160809315

大家好,我叫丰清杨.我喜欢旅行,享受旅行带给我的各种回忆,与欢乐时光.我喜欢唱歌,那种自我欣赏,自我感受,用情感去理解歌词,唱出自己的心声.来到耿丹,很开心能够学习c语言这门课程.在来耿丹之前,我一点都没有接触过c语言,更多的是好奇与期待.以后的日子,我希望我可以学好c语言,编自己喜欢的东西,编自己想要的程序. #include<stdio.h> int main()//求平均数 { int sum=0; int a; int b; int c; int d; int e; scanf(&qu

沟通经验谈——学会倾听

每个人都有耳朵,天生就会听,倾听这东西也需要学吗? 答案是肯定的,不然我也写不出篇幅来.而且我认为听比说要重要,这也是为什么把听放到这么前面的原因. 你是否会觉得,有时候与家人.朋友.甚至恋人无法沟通?他/她根本就没有听你在说什么,只说自己想要说的. 很多时候你是否会觉得父母根本不想听你在说什么,他们的关心只是他们想要让自己心里的一种感觉找一个出口,并不想知道你真正要的是什么. 很多时候你是否会觉得你的她根本不想听你说什么,只想让一个人成为她的树洞,让心中一万个草泥马策马奔腾,践踏你这片平静的草