陜西工業(yè)職業(yè)技術(shù)學(xué)院 楊 鵬
首先,持續(xù)集成和集成測(cè)試還是有很大區(qū)別,持續(xù)集成強(qiáng)調(diào)的是自動(dòng)化的編譯構(gòu)建,部署,自動(dòng)化的冒煙測(cè)試,保證開(kāi)發(fā)過(guò)程的產(chǎn)出隨時(shí)都可以構(gòu)建一個(gè)冒煙測(cè)試通過(guò)的可用版本。而集成測(cè)試則涉及到嚴(yán)格的測(cè)試策略,測(cè)試方案,集成測(cè)試順序,各個(gè)集成功能點(diǎn)的覆蓋,詳細(xì)的功能性測(cè)試等。集成測(cè)試不僅僅是接口測(cè)試,更重要的是以接口質(zhì)量為前提的跨組件功能性測(cè)試。
集成測(cè)試,也叫組裝測(cè)試或聯(lián)合測(cè)試。在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測(cè)試。實(shí)踐表明,一些模塊雖然能夠單獨(dú)地工作,但并不能保證連接起來(lái)也能正常的工作。程序在某些局部反映不出來(lái)的問(wèn)題,在全局上很可能暴露出來(lái),影響功能的實(shí)現(xiàn)。
理論上凡是兩個(gè)單元(如函數(shù)單元)的組合測(cè)試都可以叫做集成測(cè)試。實(shí)際操作中,通常集成測(cè)試的對(duì)象為模塊級(jí)的集成和子系統(tǒng)間的集成,其中子系統(tǒng)集成測(cè)試稱為組件測(cè)試。
在單元測(cè)試和系統(tǒng)測(cè)試間起到承上啟下的作用,既能發(fā)現(xiàn)大量單元測(cè)試階段不易發(fā)現(xiàn)的接口類錯(cuò)誤,又可以保證在進(jìn)入系統(tǒng)測(cè)試前及早發(fā)現(xiàn)錯(cuò)誤,減少損失。
對(duì)系統(tǒng)而言,接口錯(cuò)誤是最常見(jiàn)的錯(cuò)誤,單元測(cè)試通常是單人執(zhí)行,而集成測(cè)試通常是多人執(zhí)行或第三方執(zhí)行。集成測(cè)試通過(guò)模塊間的交互作用和不同人的理解和交流,更容易發(fā)現(xiàn)實(shí)現(xiàn)上、理解上的不一致和差錯(cuò)。
●在開(kāi)始體系結(jié)構(gòu)設(shè)計(jì)的時(shí)候開(kāi)始;
●在進(jìn)入詳細(xì)設(shè)計(jì)之前完成集成測(cè)試方案;
●在進(jìn)入系統(tǒng)測(cè)試之前結(jié)束集成測(cè)試。
●集成測(cè)試是產(chǎn)品研發(fā)中的重要工作,需要為其分配足夠的資源和時(shí)間。
●集成測(cè)試需要經(jīng)過(guò)嚴(yán)密的計(jì)劃,并嚴(yán)格按計(jì)劃執(zhí)行。
●應(yīng)采取增量式的分步集成方式,逐步進(jìn)行軟件部件的集成和測(cè)試。
●應(yīng)重視測(cè)試自動(dòng)化技術(shù)的引入與應(yīng)用,不斷提高集成測(cè)試效率。
●應(yīng)該注意測(cè)試用例的積累和管理,方便進(jìn)行回歸并進(jìn)行測(cè)試用例補(bǔ)充。
在整個(gè)軟件開(kāi)發(fā)都可迭代的模式下,要意識(shí)到集成測(cè)試過(guò)程本身也是可以迭代的。大型產(chǎn)品集成不應(yīng)該等待到真正各個(gè)子系統(tǒng)或業(yè)務(wù)模塊都開(kāi)發(fā)好才開(kāi)始集成測(cè)試。功能開(kāi)發(fā)的迭代直接驅(qū)動(dòng)集成測(cè)試過(guò)程也是迭代,同時(shí)在每個(gè)集成測(cè)試周期中最好又分為幾個(gè)關(guān)鍵點(diǎn),首先是服務(wù)模擬器,其次是替換掉模擬器聯(lián)調(diào)通組件接口,再次測(cè)試接口服務(wù)中詳細(xì)實(shí)現(xiàn)。
我一直認(rèn)為這是集成測(cè)試中非常關(guān)鍵的一個(gè)內(nèi)容,集成順序的確定涉及到前期大量的組件間依賴關(guān)系分析,業(yè)務(wù)功能點(diǎn)和接口對(duì)應(yīng)關(guān)系分析等。特別是發(fā)展到現(xiàn)在,我們發(fā)現(xiàn)很多時(shí)候組件間不再是以前單純的單向依賴關(guān)系,由于接口服務(wù)注冊(cè)在總線上,導(dǎo)致多個(gè)組件間可以相互依賴,所以前面簡(jiǎn)單的組件依賴分析已經(jīng)不適用,替代的方法是基于跨組件的流程協(xié)同分析,以核心流程驅(qū)動(dòng)組件間的組裝順序。
同時(shí),對(duì)于傳統(tǒng)的自頂向下集成和自底向上集成方法往往都不能完全覆蓋。很多時(shí)候采用的都會(huì)是混合集成的策略。一個(gè)是為了及早的看到集成的效果我們期望從頂向下,但是卻需要大量的模擬器和stub樁模塊。另外一個(gè)是為了減少模擬器,我們從最底層向上集成,但是往往卻將風(fēng)險(xiǎn)延遲到最后發(fā)現(xiàn)。
在每個(gè)組件或模塊的單元測(cè)試階段更加容易實(shí)現(xiàn)每日構(gòu)建和持續(xù)集成,持續(xù)集成完后應(yīng)該對(duì)每個(gè)獨(dú)立模塊進(jìn)行詳細(xì)測(cè)試,但是測(cè)試需要依賴一定的模擬器。在集成測(cè)試環(huán)境則進(jìn)入到集成流水線,集成流水線的準(zhǔn)入應(yīng)該是每個(gè)組件在單元測(cè)試環(huán)境都完全測(cè)試通過(guò),集成流水線根據(jù)組件的集成需求來(lái)規(guī)劃具體的測(cè)試計(jì)劃和測(cè)試方案。集成測(cè)試過(guò)程仍然應(yīng)該首先是冒煙測(cè)試進(jìn)行準(zhǔn)入驗(yàn)證,然后是接口測(cè)試,然后是詳細(xì)功能測(cè)試,最終交付到驗(yàn)收。
●所有軟件模塊完后單元測(cè)試后一次集成。
●優(yōu)點(diǎn):測(cè)試過(guò)程中基本不需要設(shè)計(jì)開(kāi)發(fā)測(cè)試工具。
●不足:對(duì)于復(fù)雜系統(tǒng),當(dāng)出現(xiàn)問(wèn)題時(shí)故障定位困難,和系統(tǒng)測(cè)試接近,難以體現(xiàn)和發(fā)揮集成測(cè)試的優(yōu)勢(shì)。
●逐漸集成,由小到大,邊集成邊測(cè)試,測(cè)完一部分,再連接一部分。
●在復(fù)雜系統(tǒng)中,劃分的軟件單元較多,通常是不會(huì)一次集成的。
●軟件集成的精細(xì)度取決于集成策略。通常的做法是先模塊間的集成,再部件間的集成。
●優(yōu)點(diǎn):測(cè)試層次清晰,出現(xiàn)問(wèn)題能夠快速定位。
●缺點(diǎn):需要開(kāi)發(fā)測(cè)試驅(qū)動(dòng)和樁。
●集成測(cè)試在實(shí)現(xiàn)方式上和單元測(cè)試是一樣的,需要根據(jù)測(cè)試需求設(shè)計(jì)實(shí)現(xiàn)相應(yīng)的測(cè)試驅(qū)動(dòng)和測(cè)試樁,同時(shí)也可以借助一些工具進(jìn)行輔助測(cè)試。
●對(duì)我們的系統(tǒng)而言,相對(duì)于單元測(cè)試,適用的商用集成測(cè)試選擇面更窄。
●實(shí)際工作中,各項(xiàng)目開(kāi)發(fā)的模擬工具即屬于集成測(cè)試工具,但在系統(tǒng)化、靈活性、通用性上尚欠缺,缺乏系統(tǒng)全面的設(shè)計(jì)。
●現(xiàn)有的模擬工具在測(cè)試自動(dòng)化上也需改進(jìn),如實(shí)現(xiàn)測(cè)試數(shù)據(jù)的自動(dòng)生成、測(cè)試用例的自動(dòng)運(yùn)行、測(cè)試結(jié)果的自動(dòng)保存和比較等。
所有的軟件項(xiàng)目都不能擺脫系統(tǒng)集成這個(gè)階段。不管采用什么開(kāi)發(fā)模式,具體的開(kāi)發(fā)工作總得從一個(gè)一個(gè)的軟件單元做起,軟件單元只有經(jīng)過(guò)集成才能形成一個(gè)有機(jī)的整體。具體的集成過(guò)程可能是顯性的也可能是隱性的。只要有集成,總是會(huì)出現(xiàn)一些常見(jiàn)問(wèn)題,工程實(shí)踐中集成測(cè)試,幾乎不存在軟件單元組裝過(guò)程中不出任何問(wèn)題的情況。
[1]李天日,林寧,高林.基于國(guó)產(chǎn)基礎(chǔ)軟件應(yīng)用系統(tǒng)的性能測(cè)試與優(yōu)化研究[J].微型機(jī)與應(yīng)用,2010(11).
[2]謝謙,高林,楊建軍.國(guó)產(chǎn)基礎(chǔ)軟件標(biāo)準(zhǔn)化與研發(fā)、測(cè)試、應(yīng)用[J].信息技術(shù)與標(biāo)準(zhǔn)化,2008(06).
[3][美]Paul C Jorgensen.軟件測(cè)試[M].韓柯,杜旭濤,譯.機(jī)械工業(yè)出版社(2版),2002.
[4]張艷梅,姜淑娟,張紅昌.一種基于動(dòng)態(tài)依賴關(guān)系的類集成測(cè)試方法[J].計(jì)算機(jī)學(xué)報(bào),2011(6).