推動開發做自動化的解決方案
測試將自動化做起來不難,做出效果來不難,但只能做好與業務相關緊密的黑盒級自動化。
黑盒自動化雖能帶來很好的效益,但它的問題也隨之而來,慢,開發成本高,環境依賴大,可覆蓋面有限。不能給項目帶來質的改變。
開發做自動化,可以從代碼上入手,從一開始就減少bug,其價值,就非常大。
但是,推動開發好做么?如何去做?接下來,就這個問題我們來討論一下。
2、如何推動開發做自動化?
首先,要弄明白一個事情,開發是什么樣的人。
1)聰明但懶惰的人。
聰明不必說,我們測試同樣十分聰明,不是么?呵呵,放松一下。懶是程序員的天生本性。君不見,K.I.S.S 是他們開發的基本原則。可能有些測試兄弟沒聽過,沒關系,我解析下,將項目做的夠簡單,夠愚蠢。這樣,他們才能懶下去。沒有任何重復,任何事情不應該干兩 次,這也是他們的準則。而且他們還美其名曰:“懶是人類進步的動力”,我吐槽,這群程序猿們有些意思嘛。。。
他們寧可用著老掉牙的vim也不喜歡微軟的大型IDE,寧可在命令行輸入天書般的命令,也不愿做一個UI點一點,寧可用Linux這復雜至極的系統,整天用著 wget,linker,curl也不愿切換鼠標。
那他才懶著用你提供的關鍵字驅動框架呢,一會用中文編程,一會切換到這門語言,一會切換到他的“母語”,一會切換在人家的IDE里,一會又用腳本,再寫的過程出個錯,錯殺自己心愛的代碼。誰受得鳥呢。不用了。
2)何況,他們還是不多管任何事的人。
君不知,不是他的事就不應該知道就是他們的信條,否則,便犯了軟件界的大忌了。你想讓他們做一些測試的事情?門都沒有。
還好,他們還是聰明人,知道bug本質上都是自己的過錯,知道線上的問題自己承擔至少一半的責任。知道自己應該測測再提交測試人員。知道最好可以自動化測測。。。
說到這里,我有一個很久遠的故事先分享下,古時候,有一個孩子,很懶很懶,懶到飯都要老媽喂到嘴邊才肯吃,有一天,老媽要去婆婆家幾天,于是,做了一張大餅,掛在兒子脖子,然而,兒子竟被餓死了。。
還好,我們開發人員只需要喂喂就可以了,我的方法是,做一個足夠簡單,方便的“大餅”,給開發 “喂” 起來。則此事可成。
那么,這個大餅應該是什么樣呢?
* 足夠簡單,讓他一張“嘴” 就可以“吃”起來,所以最好只寫業務代碼就成了。
* 美味,符合他的味口,所以最好可以使用他的母語進行自動化,符合K.I.S.S
* 可擴展性好,想改變下口味也是可以的
* 還要好看,實用。通知機制,失敗分析,一個都不能少。
如果,有如此一張“餅”,大事可成矣。但如何去做出這張大 “餅” 呢?這需要你的高深的廚藝了。且聽接下來的分解。
3、具體的做法
我有兩種方法
第一種高端方法是采用深入敵方深處
* 控制開發框架,掌握開發的框架,正所謂,知之知彼,百戰不怠。
* 通過某一次新產品需求,提出框架的可測試性需求,讓產品經理或老板采納。
* 開始完成我們的大餅,一步步來,讓開發看到進度,一旦成型,則可以無數開發使用。
第一種難度大,我們需要成為他們的架構師才行的通。
方法二
* 參與前期需求,提出可測試性需求,并能夠有效擁有開發的意識,
* 跟他們開發經理談談,找出內部有興趣做這個框架的”叛將“, 談談。
* 讓他負責做核心,你借機熟悉周邊技術,比如,我們用Ruby,因為它的開發效率,我們可以學學 swing, thrift 這些 ”透明膠“,將他們的母語粘在一起,這樣即擁有了高效的開發效益,又符合他的味口。
* 形成框架,讓少數人用起來,改進再改進,直到”大餅“ 成型。
大餅的特點,我上面說到了,你一定要留心,缺一不可。
那能做成么?有實例嗎?你肯定會如此問,我可以信心十足的回答,有的。實際上,正是段念分享的一段話,在懶惰的開發面前,如何做成 Google Map 這樣的自動化測試工作的。
所以,我們團隊很可能去落實了,你呢?
版權聲明:本文出自 lyfi2003 的51Testing軟件測試博客:http://www.51testing.com/?312752
原創作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。
posted on 2012-09-03 11:31 順其自然EVO 閱讀(209) 評論(0) 編輯 收藏 所屬分類: selenium and watir webdrivers 自動化測試學習