日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

What is 测试金字塔?

發(fā)布時(shí)間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 What is 测试金字塔? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【答疑解惑|?作者?/ Edison Zhou

這是恰童鞋騷年的第271篇原創(chuàng)內(nèi)容


我的女朋友是一名測(cè)試工程師,但她之前卻不知道測(cè)試金字塔的概念,為此我曾經(jīng)在家里的白板上畫了一個(gè)圖一層一層給她講解過。我和同事在給團(tuán)隊(duì)面試測(cè)試和開發(fā)崗位時(shí),也會(huì)必問到這個(gè)問題,想到可能有很多開發(fā)童鞋都不知道,這里我就用一篇推文給大家科普一下。

1傳說(shuō)中的金字塔

我們都知道,針對(duì)項(xiàng)目的測(cè)試有很多分類,比如單元測(cè)試、集成測(cè)試、組件測(cè)試、端到端測(cè)試 以及 探索性測(cè)試等。那么,測(cè)試金字塔其實(shí)就是給我們的一個(gè)指導(dǎo),它指導(dǎo)我們要在不同類型的測(cè)試工作投入多少的精力是最合適的。

廢話不多說(shuō),先上圖:

測(cè)試金字塔示意圖(來(lái)自波波老師的課程)

從上圖中我們可以看到,測(cè)試金字塔建議我們:

(1)盡可能地多做單元測(cè)試 和 集成測(cè)試,因?yàn)樗麄兊膱?zhí)行速度相較于上層的幾個(gè)測(cè)試類型來(lái)說(shuō)快很多且相對(duì)穩(wěn)定,可以一天多次執(zhí)行。一般來(lái)說(shuō),我們都會(huì)將單元測(cè)試 和 集成測(cè)試 做到持續(xù)集成構(gòu)建任務(wù)中去,比如放到Jenkins中每天定時(shí)執(zhí)行1~2次,或者每次push代碼到git倉(cāng)庫(kù)后執(zhí)行,總之,就是要確保可以頻繁執(zhí)行以確保代碼質(zhì)量。

(2)盡可能地少做 組件測(cè)試、端到端測(cè)試 和 探索性測(cè)試,因?yàn)樗麄兊膱?zhí)行速度相較單元測(cè)試 和 集成測(cè)試 會(huì)慢很多,且不夠穩(wěn)定,無(wú)法做到一天多次執(zhí)行,每次執(zhí)行都要等很久才能獲得反饋結(jié)果。但是,他們的覆蓋面比下層的單元測(cè)試 和 集成測(cè)試 要廣一些。總之,就是要確保一定周期內(nèi) 或者 關(guān)鍵節(jié)點(diǎn)時(shí)間?執(zhí)行以下這幾個(gè)測(cè)試以確保軟件質(zhì)量。

畫外音:金字塔里,越往下速度越快且越穩(wěn)定,那么就可以頻繁執(zhí)行,反正執(zhí)行一次也花不了多久時(shí)間,開發(fā)人員還可以知道我的代碼有沒有影響到其他模塊。越往上則速度越慢且越不穩(wěn)定,跑一次要N久,開發(fā)人員往往會(huì)覺得還是先繼續(xù)開發(fā)吧,到時(shí)候出了bug再說(shuō),我可不想加班等測(cè)試結(jié)果。

2端到端的測(cè)試實(shí)踐

在具體實(shí)踐中,位于上層的端到端測(cè)試是粒度相對(duì)較粗 但是 我們又不得不做的測(cè)試實(shí)踐。在微服務(wù)架構(gòu)風(fēng)格中,端到端測(cè)試涉及到的相關(guān)服務(wù)依賴很多,且異步等可變的因素較多,因此它也是一種最不穩(wěn)定的測(cè)試。

端到端測(cè)試示意圖(來(lái)自波波老師)

端到端測(cè)試:驗(yàn)證工作流中的所有流程,以檢查一切是否按預(yù)期工作。它還確保系統(tǒng)以統(tǒng)一的方式工作,從而滿足業(yè)務(wù)需求。

這里也跟大家分享一下在微服務(wù)架構(gòu)場(chǎng)景中,對(duì)于端到端測(cè)試的一些實(shí)踐要點(diǎn),僅供參考:

(1)80/20原則,花更多的精力聚焦核心業(yè)務(wù)服務(wù);對(duì)于我司來(lái)說(shuō),可能就是統(tǒng)一鑒權(quán)服務(wù)、訂單下單服務(wù)、統(tǒng)一支付服務(wù)等;

(2)用戶使用場(chǎng)景驅(qū)動(dòng),即盡可能使用最終用戶的用例流程來(lái)驅(qū)動(dòng)測(cè)試,這樣可能更加容易覆蓋到產(chǎn)生業(yè)務(wù)價(jià)值的場(chǎng)景;

(3)適當(dāng)Mock不穩(wěn)定測(cè)試點(diǎn),如果有些微服務(wù)依賴的第三方服務(wù)不夠穩(wěn)定的話,那么可以適度犧牲一些覆蓋面,使用Mock來(lái)測(cè)試。

(4)規(guī)范測(cè)試環(huán)境和環(huán)境自動(dòng)化,即團(tuán)隊(duì)可以具備幾種測(cè)試環(huán)境一鍵創(chuàng)建的能力,比如使用Docker + Kubernetes就可以幫助實(shí)現(xiàn)這個(gè)點(diǎn)。這一點(diǎn),我相信大部分的小團(tuán)隊(duì)都不具備這個(gè)能力,我司其實(shí)也一樣,所以我建議小團(tuán)隊(duì)盡可能上云,直接使用云上的能力幫助我們克服自身團(tuán)隊(duì)的技術(shù)儲(chǔ)備弱的問題,提升端到端測(cè)試的效率。

(5)測(cè)試數(shù)據(jù)管理,即團(tuán)隊(duì)可以具備一鍵生成測(cè)試數(shù)據(jù)的能力,而不是每次環(huán)境啟動(dòng)起來(lái)才去修改數(shù)據(jù)以便于測(cè)試,一般都會(huì)通過維護(hù)測(cè)試數(shù)據(jù)的自動(dòng)化腳本來(lái)實(shí)現(xiàn)。

畫外音:對(duì)你們團(tuán)隊(duì)的測(cè)試同事好點(diǎn),他們做端到端測(cè)試的時(shí)候會(huì)問候你的。

3小結(jié)

本文介紹了測(cè)試金字塔的概念 及?耗時(shí)的端到端測(cè)試的實(shí)踐要點(diǎn),最后溫馨提示一下,快下班時(shí)盡量別改自己不了解影響范圍的Bug,否則你會(huì)像下面這樣:

?

?????點(diǎn)個(gè)贊和在看如何?

總結(jié)

以上是生活随笔為你收集整理的What is 测试金字塔?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。