測試矩陣

迷陣

“單元測試昙啄,集成測試,端到端測試寸五,安全測試梳凛,性能測試,壓力測試梳杏,契約測試韧拒,冒煙測試淹接,驗(yàn)收測試,API測試叛溢,UI測試塑悼,兼容性測試……”

不知道你是不是像我一樣,曾被這些各種各樣的“測試”搞得暈頭轉(zhuǎn)向楷掉。作為一個有追求的開發(fā)人員厢蒜,保證所寫的程序、所構(gòu)建的系統(tǒng)具備良好的質(zhì)量自然是分內(nèi)之事靖诗。但是面對這些千奇百怪的測試難免會望而卻步郭怪,只能勸自己一句“專業(yè)的事情還是交給專業(yè)的人去做吧”,然后把測試的工作一把推給QA刊橘,悶頭寫自己的代碼去了鄙才。

不光是測試種類眾多,每個人對于某一個測試的理解也都不一樣促绵。就拿大家最熟悉的“單元測試(unit testing)”來舉例攒庵,問題的關(guān)鍵就被聚焦到了“到底如何才算是一個單元(unit)?”有人說是一個方法败晴,有的人說是一個類浓冒,有的人說都不對,應(yīng)該是一個最小的業(yè)務(wù)單元(至少是API級別的)尖坤。還有人提出了Integration Unit Test的概念稳懒,即集成級別的單元測試。

不光是我等軟件小輩慢味,就連很多IT界的神級人物也常常為此爭論不休场梆。

古話說的好,一千個人心中有一千種單元測試纯路,看來說的是有道理的或油。

列表法

image.png

(列表法)

這是昨天陪閨女寫作業(yè)的時候,看到她使用了一種被稱作“列表法”的方法去解一個小學(xué)2年級的邏輯題驰唬。閨女說顶岸,這種方法很神奇,原本看起來彎彎繞的問題叫编,畫個表勾勾叉叉就解決了辖佣。

隨后我也查了一下:“列表法是小學(xué)數(shù)學(xué)學(xué)科中經(jīng)常使用的一種方法,使用列表法可以解決許多復(fù)雜而有趣的問題搓逾。運(yùn)用列出表格來分析思考卷谈、尋找思路、求解問題恃逻,經(jīng)常用來解決類似于雞兔同籠的經(jīng)典問題……”

雖然我一直沒有搞清楚為啥要把雞和兔子放到一個籠子里雏搂,但回到測試迷陣的問題,好像這種小學(xué)3年級就教授的方法也能適用寇损。

測試矩陣

image.png

(測試矩陣)

測試的種類繁多凸郑,難于理解,難于溝通矛市。我覺得主要是在于我們將兩個測試分類的維度混雜在了一起芙沥。

其中第一個維度是測試實(shí)現(xiàn)的層次或粒度,說白了就是在哪個層次上的測試浊吏,也可以理解成測試到底測的是哪兒而昨。是方法?是類找田?是API歌憨?是單個Service?是兩兩Service墩衙?還是應(yīng)用务嫡?還是系統(tǒng)?還是平臺漆改?

我們常說的單元測試心铃,API測試,端到端測試挫剑,UI測試都是側(cè)重于按照這種維度去分類不同的測試種類的去扣。

但是我們在談?wù)撨@些測試的時候,其實(shí)隱含了一個概念就是他們測的是什么樊破?也就是測試的目標(biāo)愉棱。例如當(dāng)我們提到上面的單元測試、API測試捶码、端到端測試的時候其實(shí)隱含的想表達(dá)的是單元級別的功能測試羽氮,API級別的功能測試和端到端級別的功能測試。

這時候你肯定會想惫恼,這不廢話么档押,不測功能我測什么?

這就是我想說的第二個測試分類的維度:我們測試的標(biāo)的物祈纯,或是說測試的目標(biāo)令宿。如果說第一種測試維度是根據(jù)“測哪兒”區(qū)分的,那第二個維度就是根據(jù)“測什么”區(qū)分的腕窥。

例如粒没,我們常常提到的:功能測試、集成測試簇爆、性能測試癞松、安全測試爽撒、壓力測試、兼容性測試响蓉,契約測試都是這種按照這個維度去區(qū)分不同的測試種類的硕勿,他們都不是關(guān)注于我們要測哪兒,而是更側(cè)重于我們到底要測什么:業(yè)務(wù)功能是否正確枫甲?是否能按預(yù)期集成源武?契約是否被保證?安全能否達(dá)到要求想幻?性能是否滿足預(yù)期和要求粱栖?

只不過我們?nèi)粘9ぷ髦校蠖鄶?shù)情況下測試都是在驗(yàn)證功能是否正確脏毯,所以我們常常忽略了第二個維度闹究,只關(guān)注于測哪兒。只有當(dāng)我們?nèi)y試像性能和安全這種非功能需求的時候才會想到第二個維度食店,但有趣的是往往我們這時候又會忽略第一個維度跋核,例如當(dāng)我們聽到有人提及性能測試的時候,并沒有明確的表達(dá)測的是方法的性能叛买、API的性能砂代,還是UI的性能,進(jìn)而導(dǎo)致了理解的不一致和混亂率挣。

換個叫法

可見刻伊,之前之所以被測試迷陣?yán)_,其本質(zhì)原因就是并沒有明確區(qū)分開這兩個維度椒功,甚至將之混為一談捶箱,從而使我們對于“XX測試”的定位和理解包括溝通都變得模糊而不準(zhǔn)確。

如果我們不再提“單元測試”动漾、“性能測試”這種含糊不清的概念丁屎,而是通過測試矩陣上的二維定位法,改稱“方法級別的功能測試”和“API級別的性能測試”旱眯,我想我們對于測試的溝通討論甚至學(xué)習(xí)實(shí)現(xiàn)將明確的多晨川,也簡單的多。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末删豺,一起剝皮案震驚了整個濱河市共虑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌呀页,老刑警劉巖妈拌,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蓬蝶,居然都是意外死亡尘分,警方通過查閱死者的電腦和手機(jī)猜惋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來培愁,“玉大人惨奕,你說我怎么就攤上這事〗叨郏” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵雹洗,是天一觀的道長香罐。 經(jīng)常有香客問我,道長时肿,這世上最難降的妖魔是什么庇茫? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任螃成,我火速辦了婚禮旦签,結(jié)果婚禮上宁炫,老公的妹妹穿的比我還像新娘羔巢。我一直安慰自己竿秆,他們只是感情好稿壁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布匪燕。 她就那樣靜靜地躺著喧笔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪界拦。 梳的紋絲不亂的頭發(fā)上梗劫,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天蛉威,我揣著相機(jī)與錄音,去河邊找鬼哲虾。 笑死束凑,一個胖子當(dāng)著我的面吹牛汪诉,可吹牛的內(nèi)容都是我干的谈秫。 我是一名探鬼主播拟烫,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼上渴,長吁一口氣:“原來是場噩夢啊……” “哼稠氮!你這毒婦竟也來了半开?” 一聲冷哼從身側(cè)響起寂拆,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤纠永,失蹤者是張志新(化名)和其女友劉穎尝江,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體苍日,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡窗声,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年相恃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片笨觅。...
    茶點(diǎn)故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡拦耐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出见剩,到底是詐尸還是另有隱情杀糯,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布炮温,位于F島的核電站,受9級特大地震影響牵舵,放射性物質(zhì)發(fā)生泄漏柒啤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一畸颅、第九天 我趴在偏房一處隱蔽的房頂上張望担巩。 院中可真熱鬧,春花似錦没炒、人聲如沸涛癌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拳话。三九已至,卻和暖如春种吸,著一層夾襖步出監(jiān)牢的瞬間弃衍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工坚俗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留镜盯,地道東北人。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓猖败,卻偏偏與公主長得像速缆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子恩闻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評論 2 354

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

  • 迷陣 “單元測試艺糜,集成測試,端到端測試,安全測試倦踢,性能測試送滞,壓力測試,契約測試辱挥,冒煙測試犁嗅,驗(yàn)收測試,API測試晤碘,U...
    王健_TW閱讀 1,672評論 2 4
  • 碼農(nóng)的產(chǎn)品和服務(wù)大都是以軟件形式存在的褂微,我們存在的價(jià)值之一就是快速提供高質(zhì)量的軟件產(chǎn)品或服務(wù)。如何保障軟件的高質(zhì)量...
    abel_cao閱讀 947評論 0 10
  • 有人喜歡創(chuàng)造世界园爷,他們做了開發(fā)者宠蚂;有的人喜歡開發(fā)者,他們做了測試員童社。什么是軟件測試求厕?軟件測試就是一場本該在用戶面前...
    愛碼小士閱讀 1,947評論 2 17
  • 一、軟件測試背景 引言:軟件測試在軟件生命周期中占據(jù)重要的地位扰楼,軟件測試慢慢的獨(dú)立發(fā)展成為一個行業(yè)呀癣,并且在迅猛發(fā)展...
    Anwfly閱讀 985評論 0 2
  • 測試現(xiàn)在被普遍認(rèn)為“保證產(chǎn)品質(zhì)量”這個籠統(tǒng)的說法下项栏,而測試本身是什么呢?今天我們就測試本身跟大家一起討論蹬竖。 測試是...
    西邊人閱讀 4,624評論 2 52