系統定義 維護
------\------------------------------/------------
需求分析 ..... 系統測試
\ /
概要設計 ..... 集成測試
\ /
詳細設計 ... 單元測試
\ /
編碼
與需求分析對應的是系統測試。因為需求分析的工作是分解用戶的功能和性能需求并規格化,所以系統測試的工作主要就是測試這些功能和性能指標是否都在軟件中正確實現。
該測試把軟件作為一個黑盒,針對每個需求規格組織各種輸入并根據軟件輸出來判斷該需求規格是否正確實現,因此系統測試屬于黑盒測試。與概要設計對應的是集成 測試。因為概要設計的工作主要是根據功能把大的系統進行模塊分解,所以集成測試的工作主要是,把各模塊逐步集成在一起,來測試數據是否能夠在各模塊間正確 流動,以及各模塊能否正確同步。因為這種測試依賴于軟件的架構但又不關心每個函數的實現細節,所以該測試又常稱為灰盒測試。與詳細設計對應的是單元測試。 它主要是詳細設計中的每個功能單元(通常是函數或過程)進行邏輯覆蓋測試,因此這種測試屬于白盒測試。與從需求到設計、統測試,于是就形成了一個V字形的 結構。
與在瀑布模型中描述的一樣,這些測試活動也是順序進行的,并遵循一定的輸入和輸出規則(具體的測試在以后的章節中會詳細描述),但是這些階段也同樣可以重疊和反復。
瀑布模型的優點是清楚地標識出了軟件開發的階段。它采用自頂向下逐步求精的方式把整個開發過程分成不同的階段,每個階段的工作都很明確,因此便于控制開發過程。當所有的階段都完成之后,該軟件的開發過程也隨之結束。
瀑布模型的缺點正是它自身的順序性所導致的。實際的開發過程中,在需求階段很難把用戶的需求完全明確下來,因此,當需求變更時將會導致階段反復,而且都要重復需求、設計、編碼、測試等過程。
實際的開發過程中,用得較多的就是瀑布/V模型,只是可以根據實際需要進行階段合并與裁減。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/