軟件分析模型包含哪些內容,他們之間有什么聯系 軟件模型包括哪些內容



文章插圖
軟件分析模型包含哪些內容,他們之間有什么聯系 軟件模型包括哪些內容

文章插圖

軟件測試在軟件開發過程中占有重要的地位,在傳統的瀑布模型中,軟件測試只成為其階段性的一段工作——進行代碼的測試 。而現代軟件工程思想將軟件測試認為是貫穿整個軟件生命周期,并且是保證軟件質量的重要手段之一 。
有些研究數據顯示,在國外軟件開發的工作量中,軟件測試的工作量占有總工作量的40%左右;軟件開發的總費用中軟件測試占有30%-50% 。對于一些高科技開發系統,軟件測試占有的時間和費用可能更多更高 。
1、軟件測試與軟件開發
軟件測試在項目各個階段的作用如下:
· 項目規劃階段:負責從單元測試到系統測試的整個測試階段的監控 。
· 需求分析階段:確定測試需求分析,即確定在項目中需要測試什么,同時制定系統測試計劃 。
· 概要設計與詳細設計階段:制定單元測試計劃和集成測試計劃 。
· 編碼階段:編寫相應的測試代碼和測試腳本 。
· 測試階段:執行測試并提交相應的測試報告 。
軟件測試與軟件開發的關系可用下圖表示,其中圖b為圖a的細化 。
2、常見軟件測試模型
(1)V模型
· 優點:將復雜的測試工作分成了目標明確的小階段完成,具有階段性、順序性和依賴性,它既包含了對于源代碼的底層測試也包含了對于軟件需求的高層測試 。
· 缺點:只能在編碼之后才能開始測試,早期的需求分析等前期工作沒有涵蓋其中,因此它不能發現需求分析等早期的錯誤,這為后期的系統測試、驗收測試埋下了隱患 。
V模型流程圖如下:
(2)W模型
· 優點:測試范圍不僅包括程序,還包括需求分析、軟件設計等前期工作,這樣有利于盡早全面的發現問題 。
· 缺點:它將軟件開發過程分成需求、設計、編碼、集成等一系列的串行活動,無法支持迭代、自發性等需要變更調整的項目 。
W模型流程圖如下:
(3)H模型
· 設計原理:H模型的設計原理是將測試活動完全獨立了出來,形成一個完全獨立的流程,這個流程將測試準備活動和測試執行活動清晰的體現出來 。測試流程和其他工作流程是并發執行的,只要某一個工作流程的條件成熟就可以開始進行測試 。
· 優點:
①開發的H模型揭示了軟件測試除測試執行外,還有很多工作;
②軟件測試完全獨立,貫穿整個生命周期,且與其他流程并發進行;
③軟件測試活動可以盡早準備、盡早執行,具有很強的靈活性;
④軟件測試可以根據被測物的不同而分層次、分階段、分次序的執行,同時也是可以被迭代的 。
· 缺點:
①管理型要求高:由于模型很靈活,必須要定義清晰的規則和管理制度,否則測試過程將非常難以管理和控制;
② 技能要求高:H模型要求能夠很好的定義每個迭代的規模,不能太大也不能太小;
③測試就緒點分析困難:測試很多的時候,你并不知道測試準備到什么時候是合適的,就緒點在哪里,就緒點的標準是什么,這就對后續的測試執行的啟動帶來很大困難;
④對于整個項目組的人員要求非常高:在很好的規范制度下,大家都能高效的工作,否則容易混亂 。例如:你分了一個小的迭代,但是因為人員技能不足,使得無法有效完成,那么整個項目就會受到很大的干擾 。
H模型流程圖如下:
(4)X模型
· 設計原理:X模型的設計原理是將程序分成多個片段反復迭代測試,然后將多個片段集成再進行迭代測試 。
【軟件分析模型包含哪些內容,他們之間有什么聯系 軟件模型包括哪些內容】· 優點:對單獨程序片段進行的相互分離的編碼和測試,保證了測試效果 。增加了探索測試,可以幫助測試人員發現計劃之外的軟件錯誤 。
· 缺點:頻繁的集成會增加測試成本;探索測試對測試人員要求更高 。
X模型流程圖如下:
經驗小結:
·v模型適用于中小企業,w模型適用于中大型企業(因為人員要求高),H模型人員要求非常高,很少有公司使用;
· 結合W模型與H模型進行工作,軟件各方面的測試內容是以W模型為準,而測試周期、測試計劃和進度是以H模型為指導 。X模型更多是作為最終測試、熟練性測試的模板,例如,對一個業務的測試已經有2年時間,則可以使用X模型進行模塊化的、探索性的方向測試 。