思考自動化測試--分層測試(三)

思考自動化測試--分層測試(三)

由于多種原因吧榛丢,自動化測試剛開始發(fā)展铲球,都想去做手工測試代替,都想做黑盒的覆蓋測試晰赞。結(jié)果稼病,自動化測試維護(hù)成本過高,穩(wěn)定性也不好掖鱼,但是執(zhí)行效率然走,回歸起來又不錯。越來越多的人在思考如何更好的做自動化測試戏挡。尤其是在敏捷開發(fā)盛行的年代芍瑞,自動化測試已經(jīng)成了軟件開發(fā)測試過程中,重要的組成部分褐墅,那么到底怎么做自動化測試收效最高呢拆檬。目前較為流行的方式--分層測試。
我比較推薦分層測試的金字塔說法:分層測試就是構(gòu)建高效的測試金字塔妥凳,不同層次的測試可以用盡量低的成本防御不同類型的風(fēng)險竟贯。
說法慢抽象的,先來看個實例圖猾封,再做慢慢解釋:


測試金子塔
測試金子塔

上面我們先看到了金字塔了澄耍,然后我以比較常見的web項目做例子來解釋分層測試。誠如上面說的如果我們單純做黑盒的自動化測試晌缘,其實就是在UI這個層次上齐莲,不斷開發(fā)維護(hù)腳本,結(jié)果可能帶來的風(fēng)險就是人員的無限投入磷箕,卻很難得到比較好的測試效果选酗。而這個金子塔的意思就是將應(yīng)用,分成不同層次的自動化測試岳枷,比方說UI就是通過界面進(jìn)行端對端測試芒填,一般是黑盒測試;service一般針對接口空繁,服務(wù)殿衰,比方說如果你用REST方式構(gòu)建web的話,那么可以對REST接口進(jìn)行測試盛泡,還有比方說直接對HTTP接口進(jìn)行測試闷祥,對webservice接口進(jìn)行測試;而Unit這個包含的比較多了傲诵,簡單的說在web應(yīng)用的dao凯砍,service箱硕,controller,model這些可以寫類似junit的單元測試悟衩,javascript剧罩,css也可以做前段的單元測試。這這個金子塔就說的座泳,根據(jù)層次劃分惠昔,不同層次的測試量不同, 越是在塔尖的钳榨,測試開發(fā)維護(hù)都比較復(fù)雜舰罚,那么測試的量就越小,而下層的單元測試則可進(jìn)行比較高的覆蓋測試薛耻。
簡單的說营罢,分層自動化測試,就是把我們單一看著UI的功能自動化測試饼齿,將自動化測試擴展到不同的軟件層次上饲漾,進(jìn)行測試。
這種測試方式缕溉,相比于傳統(tǒng)的自動化測試考传,會有幾個改變:

  • 將開發(fā)拉入測試:其實測試工作也是開發(fā)一個很重要的工作內(nèi)容,傳統(tǒng)的開發(fā)測試分的很細(xì)的方式证鸥,不利于分層測試僚楞,像單元測試,還是需要開發(fā)多多投入枉层。
  • 將測試引入開發(fā):分層的測試泉褐,需要對被測系統(tǒng)的開發(fā)結(jié)構(gòu)有認(rèn)識,至少你要知道你覆蓋了多少了吧鸟蜡,甚至開發(fā)大致怎么實現(xiàn)的膜赃,不然UI前面對那些接口也不知道那很難評估測試結(jié)果的。
  • 最好跟持續(xù)集成配合使用:重復(fù)利用自動化測試的執(zhí)行成本低的效率揉忘,在工程集成完畢前后跳座,更加自動地執(zhí)行測試,及時的反饋測試結(jié)果泣矛,從而更好地提高測試效率疲眷。
  • 使用Mock來實現(xiàn)分層測試,因為是分層那么就可能有隔離一些模塊或者外系統(tǒng)您朽,那么就可以用Mock來模擬這些隔離的模塊咪橙,進(jìn)行測試。
  • 需要合理的評估測試覆蓋,不同層次的測試程度都需要合理的評估美侦,這個范圍的控制是保證分層測試測試質(zhì)量的最核心的規(guī)劃,這個才是成功關(guān)鍵魂奥。

綜上所述菠剩,分層自動化測試是追求覆蓋的傳統(tǒng)自動化測試的一種修正,充分利用自動化測試的優(yōu)點耻煤,盡量規(guī)避自動化測試的缺點具壮。當(dāng)然分層測試也有些要注意的問題:

  • 測試重復(fù):分層可能對測試是重復(fù)的,在上層測過了哈蝇,下層還繼續(xù)測棺妓。從測試角度上說是重復(fù)測試,但是從整個流程看測試的話炮赦,不同層次的測試怜跑,屬于過程的不同階段,比方說單元測試吠勘,可以在編譯后進(jìn)行測試性芬,在集成前就可以發(fā)現(xiàn)問題,而UI的自動化測試則更加滯后一點剧防,功能不同效果不同植锉,測試的重復(fù)還是可以忍受的。
  • 測試遺漏:這個就很需要對測試覆蓋的規(guī)劃能力峭拘,而且這里要說明的一點俊庇,自動化測試不能或者很難做到全覆蓋測試。手工測試還是不能放下的鸡挠,而手工做到全覆蓋是有必要的辉饱。
  • 測試復(fù)雜度,分層測試需要工具比較多宵凌,人員能力比較強鞋囊,要控制那么多工具進(jìn)行測試,還要對業(yè)務(wù)瞎惫,甚至開發(fā)有了解溜腐,還要開發(fā)人員參與進(jìn)來,投入也不小瓜喇。

不管分層測試有多少難度挺益,他是目前解決自動化測試開發(fā)維護(hù)的一個比較好的方案。如果要大規(guī)模使用自動化測試乘寒,我想分層的思想應(yīng)該是不容忽視的望众。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子烂翰,更是在濱河造成了極大的恐慌夯缺,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甘耿,死亡現(xiàn)場離奇詭異踊兜,居然都是意外死亡,警方通過查閱死者的電腦和手機佳恬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門捏境,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人毁葱,你說我怎么就攤上這事垫言。” “怎么了倾剿?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵筷频,是天一觀的道長。 經(jīng)常有香客問我柱告,道長截驮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任际度,我火速辦了婚禮葵袭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘乖菱。我一直安慰自己坡锡,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布窒所。 她就那樣靜靜地躺著鹉勒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吵取。 梳的紋絲不亂的頭發(fā)上禽额,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音皮官,去河邊找鬼脯倒。 笑死,一個胖子當(dāng)著我的面吹牛捺氢,可吹牛的內(nèi)容都是我干的藻丢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼摄乒,長吁一口氣:“原來是場噩夢啊……” “哼悠反!你這毒婦竟也來了残黑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤斋否,失蹤者是張志新(化名)和其女友劉穎梨水,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茵臭,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡冰木,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了笼恰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡歇终,死狀恐怖社证,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情评凝,我是刑警寧澤追葡,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站奕短,受9級特大地震影響宜肉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜翎碑,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一谬返、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧日杈,春花似錦遣铝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涨冀,卻和暖如春填硕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鹿鳖。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工扁眯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人栓辜。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓恋拍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親藕甩。 傳聞我的和親對象是個殘疾皇子施敢,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容