集成測試過程及測試的基本方法

發表于:2009-11-12來源:作者:點擊數: 標簽:
集成測試過程及測試的基本方法 軟件測試 一、軟件測試之集成測試過程 軟件測試的目的?測試的目的是想以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷,通過修正種錯誤和缺陷提高軟件質量,回避軟件發布后由于潛在的 軟件缺陷 和錯誤造成的隱患帶來

集成測試過程及測試的基本方法      軟件測試

 

一、軟件測試之集成測試過程

軟件測試的目的?測試的目的是想以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷,通過修正種錯誤和缺陷提高軟件質量,回避軟件發布后由于潛在的軟件缺陷和錯誤造成的隱患帶來的商業風險。Beta 測試:在客戶場地,由客戶進行的對產品預發布版本的測試。軟件驗收測試合格通過準則:

  1)軟件需求分析說明書中定義的所有功能已全部實現,性能指標全部達到要求。

  2)所有測試項沒有殘余的一級二級三級的錯誤。

  3)立項審批表、需求分析文檔、設計文檔和編碼實現一致。

  4)驗收測試工件齊全(測試計劃,測試用例,測試日志,測試通知單,測試分析報告)軟件驗收測試包括正式驗收測試、alpha測試、beta測試三種測試。系統測試的策略:功能測試,性能測試,外部接口測試,界面測試,強度測試,冗余測試,可靠性測試,恢復測試等設計系統測試計劃需要參考的項目文檔有軟件測試計劃、軟件需求工件、和迭代計劃。

  利用因果圖導出測試用例需要經過的一般步驟:

  1.分析程序規格說明的描述中,哪些是原因,哪些是結果。

  2.分析程序規格說明的描述中語義的內容,并將其表示成連接各個原因與各個結果的因果圖

  3.在因果圖上使用若干個特殊的符號標明特定的約束條件

  4.把因果圖轉換成判定表

  5.把判定表中每一列表示的情況寫成測試用例 階段評審與同行評審的區別同行評審目的:發現小規模工作產品的錯誤,只要是找錯誤;

  階段評審目的:評審模塊階段作品的正確性可行性及完整性

  同行評審人數:3-7人人員必須經過同行評審會議的培訓,由SQA指導

  階段評審人數:5人左右評審人必須是專家具有系統評審資格

  同行評審內容:內容小一般文檔 < 40頁, 代碼 < 500行

  階段評審內容:內容多,主要看重點

  同行評審時間:一小部分工作產品完成

  階段評審時間:通常是設置在關鍵路徑的時間點上!什么是軟件測試?使用人工或自動手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。軟件測試就是在軟件投入運行前,對軟件需求分析、設計規格說明和編碼的最終復審,是軟件質量保證的關鍵步驟。軟件測試是為了發現錯誤而執行程序的過程。簡述集成測試的過程根據IEEE標準 集成測試劃分為4個階段:計劃階段,設計階段,實現階段,執行階段(實施階段)

  計劃階段

  1)時間安排 概要設計完成評審后大約一個星期

  2)輸入 需求規格說明書 概要設計文檔 產品開發計劃路標

  3)入口條件 概要設計文檔已經通過評審

  4)活動步驟 1.定被測試對象和測試范圍 2.評估集成測試被測試對象的數量及難度,即工作量 3.確定角色分工和作任務4.標識出測試各階段的時間,任務,約束等條件5.考慮一定的風險分析及應急計劃6.考慮和準備集成測試需要的測試工具,測試儀器,環境等資源7.考慮外部技術支援的力度和深度,以及相關培訓安排8.定義測試完成標準

  5)輸出 集成測試計劃

  6)出口條件 集成測試計劃通過概要設計階段基線評審

二、集成測試的基本方法                                         

時常有這樣的情況發生,每個模塊都能單獨工作,但這些模塊集成在一起之后卻不能正常工作。主要原因是,模塊相互調用時接口會引入許多新問題。例如,數據經過接口可能丟失;一個模塊對另一模塊可能造成不應有的影響;幾個子功能組合起來不能實現主功能;誤差不斷積累達到不可接受的程度;全局數據結構出現錯誤,等等。綜合測試是組裝軟件的系統測試技術,按設計要求把通過單元測試的各個模塊組裝在一起之后,進行綜合測試以便發現與接口有關的各種錯誤。

  某設計人員習慣于把所有模塊按設計要求一次全部組裝起來,然后進行整體測試,這稱為非增量式集成。這種方法容易出現混亂。因為測試時可能發現一大堆錯誤,為每個錯誤定位和糾正非常困難,并且在改正一個錯誤的同時又可能引入新的錯誤,新舊錯誤混雜,更難斷定出錯的原因和位置。與之相反的是增量式集成方法,程序一段一段地擴展,測試的范圍一步一步地增大,錯誤易于定位和糾正,界面的測試亦可做到完全徹底。下面討論兩種增量式集成方法。

1 自頂向下集成

  自頂向下集成是構造程序結構的一種增量式方式,它從主控模塊開始,按照軟件的控制層次結構,以深度優先或廣度優先的策略,逐步把各個模塊集成在一起。深度優先策略首先是把主控制路徑上的模塊集成在一起,至于選擇哪一條路徑作為主控制路徑,這多少帶有隨意性,一般根據問題的特性確定。以下圖為例,若選擇了最左一條路徑,首先將模塊M1,M2,M5和M8集成在一起,再將M6集成起來,然后考慮中間和右邊的路徑。廣度優先策略則不然,它沿控制層次結構水平地向下移動。仍以下圖為例,它首先把M2、M3和M4與主控模塊集成在一起,再將M5和M6 和其他模塊集資集成起來。

自頂向下綜合測試的具體步驟為:
  1 以主控模塊作為測試驅動模塊,把對主控模塊進行單元測試時引入的所有樁模塊用實際模塊替代;
  2 依據所選的集成策略(深度優先或廣度優先),每次只替代一個樁模塊;
  3 每集成一個模塊立即測試一遍;
  4 只有每組測試完成后,才著手替換下一個樁模塊;
  5 為避免引入新錯誤,須不斷地進行回歸測試(即全部或部分地重復已做過的測試)。

從第二步開始,循環執行上述步驟,直至整個程序結構構造完畢。下圖中,實線表示已部分完成的結構,若采用深度優先策略,下一步將用模塊M7替換樁模塊S7,當然M7本身可能又帶有樁模塊,隨后將被對應的實際模塊一一替代。

自頂向下集成的優點在于能盡早地對程序的主要控制和決策機制進行檢驗,因此較早地發現錯誤。缺點是在測試較高層模塊時,低層處理采用樁模塊替代,不能反映真實情況,重要數據不能及時回送到上層模塊,因此測試并不充分。解決這個問題有幾種辦法,第一種是把某些測試推遲到用真實模塊替代樁模塊之后進行,第二種是開發能模擬真實模塊的樁模塊;第三種是自底向上集成模塊。第一種方法又回退為非增量式的集成方法,使錯誤難于定位和糾正,并且失去了在組裝模塊時進行一些特定測試的可能性;第二種方法無疑要大大增加開銷;第三種方法比較切實可行,下面專門討論。

2自底上集成

  自底向上測試是從“原子”模塊(即軟件結構最低層的模塊)開始組裝測試,因測試到較高層模塊時,所需的下層模塊功能均已具備,所以不再需要樁模塊。

  自底向上綜合測試的步驟分為:
  1 把低層模塊組織成實現某個子功能的模塊群(cluster);
  2 開發一個測試驅動模塊,控制測試數據的輸入和測試結果的輸出;
  3 對每個模塊群進行測試;
  4 刪除測試使用的驅動模塊,用較高層模塊把模塊群組織成為完成更大功能的新模塊群。

從第一步開始循環執行上述各步驟,直至整個程序構造完畢。

下圖說明了上述過程。首先“原子”模塊被分為三個模塊群,每個模塊群引入一個驅動模塊進行測試。因模塊群1、模塊群2中的模塊均隸屬于模塊Ma,因此在驅動模塊D1、D2去掉后,模塊群1與模塊群2直接與Ma接口,這時可對MaD3被去掉后,M3與模塊群3直接接口,可對Mb進行集成測試,最后Ma、Mb和 Mc全部集成在一起進行測試。

自底向上集成方法不用樁模塊,測試用例的設計亦相對簡單,但缺點是程序最后一個模塊加入時才具有整體形象。它與自頂向綜合測試方法優缺點正好相反。因此,在測試軟件系統時,應根據軟件的特點和工程的進度,選用適當的測試策略,有時混和使用兩種策略更為有效,上層模塊用自頂向下的方法,下層模塊用自底向上的方法。

  此外,在綜合測試中尤其要注意關鍵模塊,所謂關鍵模塊一般都具有下述一或多個特征:①對應幾條需求;②具有高層控制功能;③復雜、易出錯;④有特殊的性能要求。關鍵模塊應盡早測試,并反復進行回歸測試。

 

 

 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97