軟件測試實用教程-方法與實踐(第2版)-參考答案 ch08_第1頁
軟件測試實用教程-方法與實踐(第2版)-參考答案 ch08_第2頁
軟件測試實用教程-方法與實踐(第2版)-參考答案 ch08_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第8章集成測試什么是集成測試?集成測試,也叫\(zhòng)t"/item/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95/_blank"組裝測試或聯(lián)合測試。在\t"/item/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95/_blank"單元測試的基礎上,將所有模塊按照設計要求(如根據(jù)結構圖)組裝成為子系統(tǒng)或系統(tǒng),進行集成測試。實踐表明,一些模塊雖然能夠單獨地工作,但并不能保證連接起來也能正常的工作。一些局部反映不出來的問題,在全局上很可能暴露出來。集成測試(也叫\(zhòng)t"/item/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95/_blank"組裝測試,聯(lián)合測試)是\t"/item/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95/_blank"單元測試的邏輯擴展。它最簡單的形式是:把兩個已經測試過的單元組合成一個組件,測試它們之間的\t"/item/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95/_blank"接口。從這一層意義上講,組件是指多個單元的集成聚合。在現(xiàn)實方案中,許多單元組合成組件,而這些組件又聚合為程序的更大部分。方法是測試片段的組合,并最終擴展成進程,將模塊與其他組的模塊一起測試。最后,將構成進程的所有模塊一起測試。此外,如果程序由多個進程組成,應該成對測試它們,而不是同時測試所有進程。集成測試是\t"/item/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95/_blank"單元測試的邏輯擴展。在現(xiàn)實方案中,集成是指多個單元的聚合,許多單元組合成模塊,而這些模塊又聚合成程序的更大部分,如分系統(tǒng)或系統(tǒng)。集成測試采用的方法是測試\t"/item/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95/_blank"軟件單元的組合能否正常工作,以及與其他組的模塊能否集成起來工作。最后,還要測試構成系統(tǒng)的所有模塊組合能否正常工作。集成測試所持的主要標準是《\t"/item/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95/_blank"軟件\t"/item/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95/_blank"概要設計規(guī)格說明》,任何不符合該說明的\t"/item/%E9%9B%86%E6%88%90%E6%B5%8B%E8%AF%95/_blank"程序模塊行為都應該加以記載并上報。集成測試與單元測試有何區(qū)別?●測試對象不同。單元測試對象是實現(xiàn)了具體功能的程序單元:集成測試對象是概要設計規(guī)劃中的模塊及模塊間的組合。●測試方法不同。單元測試中的主要方法是基于代碼的白盒測試:集成測試中主要使用基于功能的黑盒測試。●測試時間不同。集成測試晚于單元測試。●測試內容不同。單元測試主要是模塊內程序的邏輯、功能、參數(shù)傳遞、變量引用、出錯處理及需求和設計中具體要求方面的測試:集成測試主要驗證各個接口、接口之間的數(shù)據(jù)傳遞關系,及模塊組合后能否達到預期效果。如何評價某種集成測試方法?1)集成測試就是在單元測試的基礎上,將所有已通過單元測試的模塊按照概要設計的要求組裝為子系統(tǒng)或系統(tǒng),并進行測試的過程,目的是確保各單元模塊組合在一起后能夠按既定意圖協(xié)作運行,并確保增量的行為正確。2)從四個方面對集成測試策略進行評價:測試用例的規(guī)模驅動模塊的設計樁模塊的設計缺陷的定位成對集成與鄰居集成的基本思想是怎樣的?有何特點?成對集成的基本思想是將每個集成測試用例限定在一對調用單元上,每個集成測試用例都是最小的集成單元,僅涉及一對調用的接口。這樣做最大的好處就是使得缺陷非常容易定位,一旦某個集成測試用例失敗,可以肯定地說,一定是該用例涉及的這一對模塊的接口有問題。鄰居集成的基本思想是將每個集成測試用例限定在某個節(jié)點的鄰居上,針對某個模塊的集成測試用例應同時包含該模塊及其鄰居。所謂鄰居,是對應某個模塊的一個特定鄰域模塊集合,它包括指定的某個模塊、所有直接調用該模塊的上層模塊以及所有被該模塊直接調用的下層模塊。鄰居的構成有兩種方式:(1)處于中間層的模塊。每個處于調用圖中間層的模塊既有上層調用模塊,又有下層被調用模塊,自然形成一組鄰居,構成一個集成測試用例。(2)根節(jié)點直接調用葉子節(jié)點。當根節(jié)點模塊直接調用葉子節(jié)點模塊時,根模塊與所有被它直接調用的葉子模塊共同形成一組鄰居,構成一個集成測試用例。請比較大爆炸集成、自頂向下、自底向上和三明治集成策略。大爆炸集成(BigBang)是將所有經過單元測試的模塊一次性組裝到被測系統(tǒng)中進行測試,完全不考慮模塊之間的依賴性和可能的風險。大爆炸集成就是將所有7個模塊放在一起進行測試,即僅需一個測試用例,達到用例規(guī)模的最小化。同時,由于該測試一次性包含了所有模塊,無須開發(fā)樁和驅動模塊。顯而易見的弊端是直接導致缺陷定位異常困難。一旦用例失敗,完全不知道是哪對模塊的調用接口出了問題。特別地,即使被測系統(tǒng)能夠一次性集成成功,也會有許多接口缺陷逃過測試而進入系統(tǒng)測試,給系統(tǒng)測試帶來不良影響,大大增加系統(tǒng)測試的負擔。大爆炸集成違反了測試從小范圍到大范圍展開的基本原則,一般情況下不采用這種集成方式,僅在涉及模塊和接口數(shù)量不多的情況下使用小范圍的大爆炸集成。若集成測試針對的是穩(wěn)定的軟件版本,當前測試的系統(tǒng)僅僅是增加或修改了少數(shù)幾個模塊,也可采用大爆炸集成策略。自頂向下的集成(TopDown)是從主控模塊(主程序,即根節(jié)點)開始,按照系統(tǒng)程序結構,沿著控制層次從上而下,逐漸將各模塊組裝起來。該集成測試方式下無須開發(fā)驅動模塊,但需對未經集成測試的模塊開發(fā)樁模塊。集成中采用寬度優(yōu)先或深度優(yōu)先的策略向下推進,步驟如下:(1)對根節(jié)點進行集成測試,所有被根節(jié)點直接調用的模塊均用樁模塊來代替。(2)根據(jù)選擇的推進策略(寬度優(yōu)先或深度優(yōu)先),用實際模塊替換樁模塊(一般每次僅替換一個),并用新的樁模塊代替新加入的模塊,與已測模塊或子系統(tǒng)構成新的子系統(tǒng),進行測試。(3)回歸測試,全部或部分執(zhí)行以前做過的測試,以確保新加入的模塊未引入新的缺陷。(4)重復步驟(2)、(3),直至所有模塊都已集成到系統(tǒng)中。自底向上的集成(BottomUp)是從底層模塊(即葉子節(jié)點)開始,按照調用圖的結構,從下而上,逐層將各模塊組裝起來。該集成測試方式下無須開發(fā)樁模塊,但需對未經集成測試的模塊開發(fā)驅動模塊。集成中采用寬度優(yōu)先或深度優(yōu)先的策略向上推進,步驟如下:(1)對葉子節(jié)點進行集成測試,所有直接調用葉子節(jié)點的模塊均用驅動模塊來代替;(2)用實際模塊替換驅動模塊(一般每次僅替換一個),并用新的驅動模塊代替新加入的模塊,與下層所有已測的被調用模塊構成新的子系統(tǒng)(子功能),進行測試;(3)回歸測試,即全部或部分執(zhí)行以前做過的測試,以確保新加入的模塊未引入新的缺陷;(4)重復步驟(2)、(3),直至所有模塊都已集成到系統(tǒng)中。三明治集成(Sandwich)是將自頂向下和自底向上集成方法結合起來的集成策略。在調用圖上按照一定的策略,分別自頂向下和自底向上展開集成,并在子樹上進行大爆炸集成。策略一:將系統(tǒng)劃分為三層,中間層為目標層,測試時對目標層上面的層使用自頂向下的集成策略,對目標層下面的層使用自底向上的集成策略。策略二:基于策略一并對目標層采用獨立測試策略,確保目標層模塊在集成測試之前得到充分的測試。策略三:對包含讀操作的子系統(tǒng)自底向上集成測試直至根節(jié)點,然后對包含寫操作的子系統(tǒng)自頂向下集成測試直至葉子節(jié)點。集成測試的一般過程是怎樣的?1.制定測試計劃:確定測試范圍、測試目標和測試策略,并制定詳細的測試計劃。2.設計測試用例:根據(jù)需求和設計文檔,設計測試

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論