為什么一定要做集成測試

集成測試抡笼,我們都不陌生,幾乎我們產(chǎn)品每天都在進(jìn)行甜奄。但是我們真的有好好思考:為什么一定要做集成測試嗎柠横?只是為了簡單的將“積木”搭起來就行窃款,還是有什么其他的深意?

深意可能不一定會有牍氛。但是意義是肯定存在的晨继。

一、 如何看待集成測試搬俊?

James Bach認(rèn)為紊扬,集成測試的動機(jī)是挖掘與集成相關(guān)的潛在風(fēng)險,是專門為評估與整合相關(guān)的風(fēng)險而設(shè)計的測試悠抹。而我認(rèn)為,集成測試是檢驗一個產(chǎn)品是否初具雛形的關(guān)鍵扩淀。

試想一下楔敌,如果一個生產(chǎn),多個部門負(fù)責(zé)生產(chǎn)車輪驻谆、軸承卵凑、發(fā)動機(jī)等零件,如果零件各自生產(chǎn)出來了胜臊,但不經(jīng)過組裝測試勺卢,而直接等待最終組裝成整車,這會是一個多么大的風(fēng)險象对?

二黑忱、 為什么要集成測試?

我們先來看看整體的意義勒魔。

我們還是采用汽車生產(chǎn)這個比喻甫煞。我們很容易就能發(fā)現(xiàn):對于一個產(chǎn)品整體來說,在某種程度上和某種程度上: 它由部分組成冠绢;為各部分創(chuàng)造一個內(nèi)部環(huán)境抚吠;整體擁有部分不具有的屬性。

我們分別來理解上面所說的三個觀點弟胀。

1楷力、整體由部分組成

例如:我們汽車由車輪、發(fā)動機(jī)孵户、軸承萧朝、車架、方向盤等部分組成夏哭。而每個部分可能有不同的來源(不同的部門或者不同的提供者)剪勿。各部分是為不同的目的而生產(chǎn)。比如車輪是為了行駛方庭,發(fā)動機(jī)是為了提供動力來源厕吉,方向盤是為了方便使用者掌握方向酱固。它們具有不同的屬性,還有可能不是同時間周期創(chuàng)造头朱。比如运悲,車輪可能通過第三方購買,而第三方是早前存貨项钮。

2班眯、整體為各部分創(chuàng)造一個內(nèi)部環(huán)境

這個創(chuàng)造或割離出來的內(nèi)部環(huán)境可以使各部分相互作用,相互依存烁巫,以及與外部環(huán)境的相互作用署隘,而這個內(nèi)部環(huán)境從外部是看不見的。例如:汽車點火按鈕與發(fā)動機(jī)之間的聯(lián)系亚隙,這就屬于一個內(nèi)部環(huán)境磁餐。

3、整體擁有部分不具有的屬性

整體依賴于部分阿弃,但又與部分不同诊霹,擁有他們不具有的屬性。例如:汽車可以很方便的切速形勢渣淳,但單獨的車輪不行脾还。又比如,一個簡單的例子是三腳架的穩(wěn)定性入愧,它不是在它的任何一個單獨的腿上鄙漏,而是在所有的腿一起工作時。

由此可見棺蛛,僅僅通過觀察一個積分的各個部分泥张,你可能無法分辨出你想知道的關(guān)于它的一切。 這就是集成風(fēng)險存在的原因鞠值。在復(fù)雜或重要的系統(tǒng)中媚创,集成測試將是極其重要的,特別是在進(jìn)行了更改之后彤恶。

三钞钙、 集成測試時的啟發(fā)性關(guān)注點?

1声离、即關(guān)注整體芒炼,也要關(guān)注部分。

“整體”由“部分”構(gòu)成术徊,但并意味著一定先存于整體之前本刽,或者在集成的過程中沒有改變。這意味著我們需要我們可以富有成效地思考產(chǎn)品的各個部分,以及它們?nèi)绾闻c其他部分相互作用子寓。

2暗挑、即關(guān)注集成,也要關(guān)注解體斜友。

“解體也會帶來整合”炸裆。當(dāng)你把某部分拿走,或者把產(chǎn)品拆開鲜屏,你最終會得到一個新的整合烹看,這個時候也會有風(fēng)險存在。舉個例子:集成過程中某個組件延遲集成洛史,對整個產(chǎn)品造成的風(fēng)險惯殊。

3、要關(guān)注集成的程度和種類也殖。

“融合不是全或無——有不同的程度和種類“土思。一個產(chǎn)品可能會意外地集成,因為它使用的是沒有人意識到它擁有的部分毕源。它可能是松散集成的浪漠,比如一只可以丟棄尾巴的壁虎陕习,或者一個帶有插件的瀏覽器霎褐。它可能是緊密集成的再舉個例子:當(dāng)我們從一個產(chǎn)品中獲取代碼,并將其添加到另一個產(chǎn)品的不同位置時该镣,我們可以邊走邊編輯冻璃,它可能會保留其部件的現(xiàn)有接口,或違反它們损合,或重新設(shè)計它們省艳,或消除它們。

特別是在集成測試時嫁审,我們往往重心在正向集成上跋炕,而忽略了解體時存在的一些風(fēng)險。舉例:常見來說律适,產(chǎn)品多組件安裝辐烂,我們常關(guān)注安裝是否成功,而容易忽略部分卸載或整體卸載時的風(fēng)險捂贿。

四纠修、怎么進(jìn)行集成測試?

本節(jié)我們要說的是怎么拆分集成測試厂僧。

從整個產(chǎn)品來說扣草,我們可以做兩層或更多層的集成測試。例如:我們可以對發(fā)動機(jī)這個組件設(shè)置一個集成測試。因為放大來看辰妙,發(fā)動機(jī)也是由許多小組件構(gòu)成鹰祸。同樣的,還可以對車輪設(shè)置一個集成測試上岗。

而從整體來說福荸,汽車本身也可以設(shè)置一個集成測試。因為它是一個對外交付的產(chǎn)品肴掷。

有的人可能就會說敬锐,到汽車應(yīng)該是系統(tǒng)測試了!這兩者的差異主要在于你的關(guān)注點是什么:如果你關(guān)注的是組件間的接口是否合理可用呆瞻,那么你可以把這個環(huán)節(jié)叫做集成測試台夺;如果你關(guān)注的是整車的可用性和功能性,你可以叫它系統(tǒng)測試痴脾。

不同的人可能會將不同的事物識別為部件颤介、環(huán)境或產(chǎn)品。沒關(guān)系赞赖。我們也可以自由地移動鏡頭滚朵,嘗試不同的視角。所以說前域,我們集成測試設(shè)置的粒度取決于我們的關(guān)注范圍辕近,并沒有一個一成不變的標(biāo)準(zhǔn)。

因此匿垄,我們可以從產(chǎn)品層面劃分集成測試移宅,也可以從團(tuán)隊層面劃分集成測試。

1椿疗、 產(chǎn)品層面劃分

假如產(chǎn)品P由組件C1漏峰、C2、…届榄、C7組成浅乔,我們可以針對單個組件設(shè)置一級集成測試。如铝条,ItergrationTest1靖苇、ItergrationTest2、…攻晒、ItergrationTest7顾复;再往上,交互組件C1和C2鲁捏,C3和C4芯砸、…萧芙、C7之間可以設(shè)置二級集成測試ItergrationTest12、ItergrationTest34567假丧;直到產(chǎn)品級集成測試ItergrationTestP双揪。

2、 團(tuán)隊層面劃分

根據(jù)不同團(tuán)隊劃分集成測試包帚。一個團(tuán)隊可能會負(fù)責(zé)多個組件渔期,組件的集成測試交由團(tuán)隊考慮。因此渴邦,從團(tuán)隊層面考慮疯趟,我們可以劃分為團(tuán)隊集成測試TeamItergrationTest1、TeamItergrationTest2……谋梭,以及項目級集成測試ProjectItergrationTest信峻。

五、 最后說一說

從上面描述我們可以看出集成測試在產(chǎn)品研發(fā)過程中的重要性瓮床,以及我們在設(shè)計集成測試和分層集成測試時容易忽略的一些思考點盹舞。希望能夠幫助正在閱讀的你有所收獲~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市隘庄,隨后出現(xiàn)的幾起案子踢步,更是在濱河造成了極大的恐慌,老刑警劉巖丑掺,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件获印,死亡現(xiàn)場離奇詭異,居然都是意外死亡吼鱼,警方通過查閱死者的電腦和手機(jī)蓬豁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門绰咽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來菇肃,“玉大人,你說我怎么就攤上這事取募∷霭” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵玩敏,是天一觀的道長斗忌。 經(jīng)常有香客問我,道長旺聚,這世上最難降的妖魔是什么织阳? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮砰粹,結(jié)果婚禮上唧躲,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好弄痹,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布饭入。 她就那樣靜靜地躺著,像睡著了一般肛真。 火紅的嫁衣襯著肌膚如雪谐丢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天蚓让,我揣著相機(jī)與錄音乾忱,去河邊找鬼。 笑死历极,一個胖子當(dāng)著我的面吹牛饭耳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播执解,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼寞肖,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了衰腌?” 一聲冷哼從身側(cè)響起新蟆,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎右蕊,沒想到半個月后琼稻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡饶囚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年帕翻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萝风。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘀掸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出规惰,到底是詐尸還是另有隱情睬塌,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布歇万,位于F島的核電站揩晴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏贪磺。R本人自食惡果不足惜硫兰,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望寒锚。 院中可真熱鬧劫映,春花似錦呻粹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至摹蘑,卻和暖如春筹燕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背衅鹿。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工撒踪, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人大渤。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓制妄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親泵三。 傳聞我的和親對象是個殘疾皇子耕捞,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

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