推动开发做自动化的解决方案

上一篇 / 下一篇  2012-09-03 09:15:23 / 个人分类:自动化测试

 1、为什么推动开发做自动化?51Testing软件测试网,@1B G,G#t _;eD;lDN+P

  测试将自动化做起来不难,做出效果来不难,但只能做好与业务相关紧密的黑盒级自动化。51Testing软件测试网 EB!XX5X|RZ1u

51Testing软件测试网Tc5n;^(i;o{"rZ V

  黑盒自动化虽能带来很好的效益,但它的问题也随之而来,慢,开发成本高,环境依赖大,可覆盖面有限。不能给项目带来质的改变。51Testing软件测试网$^'pv!d4[B&g4Oa3Mk

51Testing软件测试网$_SJ^+fCj%f.V8s

  开发做自动化,可以从代码上入手,从一开始就减少bug,其价值,就非常大。51Testing软件测试网TnVP1_

51Testing软件测试网I;J+|B |@

  但是,推动开发好做么?如何去做?接下来,就这个问题我们来讨论一下。51Testing软件测试网b;z,} o1k6_/Y _5@

Cv |k7a y!s0  2、如何推动开发做自动化?51Testing软件测试网e~,Jt%m8}p$U

"?;Tz@i8Y^gK0  首先,要弄明白一个事情,开发是什么样的人。

e9K_g DDc&C:\d%s-D#t051Testing软件测试网lafl'Qt

  1)聪明但懒惰的人。

^`V#x9@#B7\p0

u'G}4Z8RC0   聪明不必说,我们测试同样十分聪明,不是么?呵呵,放松一下。懒是程序员的天生本性。君不见,K.I.S.S 是他们开发的基本原则。可能有些测试兄弟没听过,没关系,我解析下,将项目做的够简单,够愚蠢。这样,他们才能懒下去。没有任何重复,任何事情不应该干两 次,这也是他们的准则。而且他们还美其名曰:“懒是人类进步的动力”,我吐槽,这群程序猿们有些意思嘛。。。

8D+Z0t5|#V#T/? bwu051Testing软件测试网;Rw ^:JiOP

  他们宁可用着老掉牙的vim也不喜欢微软的大型IDE,宁可在命令行输入天书般的命令,也不愿做一个UI点一点,宁可用Linux这复杂至极的系统,整天用着 wget,linker,curl也不愿切换鼠标。

w2M ihn.s0

T{s^2W] a0  那他才懒着用你提供的关键字驱动框架呢,一会用中文编程,一会切换到这门语言,一会切换到他的“母语”,一会切换在人家的IDE里,一会又用脚本,再写的过程出个错,错杀自己心爱的代码。谁受得鸟呢。不用了。51Testing软件测试网7W4S[oa/C/|

v;|(o(`N"jK4G0  2)何况,他们还是不多管任何事的人。51Testing软件测试网4sMy`x*Z8f nH

51Testing软件测试网3a'FMsJi8d\

  君不知,不是他的事就不应该知道就是他们的信条,否则,便犯了软件界的大忌了。你想让他们做一些测试的事情?门都没有。

,oIEI'p]p S0

fj}1LfX0  还好,他们还是聪明人,知道bug本质上都是自己的过错,知道线上的问题自己承担至少一半的责任。知道自己应该测测再提交测试人员。知道最好可以自动化测测。。。

!dz'DP$\.S,X051Testing软件测试网%hL.T_J)P5s

  说到这里,我有一个很久远的故事先分享下,古时候,有一个孩子,很懒很懒,懒到饭都要老妈喂到嘴边才肯吃,有一天,老妈要去婆婆家几天,于是,做了一张大饼,挂在儿子脖子,然而,儿子竟被饿死了。。

9` a2q`0zk)i&Q/i051Testing软件测试网5K3kr)W xZ(H~n

  还好,我们开发人员只需要喂喂就可以了,我的方法是,做一个足够简单,方便的“大饼”,给开发 “喂” 起来。则此事可成。

-]z!G2q*mU'h7G8X051Testing软件测试网 D Ec"b+C1H5U8~J

  那么,这个大饼应该是什么样呢?51Testing软件测试网]5|o ^SNBa

51Testing软件测试网:m kX.Hm,`

  * 足够简单,让他一张“嘴” 就可以“吃”起来,所以最好只写业务代码就成了。

Z|g1?4J0ZY I]051Testing软件测试网8D\,d{@

  * 美味,符合他的味口,所以最好可以使用他的母语进行自动化,符合K.I.S.S

FSmL f-?h&C,f+Dd0

rb-N2H2qw P x2`0  * 可扩展性好,想改变下口味也是可以的51Testing软件测试网%\zWG2k"Z*iS

51Testing软件测试网n7et4Hq0N9vd

  * 还要好看,实用。通知机制,失败分析,一个都不能少。

2X2H7F!R_W }G0

.ua%C~w.H,k%V qf0  如果,有如此一张“饼”,大事可成矣。但如何去做出这张大 “饼” 呢?这需要你的高深的厨艺了。且听接下来的分解。

7TfTpYqW2h%Gb051Testing软件测试网:\m'ws4J}

  3、具体的做法

uG$n+VD0

6I{|/md[ Q_0  我有两种方法51Testing软件测试网;{Jc's9Y `L)W

51Testing软件测试网L/h9b}c[v

  第一种高端方法是采用深入敌方深处

QOwC| dM%o2|6r9M0

l6T5k.NV,g5u"l0  * 控制开发框架,掌握开发的框架,正所谓,知之知彼,百战不怠。

5B8c6A4YQ0J"sV8I)b051Testing软件测试网K/`9d/u/Q

  * 通过某一次新产品需求,提出框架的可测试性需求,让产品经理或老板采纳。51Testing软件测试网+@[8[pT8\$g

u8UzR([ K[0  * 开始完成我们的大饼,一步步来,让开发看到进度,一旦成型,则可以无数开发使用。

MT%V:c|O051Testing软件测试网R)pN^ E

  第一种难度大,我们需要成为他们的架构师才行的通。51Testing软件测试网 nT II sn ~

51Testing软件测试网G6q2@k H.Z

  方法二51Testing软件测试网^e9n/~,T'N0T

U;Y7y g)R)}0  * 参与前期需求,提出可测试性需求,并能够有效拥有开发的意识,

L}/GdS0o_t(n051Testing软件测试网)H Oe/].n

  * 跟他们开发经理谈谈,找出内部有兴趣做这个框架的”叛将“, 谈谈。51Testing软件测试网 WMKYb4^

@^!~%c ]C0  * 让他负责做核心,你借机熟悉周边技术,比如,我们用Ruby,因为它的开发效率,我们可以学学 swing, thrift 这些 ”透明胶“,将他们的母语粘在一起,这样即拥有了高效的开发效益,又符合他的味口。51Testing软件测试网 \/ZZ |z V

v L r|(|hI0  * 形成框架,让少数人用起来,改进再改进,直到”大饼“ 成型。

:X(V |aDt1H`0

RNczk0Wl}1c;i0  大饼的特点,我上面说到了,你一定要留心,缺一不可。

K:GJ` VC] }R051Testing软件测试网.]0Y A$F7z F*X

  那能做成么?有实例吗?你肯定会如此问,我可以信心十足的回答,有的。实际上,正是段念分享的一段话,在懒惰的开发面前,如何做成GoogleMap 这样的自动化测试工作的。

5E4f7|-Z)n6n051Testing软件测试网S| NO-E'_#xy

  所以,我们团队很可能去落实了,你呢?

zm/? RKJ S051Testing软件测试网5_7`6H:d3B

版权声明:本文出自 lyfi2003 的51Testing软件测试博客:http://www.51testing.com/?312752

Z wg4X"f^5j0

TAG:

 

评分:0

我来说两句

Open Toolbar