1、为什么推动开发做自动化?51Testing软件测试网,@1B
G,G#t
_;eD;lDN+P 测试将自动化做起来不难,做出效果来不难,但只能做好与业务相关紧密的黑盒级自动化。51Testing软件测试网 EB!XX5X|RZ1u
51Testing软件测试网Tc5n;^(i;o{"r Z 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\p0u'G}4Z8RC0
聪明不必说,我们测试同样十分聪明,不是么?呵呵,放松一下。懒是程序员的天生本性。君不见,K.I.S.S
是他们开发的基本原则。可能有些测试兄弟没听过,没关系,我解析下,将项目做的够简单,够愚蠢。这样,他们才能懒下去。没有任何重复,任何事情不应该干两
次,这也是他们的准则。而且他们还美其名曰:“懒是人类进步的动力”,我吐槽,这群程序猿们有些意思嘛。。。
8D+Z0t5|#V#T/? bwu051Testing软件测试网;Rw
^:JiOP 他们宁可用着老掉牙的vim也不喜欢微软的大型IDE,宁可在命令行输入天书般的命令,也不愿做一个UI点一点,宁可用Linux这复杂至极的系统,整天用着 wget,linker,curl也不愿切换鼠标。
w2M ihn.s0T{s^2W]a0 那他才懒着用你提供的关键字驱动框架呢,一会用中文编程,一会切换到这门语言,一会切换到他的“母语”,一会切换在人家的IDE里,一会又用脚本,再写的过程出个错,错杀自己心爱的代码。谁受得鸟呢。不用了。51Testing软件测试网7W4S[oa/C/|
v;|(o(`N"jK4G0 2)何况,他们还是不多管任何事的人。51Testing软件测试网4sMy`x*Z8f
nH
51Testing软件测试网3a'FMsJi8d\ 君不知,不是他的事就不应该知道就是他们的信条,否则,便犯了软件界的大忌了。你想让他们做一些测试的事情?门都没有。
,oIEI'p]p S0fj}1LfX0 还好,他们还是聪明人,知道bug本质上都是自己的过错,知道线上的问题自己承担至少一半的责任。知道自己应该测测再提交测试人员。知道最好可以自动化测测。。。
!dz'DP$\.S,X051Testing软件测试网%hL.T_J)P5s 说到这里,我有一个很久远的故事先分享下,古时候,有一个孩子,很懒很懒,懒到饭都要老妈喂到嘴边才肯吃,有一天,老妈要去婆婆家几天,于是,做了一张大饼,挂在儿子脖子,然而,儿子竟被饿死了。。
9`a2q`0zk)i&Q/i051Testing软件测试网5K3kr)WxZ(H~n 还好,我们开发人员只需要喂喂就可以了,我的方法是,做一个足够简单,方便的“大饼”,给开发 “喂” 起来。则此事可成。
-]z!G2q*mU'h7G8X051Testing软件测试网DEc"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 Px2`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+VD06I{|/md[Q_0 我有两种方法51Testing软件测试网;{Jc's9Y`L)W
51Testing软件测试网L/h9b}c[v 第一种高端方法是采用深入敌方深处
QOwC| dM%o2|6r9M0l6T5k.NV,g5u"l0 * 控制开发框架,掌握开发的框架,正所谓,知之知彼,百战不怠。
5B8c6A4YQ0J"sV8I)b051Testing软件测试网K/`9d/u/Q * 通过某一次新产品需求,提出框架的可测试性需求,让产品经理或老板采纳。51Testing软件测试网+@[8[pT8\$g
u8U zR([K [0 * 开始完成我们的大饼,一步步来,让开发看到进度,一旦成型,则可以无数开发使用。
MT%V:c|O051Testing软件测试网R)pN^E 第一种难度大,我们需要成为他们的架构师才行的通。51Testing软件测试网 nTIIsn~
51Testing软件测试网G6q2@k
H.Z 方法二51Testing软件测试网^e9n/~,T'N0T
U;Y7yg)R)}0 * 参与前期需求,提出可测试性需求,并能够有效拥有开发的意识,
L}/GdS0o_t(n051Testing软件测试网)HOe/].n * 跟他们开发经理谈谈,找出内部有兴趣做这个框架的”叛将“, 谈谈。51Testing软件测试网
WMKYb4^
@^!~%c
]C0 * 让他负责做核心,你借机熟悉周边技术,比如,我们用Ruby,因为它的开发效率,我们可以学学 swing, thrift 这些 ”透明胶“,将他们的母语粘在一起,这样即拥有了高效的开发效益,又符合他的味口。51Testing软件测试网 \/ZZ
|zV
v
L
r|(|hI0 * 形成框架,让少数人用起来,改进再改进,直到”大饼“ 成型。
:X(V
|aDt1H`0RNczk0Wl}1c;i0 大饼的特点,我上面说到了,你一定要留心,缺一不可。
K:GJ`VC]
}R051Testing软件测试网.]0Y
A$F7z
F*X 那能做成么?有实例吗?你肯定会如此问,我可以信心十足的回答,有的。实际上,正是段念分享的一段话,在懒惰的开发面前,如何做成GoogleMap 这样的自动化测试工作的。
5E4f7|-Z)n6n051Testing软件测试网S| NO-E'_#xy 所以,我们团队很可能去落实了,你呢?
zm/?RKJS051Testing软件测试网5_7`6H:d3B版权声明:本文出自 lyfi2003 的51Testing软件测试博客:http://www.51testing.com/?312752
Zwg4X"f^5j0