分層測(cè)試的概念已經(jīng)提出來(lái)多年了兢孝,至今已經(jīng)不再新鮮,不過(guò)最近卻發(fā)現(xiàn)分層測(cè)試的模型有了一些演進(jìn),在這里給大家分享一下西潘。
三種模型
分層測(cè)試把測(cè)試分層了3個(gè)層次卷玉,從下往上分別是: 單元測(cè)試,服務(wù)級(jí)的測(cè)試以及ui測(cè)試喷市。

上圖展示了3種不同的測(cè)試成熟度模型相种,分別是
- 測(cè)試冰淇淋模型
- 測(cè)試金字塔模型
- 測(cè)試橄欖球模型
測(cè)試冰淇淋模型
這種模型的特點(diǎn)如下
- 單元測(cè)試很少
- 有一定的服務(wù)級(jí)的接口測(cè)試
- 測(cè)試的重點(diǎn)放在通過(guò)ui去測(cè)試系統(tǒng)的功能上
由于單元測(cè)試和接口測(cè)試有限,在這種模型下品姓,持續(xù)集成的實(shí)現(xiàn)難度很高寝并。
質(zhì)量的重心放在ui上,就意味著系統(tǒng)必須充分開發(fā)完成并且正確部署之后才能進(jìn)行測(cè)試腹备,測(cè)試的開始時(shí)間相對(duì)就會(huì)較晚衬潦,面臨著測(cè)試時(shí)間不充分的風(fēng)險(xiǎn)。
自動(dòng)化測(cè)試率有限植酥,測(cè)試周期相對(duì)可能較長(zhǎng)镀岛。
ui測(cè)試較多,一些代碼級(jí)的異常在ui測(cè)試時(shí)相對(duì)難以構(gòu)造友驮,有較高的測(cè)試不充分的風(fēng)險(xiǎn)漂羊。
單元測(cè)試少就意味著代碼改動(dòng)的影響很難第一時(shí)間得到發(fā)現(xiàn)和評(píng)估,有可能出現(xiàn)改1個(gè)bug送幾個(gè)bug的情況卸留。
大多數(shù)團(tuán)隊(duì)可能都符合這個(gè)模型走越。
測(cè)試金字塔模型
對(duì)于單體應(yīng)用來(lái)講,測(cè)試金字塔模型是一個(gè)比較理想的模型耻瑟,特點(diǎn)如下
- 單元測(cè)試非常多
- 接口級(jí)的測(cè)試相對(duì)少一點(diǎn)點(diǎn)
- ui級(jí)的測(cè)試最少旨指,通常只是用戶驗(yàn)證性的測(cè)試,可以用自動(dòng)化測(cè)試去做
這種模型的好處不言而喻喳整,不過(guò)由于該模型對(duì)開發(fā)人員的測(cè)試能力要求很高谆构,而且質(zhì)量控制基本成為開發(fā)的本職工作,所以在一些測(cè)試和開發(fā)完全分離的團(tuán)隊(duì)以及開發(fā)技能一般的團(tuán)隊(duì)算柳,這種模式往往難以推廣低淡。不過(guò)一些著名的開源項(xiàng)目基本上都符合這個(gè)模型。
測(cè)試橄欖球模型
- 單元測(cè)試相對(duì)較少
- 測(cè)試的重心放在接口級(jí)的測(cè)試上瞬项,并且提倡高度自動(dòng)化
- ui級(jí)的測(cè)試可以較少
對(duì)于微服務(wù)模型的項(xiàng)目來(lái)說(shuō)蔗蹋,服務(wù)之間溝通交流的方式一定是各種接口,所以接口是微服務(wù)模型項(xiàng)目和產(chǎn)品的核心囱淋。橄欖球模型正是抓住了這個(gè)重點(diǎn)猪杭,把測(cè)試的重心放在接口上。
由于單元測(cè)試用例的開發(fā)需要額外的知識(shí)及技能妥衣,加上大家對(duì)單元測(cè)試的重要性理解也不太一致皂吮,所以這個(gè)模型弱化了單元測(cè)試的作用戒傻。
ui測(cè)試由于開始的時(shí)間較晚以及實(shí)現(xiàn)和執(zhí)行成本較高,所以這里也相對(duì)弱化蜂筹。
對(duì)于測(cè)試同學(xué)來(lái)說(shuō)需纳,橄欖球模型里我們可以承擔(dān)大部分接口層的用例編寫以及依賴服務(wù)接口的mock工作。
另外微服務(wù)間的協(xié)作與信息對(duì)稱對(duì)質(zhì)量保障來(lái)說(shuō)也是挑戰(zhàn)艺挪,測(cè)試同學(xué)可以重點(diǎn)關(guān)注一下不翩。
最后,我說(shuō)的基本上都是錯(cuò)的麻裳。每個(gè)團(tuán)隊(duì)有不同的質(zhì)量要求和實(shí)踐口蝠,沒有標(biāo)準(zhǔn),只有參考津坑。