第2章軟件測試模型_第1頁
第2章軟件測試模型_第2頁
第2章軟件測試模型_第3頁
第2章軟件測試模型_第4頁
第2章軟件測試模型_第5頁
已閱讀5頁,還剩52頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、Add Your Company Slogan上一章內容回顧上一章內容回顧軟件測試概述軟件測試概述軟件測試的概念、目的、意義軟件質量保證同軟件測試的區別軟件測試原則軟件測試行業概述軟件測試行業概述軟件測試工程師要求軟件測試工程師要求微軟公司軟件測試簡介微軟公司軟件測試簡介本章內容本章內容軟件工程軟件工程軟件開發生命周期模型軟件開發生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用內容進度內容進度軟件工程軟件工程軟件開發生命周期模型軟件開發生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求

2、概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用編程大師的話編程大師的話編程編程大師大師說:說:“任何一個程序,無論它多么小,總存在著錯誤。任何一個程序,無論它多么小,總存在著錯誤。”初學者不相信大師的話,他問:初學者不相信大師的話,他問:“如果一個程序小得只執行一個簡單如果一個程序小得只執行一個簡單的功能,那會怎樣?的功能,那會怎樣?”“這樣的一個程序沒有意義,這樣的一個程序沒有意義,”大師大師說,說,“但如果這樣的程序存在的但如果這樣的程序存在的話,操作系統最后將失效,產生一個錯誤。話,操作系統最后將失效,產生一個錯誤。”但初學者不滿足,他問:但初學者不滿足,他

3、問:“如果操作系統不失效,那么會怎樣?如果操作系統不失效,那么會怎樣?”“沒有不失效的操作系統,沒有不失效的操作系統,”大師大師說,說,“但如果這樣的操作系統存在但如果這樣的操作系統存在的話,硬件最后將失效,產生一個錯誤。的話,硬件最后將失效,產生一個錯誤。”初學者仍不滿足,再問:初學者仍不滿足,再問:“如果硬件不失效,那么會怎樣?如果硬件不失效,那么會怎樣?”大師大師長嘆一聲道:長嘆一聲道:“沒有不失效的硬件。但如果這樣的硬件存在的話沒有不失效的硬件。但如果這樣的硬件存在的話,用戶就會想讓那個程序做一件不同的事,這件事也是一個錯誤。,用戶就會想讓那個程序做一件不同的事,這件事也是一個錯誤。”

4、軟件工程的定義軟件工程的定義軟件工程軟件工程 軟件工程軟件工程(Software Engineering(Software Engineering,簡稱為,簡稱為SE)SE)是一是一門研究用工程化方法構建和維護有效的、實用的和門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的科學。它涉及到程序設計語言,數高質量的軟件的科學。它涉及到程序設計語言,數據庫,軟件開發工具,系統平臺,標準,設計模式據庫,軟件開發工具,系統平臺,標準,設計模式等方面。等方面。1983年IEEE給出的定義是:軟件工程是開發、運行、維護和修復軟件的系統方法。軟件工程的主要環節軟件工程的主要環節軟件工程的主要環節有:

5、人員管理、項目管理、可軟件工程的主要環節有:人員管理、項目管理、可行性與需求分析、系統設計、程序設計、測試、維行性與需求分析、系統設計、程序設計、測試、維護等。護等。軟件開發模型軟件開發模型基本概念基本概念軟件開發全部過程、活動和任務的結構框架。它能清晰、直觀地表達軟件開發全過程,明確規定了要完成的主要活動和任務。 瀑布模型原型模型螺旋模型敏捷開發模型內容進度內容進度軟件工程軟件工程 軟件工程的定義 軟件工程的目標軟件開發生命周期模型軟件開發生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用軟件開發生命

6、周期模型軟件開發生命周期模型4種常用模式種常用模式大爆炸模式邊寫邊改模式瀑布模式螺旋模式敏捷軟件開發敏捷軟件開發 模式特點模式特點大爆炸模型大爆炸模型簡單 Boom最終產品或?大爆炸模式是最簡單的軟件開發模式12/31大爆炸模型大爆炸模型大爆炸式幾乎沒有測試大爆炸式幾乎沒有測試,如果有也擠在產品如果有也擠在產品發布前進行發布前進行軟件已經完成軟件已經完成,不可能修復不可能修復,僅僅是報告發現僅僅是報告發現的問題的問題,讓客戶知道讓客戶知道邊寫邊改模型邊寫邊改模型項目小組在未刻意采用其他開發模式時默認的開發模式。這是在大爆炸模式基礎上更進了一步,至少考慮到了產品需求。典型的非正規說明書編碼,修改

7、,反復直到?最終產品快速做好,做好就扔的小項目瀑布模型瀑布模型三點特別強調內容 1、強調產品的定義 2、各步驟是分立的、沒有交叉 3、無法回溯 螺旋模型螺旋模型開始不必詳細定義所有細節6個步驟:確定目標/方案和限制條件;明確并化解風險;評估可選方案;當前階段開發和測試;計劃下一階段;確定進入下一階段的方法。敏捷軟件開發敏捷軟件開發有一種開發過程,受到許多軟件公司的喜愛,叫做敏捷軟件有一種開發過程,受到許多軟件公司的喜愛,叫做敏捷軟件開發開發( Agile Software Development)( Agile Software Development)。我們也許聽說過它的。我們也許聽說過它的

8、另外一些名稱,如快速原型、極限編程或進化開發等。另外一些名稱,如快速原型、極限編程或進化開發等。敏捷軟件開發的目的是:敏捷軟件開發的目的是:每個開發活動都有相應的測試活動每個測試級別都有其特有的測試目標每個測試級別都有測試分析和設計開發周期中,在文檔初期稿階段就應該參與文檔的評審內容進度內容進度軟件工程軟件工程 軟件工程的定義 軟件工程的目標軟件開發生命周期模型軟件開發生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用V模型模型“V”的左端表示傳統的瀑布開發模型,而“V”的右端表明相應的測試階段V模型是

9、最具有代表意義的測試模型 。V模型問題模型問題 測試是開發之后的一個階段。測試是開發之后的一個階段。 測試的對象就是程序本身。測試的對象就是程序本身。 實際應用中容易導致需求階段的錯誤一直到最實際應用中容易導致需求階段的錯誤一直到最后系統測試階段才被發現。后系統測試階段才被發現。 整個軟件產品的過程質量保證完全依賴于開發整個軟件產品的過程質量保證完全依賴于開發人員的能力和對工作的責任心,而且上一步的人員的能力和對工作的責任心,而且上一步的結果必須是充分和正確的,如果任何一個環節結果必須是充分和正確的,如果任何一個環節出了問題,則必將嚴重的影響整個工程的質量出了問題,則必將嚴重的影響整個工程的質

10、量和預期進度和預期進度 W模型模型 1.測試程序,需求,功能,設計2.無法迭代W模型模型相對于相對于V模型,模型,W模型增加了軟件各開發階段中應模型增加了軟件各開發階段中應同步進行的驗證和確認活動。同步進行的驗證和確認活動。W模型由兩個模型由兩個V字型字型模型組成,分別代表測試與開發過程,圖中明確表模型組成,分別代表測試與開發過程,圖中明確表示出了測試與開發的示出了測試與開發的并行關系并行關系。 W模型強調:測試伴隨著整個軟件開發周期,而模型強調:測試伴隨著整個軟件開發周期,而且測試的對象不僅僅是程序,需求、設計等同樣要且測試的對象不僅僅是程序,需求、設計等同樣要測試,也就是說,測試與開發是測

11、試,也就是說,測試與開發是同步進行同步進行的。的。W模型有利于盡早地全面的發現問題。但模型有利于盡早地全面的發現問題。但W模型也模型也存在局限性。在存在局限性。在W模型中,需求、設計、編碼等活模型中,需求、設計、編碼等活動被視為串行的,同時,測試和開發活動也保持著動被視為串行的,同時,測試和開發活動也保持著一種線性的前后關系,上一階段完全結束,才可正一種線性的前后關系,上一階段完全結束,才可正式開始下一個階段工作。這樣就式開始下一個階段工作。這樣就無法支持迭代無法支持迭代的開的開發模型。對于當前軟件開發復雜多變的情況,發模型。對于當前軟件開發復雜多變的情況,W模模型并不能解除測試管理面臨著困惑

12、。型并不能解除測試管理面臨著困惑。H模型模型1、H模型建立模型建立 為了解決為了解決V模型和模型和W模型存在的問題,有專家提出了模型存在的問題,有專家提出了H模型。它將測模型。它將測試活動完全獨立出來,形成一個完全獨立的流程,將測試準備活動試活動完全獨立出來,形成一個完全獨立的流程,將測試準備活動和測試執行活動侵襲地體現出來和測試執行活動侵襲地體現出來2、H模型應用模型應用 軟件測試是一個獨立的流程,貫穿產品整個生命周期,與其他流程并發地進行軟件測試是一個獨立的流程,貫穿產品整個生命周期,與其他流程并發地進行軟件測試要盡早準備,盡早執行軟件測試要盡早準備,盡早執行軟件測試是根據被測物的不同而分

13、層次進行的。不同層次的測試活動可以是按軟件測試是根據被測物的不同而分層次進行的。不同層次的測試活動可以是按照某個次序先后進行的,但也可能是反復的照某個次序先后進行的,但也可能是反復的H模型模型H模型揭示了一個原理:模型揭示了一個原理:軟件測試是一個獨軟件測試是一個獨立的流程立的流程,貫穿產品整個生命周期,與其他,貫穿產品整個生命周期,與其他流程并發地進行。流程并發地進行。H模型指出軟件測試要盡模型指出軟件測試要盡早準備,盡早執行。不同的測試活動可以是早準備,盡早執行。不同的測試活動可以是按照某個次序先后進行的,但也可能是反復按照某個次序先后進行的,但也可能是反復的,只要某個測試達到準備就緒點,

14、測試執的,只要某個測試達到準備就緒點,測試執行活動就可以開展。行活動就可以開展。其他模型其他模型X模型模型單獨程序片段單獨程序片段相互分享的編碼和測試頻繁交接集成測試探索性測試探索性測試其他模型其他模型前置測試模型前置測試模型開發和測試相結合開發和測試相結合:標識關鍵行為:標識關鍵行為對每一個交付內容進行測試對每一個交付內容進行測試在設計階段進行計劃和測試設計在設計階段進行計劃和測試設計測試和開發結合在一起測試和開發結合在一起讓驗收測試和技術測試保持相互獨立讓驗收測試和技術測試保持相互獨立:均可以在開始進行,也可以在最后:均可以在開始進行,也可以在最后反復交替的開發和測試反復交替的開發和測試測

15、試模型的使用測試模型的使用我們應該盡可能地去應用模型中對項目有實用價值的方面,但不強行地為使用模型而使用模型,否則也沒有實際意義。在實際的工作中,我們要靈活地運用各種模型的優點,在W模型的框架下,運用H模型的思想進行獨立地測試,并同時將測試和開發緊密結合,尋找恰當的就緒點開始測試并反復迭代測試,最終保證按期完成預定目標。 內容進度內容進度軟件工程軟件工程 軟件工程的定義 軟件工程的目標軟件開發生命周期模型軟件開發生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用需求需求用戶解決問題或達到目標所需的用戶解

16、決問題或達到目標所需的條件或權能條件或權能系統或系統部件要滿足合同、標準、規范或系統或系統部件要滿足合同、標準、規范或其它正式規定文檔所需具有的條件或權能其它正式規定文檔所需具有的條件或權能內容進度內容進度軟件工程軟件工程 軟件工程的定義 軟件工程的目標軟件開發生命周期模型軟件開發生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用需求類型需求類型業務需求(業務需求(Business requirement)項目投資人購買產品的客戶來自用戶的管理者市場營銷部門產品策劃部門需求類型需求類型用戶需求(用戶需求

17、(user requirement)用戶的目標,或用戶要求系統必須能完成的任務n1)自動存款;n2)自動取款;n3)賬務查詢;n4)密碼驗證;n5)出錯處理;需求類型需求類型系統需求(系統需求(system requirement)包含多個子系統的產品(即系統)的頂級需求n軟件子系統和硬件子系統,軟件部分主要實現用戶驗證、存取款的賬務處理、遠程通訊等功能n而硬件部分包括:吞吐卡、觸摸屏、點/驗鈔機等功能軟件需求規格說明軟件需求規格說明(software requirements specification,SRS)n非功能需求,它描述了系統展現給用戶的行為和執行的操作等n包括產品必須遵從的標準

18、、規范和合約;n外部接口的具體細節;n性能要求;n設計或實現的約束條件及質量屬性需求規格說明書的特征需求規格說明書的特征1. 完整性完整性2. 正確性正確性3. 可行性可行性4. 必要性必要性5. 劃分優先級劃分優先級6. 無二義性無二義性7. 可驗證性可驗證性產品和項目類軟件需求獲取產品和項目類軟件需求獲取產品類軟件產品類軟件 沒有特定用戶以合同的形式明確需求,需求由市場分析人員分析潛在客戶的潛在需求獲得產品需求獲取需要通過市場調查、問卷、類似產品用戶回饋、心理分析研究等方式,需要我們的需求獲取人員有深厚的業務背景、敏銳的洞察力、前瞻的預測能力和創造性思維項目類軟件項目類軟件由特定用戶以合同等契約形式明確下來;需求獲取是通過和用戶交流溝通的方式,可通過訪談、交流,一起工作等管道,需求獲取人員應有業務背景、很好的交流溝通能力和親和力,還需要很強的分析能力內容進度內容進度軟件工程軟件工程 軟件工程的定義 軟件工程的目標軟件開發生命周期模型軟件開發生命周期模型軟件測試過程模型軟件測試過程模型測試需求測試需求n需求概要需求概要n需求類型需求類型n需求評審需求評審測試過程測試過程QC使用使用測試人員評審需求測試人員評審需求內容進度內容進度軟件工程軟件工程 軟件工程的定義 軟件

溫馨提示

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

評論

0/150

提交評論