第2章軟件工程基礎_第1頁
第2章軟件工程基礎_第2頁
第2章軟件工程基礎_第3頁
第2章軟件工程基礎_第4頁
第2章軟件工程基礎_第5頁
已閱讀5頁,還剩57頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、完美測試之完美測試之軟件測試概論分析軟件測試概論分析第第2 2章章 軟件工程基礎軟件工程基礎缺陷指導指導軟件測試階段管理思想質量用例方法目標源泉源泉確定確定尋求尋求設計設計發現發現實施實施清除清除內容進度內容進度2.1 2.1 軟件工程軟件工程2.1.1 2.1.1 軟件工程的目標軟件工程的目標2.2 軟件開發生命周期模型2.2.1 大爆炸模型2.2.2 邊寫邊改模型2.2.3 瀑布模型2.2.4 螺旋模型2.2.5 敏捷軟件開發2.3 軟件測試過程模型4 4/51/514/632.1 2.1 軟件工程軟件工程 編程大師的話 編程大師說:“任何一個程序,無論它多么小,總存在著錯誤。” 初學者不

2、相信大師的話,他問:“如果一個程序小得只執行一個簡單的功能,那會怎樣?” “這樣的一個程序沒有意義,”大師說,“但如果這樣的程序存在的話,操作系統最后將失效,產生一個錯誤。” 但初學者不滿足,他問:“如果操作系統不失效,那么會怎樣?” “沒有不失效的操作系統,”大師說,“但如果這樣的操作系統存在的話,硬件最后將失效,產生一個錯誤。” 初學者仍不滿足,再問:“如果硬件不失效,那么會怎樣?” 大師長嘆一聲道:“沒有不失效的硬件。但如果這樣的硬件存在的話,用戶就會想讓那個程序做一件不同的事,這件事也是一個錯誤。”5/632.1 2.1 軟件工程軟件工程本章重點討論內容:軟件工程的定義軟件工程的目標常

3、見的軟件開發生命周期模型常見軟件測試過程模型6/63軟件工程軟件工程軟件工程(Software Engineering(Software Engineering,簡稱為,簡稱為SE)SE)是是一門研究用工程化方法構建和維護有效的、實用一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的科學。它涉及到程序設計語的和高質量的軟件的科學。它涉及到程序設計語言,數據庫,軟件開發工具,系統平臺,標準,言,數據庫,軟件開發工具,系統平臺,標準,設計模式等方面。設計模式等方面。2.1 2.1 軟件工程軟件工程2.1 2.1 軟件工程軟件工程1983年IEEE給出的定義是:軟件工程是開發、運行、維護軟

4、件工程是開發、運行、維護和修復軟件的系統方法。和修復軟件的系統方法。軟件工程具有如下的性質:軟件工程具有如下的性質: 軟件工程是一門綜合性的交叉學科,它涉及計算機科學、工程科學、管理科學、數學等領域。計算機科學中的研究成果均可用于軟件工程,但計算機科學著重于原理和理論,而軟件工程著重于如何建立建造一個軟件系統。 軟件工程要用工程科學中的觀點來進行費用估算、制定進度、制定計劃和方案。 軟件工程要用管理科學中的方法和原理進行軟件生產的管理。 軟件工程要用數學的方法建立軟件開發中的各種模型和各種算法,如可靠性模型、說明用戶需求的形式化模型等。 軟件工程的主要環節有:人員管理、項目管理、可行性與需求分

5、析、系統設計、程序設計、測試、維護等。2.1 2.1 軟件工程軟件工程9/63軟件工程的主要內容軟件工程的主要內容2.1 2.1 軟件工程軟件工程10/63質量合格質量合格高生產率高生產率質量與生產率不存在根本的對立質量與生產率不存在根本的對立在給定成本、進度的前提下,開發出具有可修改在給定成本、進度的前提下,開發出具有可修改性、有效性、可靠性、可理解性、可維護性、可性、有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互重用性、可適應性、可移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產品。操作性并且滿足用戶需求的軟件產品。軟件工程的目標是提高軟件的質量與生產

6、率是提高軟件的質量與生產率, ,最終實現最終實現軟件的工業化生產。軟件的工業化生產。 2.1 2.1 軟件工程軟件工程11/63(1 1)可修改性()可修改性(modifiabilitymodifiability)容許對系統進行修改而不增加原系統的復雜性。(2 2)有效性()有效性(efficiencyefficiency)軟件系統能最有效地利用計算機的時間資源和空間資源。(3 3)可靠性()可靠性(reliabilityreliability)能防止因概念、設計和結構等方面的不完善造成的軟件系統失效,具有挽回因操作不當造成軟件系統失效的能力。對于實時嵌入式計算機系統,可靠性是一個非常重要的目

7、標。 2.1 2.1 軟件工程軟件工程12/63(4 4)可理解性()可理解性(understandabilityunderstandability)系統具有清晰的結構,能直接反映問題的需求。(5 5)可維護性()可維護性(maintainability)maintainability)軟件產品交付用戶使用后,能夠對它進行修改,以便改正潛伏的錯誤,改進性能和其他屬性,使軟件產品適應環境的變化等等。(6 6)可重用性()可重用性(reusebilityreusebility)概念或功能相對獨立的一個或一組相關模塊定義為一個軟部件。軟部件可以在多種場合應用的程度稱為部件的可重用性。 2.1 2.1

8、 軟件工程軟件工程13/63(7 7)可適應性()可適應性(adaptabilityadaptability)軟件在不同的系統約束條件下,使用戶需求得到滿足的難易程度。(8 8)可移植性()可移植性(portabilityportability)軟件從一個計算機系統或環境搬到另一個計算機系統或環境的難易程度。(9 9)可追蹤性()可追蹤性(traceabilitytraceability)根據軟件需求對軟件設計、程序進行正向追蹤,或根據程序、軟件設計對軟件需求進行逆向追蹤的能力。(1010)可互操作性()可互操作性(interoperabilityinteroperability) 多個軟件元

9、素相互通信并協同完成任務的能力。2.1 2.1 軟件工程軟件工程14/63內容進度內容進度2.1 軟件工程2.1.1 軟件工程的目標2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型2.2.1 大爆炸模型2.2.2 邊寫邊改模型2.2.3 瀑布模型2.2.4 螺旋模型2.2.5 敏捷軟件開發2.3 軟件測試過程模型1515/51/5115/63基本概念軟件開發全部過程、活動和任務的結構框架。它能清晰、直觀地表達軟件開發全過程,明確規定了要完成的主要活動和任務。 瀑布模型原型模型螺旋模型敏捷開發模型2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型16/63內容進度內容進度2.1 軟

10、件工程2.1.1 軟件工程的目標2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型2.2.1 2.2.1 大爆炸模型大爆炸模型2.2.2 邊寫邊改模型2.2.3 瀑布模型2.2.4 螺旋模型2.2.5 敏捷軟件開發2.3 軟件測試過程模型1717/51/5117/632.2.1 2.2.1 直接沖過河去的大爆炸模型直接沖過河去的大爆炸模型簡單 或Boom最終產品?大爆炸模式是最簡單的軟件開發模式大爆炸模式是最簡單的軟件開發模式2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型內容進度內容進度2.1 軟件工程2.1.1 軟件工程的目標2.2 2.2 軟件開發生命周期模型軟件開發生命周

11、期模型2.2.1 大爆炸模型2.2.2 2.2.2 邊寫邊改模型邊寫邊改模型2.2.3 瀑布模型2.2.4 螺旋模型2.2.5 敏捷軟件開發2.3 軟件測試過程模型1919/51/5119/632.2.2 2.2.2 摸著石頭過河的邊寫邊改模型摸著石頭過河的邊寫邊改模型項目小組在未刻意采用其他開發模式時默認的開項目小組在未刻意采用其他開發模式時默認的開發模式。這是在大爆炸模式基礎上更進了一步,發模式。這是在大爆炸模式基礎上更進了一步,至少考慮到了產品需求。至少考慮到了產品需求。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型 這是在大爆炸模式基礎上更進了一步,至少考慮到了產品需求。 由

12、于開頭幾乎沒有計劃和文檔編制,項目小組得以迅速展現成果。因此邊寫邊改模式極其適合意在快速制作而且用完就扔的小項目,例如原型范例和演示程序。即便如此,許多著名的軟件仍然才用了邊寫邊改模式。如果文字處理或者電子表格軟件存在大量軟件缺陷,或者功能不完備,就可能是在邊寫邊改模式下制造出來的。 與大爆炸模式類似,測試在邊寫邊改模式中未特別強調,但是在編寫代碼和修復缺陷過程中舉足輕重。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型21/63 作為邊寫邊改的項目的軟件測試員,需要和程序員一樣清醒地認識到自己將陷入無休止地循環往復。 幾乎每一天都會拿到新的軟件版本并著手進行測試。幾乎每一天都會拿到新

13、的軟件版本并著手進行測試。當新版本出來時,舊版本的測試可能尚未完成,而新版本還可能包含新的或者經過修改的功能。最后,終于有機會對幾乎所有功能進行測試了,并且發現軟件缺陷越來越少,這時某人(或者進度)決定該發布軟件了。 在進行軟件測試工作期間,邊寫邊改模式是最有可能碰到在進行軟件測試工作期間,邊寫邊改模式是最有可能碰到的的。這種模式是軟件開發的入門,有助于理解更加正規的方法。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型22/63內容進度內容進度2.1 軟件工程2.1.1 軟件工程的目標2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型2.2.1 大爆炸模型2.2.2 邊寫邊改模

14、型2.2.3 2.2.3 瀑布模型瀑布模型2.2.4 螺旋模型2.2.5 敏捷軟件開發2.3 軟件測試過程模型2323/51/5123/632.2.3 2.2.3 制定周密過河計劃的瀑布模型制定周密過河計劃的瀑布模型 三點特別強調內容 1、強調產品的定義 2、各步驟是分立的、沒有交叉 3、無法回溯 2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型瀑布模式常常是編程學校所教的第一課,現在已經無處不在。它簡捷、精致、很有意義,在合適的項目中效果顯著。從測試的角度看來,瀑布模式比截至到目前為止的其他模式更有優勢。瀑布模式所有一切都有完整細致的說明。當軟件提交到測試小組時,所有細節都已確定并有

15、文檔記錄,而且實現在軟件之中。由此,測試小組得以制定精確的計劃和進度。測試對象非常明確,在分辨是功能還是缺陷上也沒有一點問題。然而,這個優點也帶來一個巨大的缺點。因為測試僅在最后進行,所以一些根本性問題可能出現在早期,但是直到準備發布產品時才可能發現。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型25/63 采用瀑布模式的項目從最初的構思到最終產品要經過一系列步驟。每一個步驟結束時,項目小組組織審查,并決定是否進入下一步。如果項目未準備好進入下一步,就停滯下來直到準備好。 關于瀑布模式有三點需要強調:2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型26/63內容進度內容進度2

16、.1 軟件工程2.1.1 軟件工程的目標2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型2.2.1 大爆炸模型2.2.2 邊寫邊改模型2.2.3 瀑布模型2.2.4 2.2.4 螺旋模型螺旋模型2.2.5 敏捷軟件開發2.3 軟件測試過程模型2727/51/5127/632.2.4 2.2.4 計劃趕得上變化的螺旋模型計劃趕得上變化的螺旋模型開始不必詳細定義所有細節6個步驟: 確定目標確定目標/方案和限制條件;方案和限制條件; 明確并化解風險;明確并化解風險; 評估可選方案;評估可選方案; 當前階段開發和測試;當前階段開發和測試; 計劃下一階段;計劃下一階段; 確定進入下一階段的方法。

17、確定進入下一階段的方法。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型螺旋模式的總體思想是一開始不必詳細定義多有細節。從小螺旋模式的總體思想是一開始不必詳細定義多有細節。從小開始,定義重要功能,努力實現這些功能,接受客戶反饋,開始,定義重要功能,努力實現這些功能,接受客戶反饋,然后進入下一階段。重復上述過程,直至得到最終產品。然后進入下一階段。重復上述過程,直至得到最終產品。螺旋模式中包含了一點瀑布模式(分析、設計、開發和測試的步驟)、一點邊寫邊改模式(螺旋模式的每一次)和一點大爆炸模式(從外界觀察)。加上該模式發現問題早、成本低的特點,可以算做相當好的開發模式。軟件測試員喜歡該模式

18、。因為通過參與最初設計的設計階段,可以盡早地影響到產品,可以把產品的來龍去脈弄得很清楚;并且在項目末期,不至于最后一分鐘還在匆匆忙忙地進行全面測試。軟件測試員地測試一直都在進行,所以最后一步只是一個驗證表面所有部分都沒有問題。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型29/63軟件開發流程的優缺點軟件開發流程的優缺點開發流程分類開發流程分類優點優點缺點缺點大爆炸模型簡單,不用學習就會拍腦門的想法,產品質量無法保證。質量避免使用邊做邊改模型快速得到可運行的版本計劃有些缺乏,導致版本前后變化較大。可選擇的模型之一瀑布模型計劃周密,專業,按部就班實現相對難于做到快速開發,以搶占市場。可

19、選擇的模型之一螺旋模型計劃變化同時考慮可選擇的模型之一2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型30/63內容進度內容進度2.1 軟件工程2.1.1 軟件工程的目標2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型2.2.1 大爆炸模型2.2.2 邊寫邊改模型2.2.3 瀑布模型2.2.4 螺旋模型2.2.5 2.2.5 敏捷軟件開發敏捷軟件開發2.3 軟件測試過程模型3131/51/5131/632.2.5 2.2.5 敏捷軟件開發敏捷軟件開發 有一種開發過程,受到許多軟件公司的喜愛,叫做敏捷軟件敏捷軟件開發開發( Agile Software Development)。

20、我們也許聽說過它的另外一些名稱,如快速原型、極限編程或進化開發等。 20012001年初年初,在猶他州的Snowbird,由于看到很多軟件開發團隊陷入了不斷增長的過程的泥潭,一批業界專家聚集在一起概括出了一些可以讓軟件開發團隊具有快速工作、響應變化能力的價值觀和原則,他們稱自己為“敏捷聯盟敏捷聯盟” 敏捷聯盟是一個非盈利組織,其宗旨是推廣敏捷方法的促進這方面的討論。 在隨后幾個月,他們創建了一份價值觀聲明,也就是敏捷聯盟宣言。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型32/6333敏捷開發的核心思想是敏捷開發的核心思想是:以人為本,適應變化。以人為本,適應變化。2.2 2.2 軟

21、件開發生命周期模型軟件開發生命周期模型 敏捷宣言:敏捷宣言:33/63敏捷軟件開發的目的是:敏捷軟件開發的目的是:通過過程和工具理解個人和交流的作用通過過程和工具理解個人和交流的作用q人是獲得成功的最為重要的因素q一個優秀的團隊成員未必就是一流的程序員優秀團隊的成員可能是平均水平的程序員,但他(她)們能很好的和別人合作、溝通。q合適的開發工具(如IDE、Complier、版本控制系統)對于成功很重要,但工具的作用不宜被過分夸大。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型34/63敏捷軟件開發的目的是:敏捷軟件開發的目的是:通過全面的文檔理解運行的軟件通過全面的文檔理解運行的軟件q

22、沒有文檔的軟件是一種災難;然而,過多的文檔比過少的文檔更糟糕編制文檔需要花費時間,使文檔和代碼同步,需要花費更多時間。對于團隊,維護一份系統原理和結構方面的文檔是一個好主意l該文檔應該是短小并且主題突出的,應該僅描述系統的高層結構和概要設計原理。為了培訓新成員,應該通過團隊交互和代碼l代碼和團隊是最好的兩份文檔。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型35/63敏捷軟件開發的目的是:敏捷軟件開發的目的是:通過合同和談判得到客戶的協作通過合同和談判得到客戶的協作不能向訂購日用品一樣來訂購軟件l如果客戶僅僅寫下一份他需要的軟件的描述,然后就讓人在固定的時間內以固定的價格去開發它,用

23、這種方式來對待軟件項目的嘗試都是以失敗而告終的。成功的項目需要有序、頻繁的客戶反饋。不是依賴于合同或者關于工作的陳述,而是讓軟件的客戶和開發團隊密切地在一起工作,并盡量地提供反饋。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型36/63敏捷軟件開發的目的是:敏捷軟件開發的目的是:在計劃的執行中做出對變更的響應在計劃的執行中做出對變更的響應響應變化的能力常常決定著一個項目的成敗l當構建計劃時,應該確保計劃是靈活的、并且易于適應商務和技術方面的變化計劃不能考慮的過遠l計劃沒有變化快!較好的作計劃的策略是:l為下兩周做詳細計劃;為下三個月做粗略計劃;再以后就做極為粗糙的計劃。l這種逐漸降低

24、的細致度,意味著僅僅對迫切的任務才進行詳細計劃,計劃的其余部分仍然保持著靈活性。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型37/63在任何生命周期模型中,一個好的測試都應該具在任何生命周期模型中,一個好的測試都應該具有下面幾個特點:有下面幾個特點:每個開發活動都有相對應的測試活動;每個開發活動都有相對應的測試活動;每個測試級別都有其特有的測試目標;每個測試級別都有其特有的測試目標;對于每個測試級別,需要在相應的開發活動過程對于每個測試級別,需要在相應的開發活動過程中進行相應的測試分析和設計;中進行相應的測試分析和設計;在開發生命周期中,測試員在文檔初稿階段就應在開發生命周期中,測

25、試員在文檔初稿階段就應該參與文檔的評審。該參與文檔的評審。2.2 2.2 軟件開發生命周期模型軟件開發生命周期模型38/632.2 2.2 軟件開發生命周期模型軟件開發生命周期模型39/63內容進度內容進度2.1 軟件工程2.1.1 軟件工程的目標2.2 軟件開發生命周期模型2.3 2.3 軟件測試過程模型軟件測試過程模型2.3.1 V2.3.1 V模型模型2.3.2 W模型2.3.3 H模型2.3.4 其他模型2.3.5 測試模型的使用4040/51/5140/63 2.3.1 V2.3.1 V模型模型 “V”的左端表示傳統的瀑布開發模型,而“V”的右端表明相應的測試階段。 V模型是最具有代

26、表意義的測試模型 。2.3 2.3 軟件測試過程模型軟件測試過程模型測試是開發之后的一個階段。 測試的對象就是程序本身。 實際應用中容易導致需求階段的錯誤一直到最后系統測試階段才被發現。 整個軟件產品的過程質量保證完全依賴于開發人員的能力和對工作的責任心,而且上一步的結果必須是充分和正確的,如果任何一個環節出了問題,則必將嚴重的影響整個工程的質量和預期進度 2.3 2.3 軟件測試過程模型軟件測試過程模型42/63存在局限性,僅僅把測試過程作為在需求分析、系統設計及編碼之后的一個階段,只針對程序進行的尋找錯誤的活動,忽視了測試活動對需求分析,系統設計等活動的驗證和確認的功能,直到后期的驗收測試

27、才被發現。2.3 2.3 軟件測試過程模型軟件測試過程模型43/63內容進度內容進度2.1 軟件工程2.1.1 軟件工程的目標2.2 軟件開發生命周期模型2.3 2.3 軟件測試過程模型軟件測試過程模型2.3.1 V模型2.3.2 W2.3.2 W模型模型2.3.3 H模型2.3.4 其他模型2.3.5 測試模型的使用4444/51/5144/632.3.2 W2.3.2 W模型模型在W模型中,既強調了測試方案設計,也強調了測試執行。 2.3 2.3 軟件測試過程模型軟件測試過程模型W模型由Evolutif公司提出。W模型從V模型演化過來,實際上開發是V,測試也是與此并行的V。相對于V模型,W

28、模型增加了軟件各開發階段中應同步進行的驗證和確認活動。2.3 2.3 軟件測試過程模型軟件測試過程模型46/63 相對于V模型,W模型增加了軟件各開發階段中應同步進行的驗證和確認活動。W模型由兩個V字型模型組成,分別代表測試與開發過程,圖中明確表示出了測試與開發的并行關系。 W模型強調:測試伴隨著整個軟件開發周期,而且測試的對象不僅僅是程序,需求、設計等同樣要測試,也就是說,測試與開發是同步進行的。 W模型有利于盡早地全面的發現問題。但W模型也存在局限性。在W模型中,需求、設計、編碼等活動被視為串行的,同時,測試和開發活動也保持著一種線性的前后關系,上一階段完全結束,才可正式開始下一個階段工作

29、。這樣就無法支持迭代的開發模型。對于當前軟件開發復雜多變的情況,W模型并不能解除測試管理面臨著困惑。2.3 2.3 軟件測試過程模型軟件測試過程模型47/63W模型也存在局限性。在W模型中,需求、設計、編碼等活動被視為串行的,同時,測試和開發活動也保持著一種線性的前后關系,上一階段完全結束,才可正式開始下一個階段工作。這樣就無法支持迭代的開發模型。對于當前軟件開發復雜多變的情況,W模型并不能解除測試管理面臨著困惑。2.3 2.3 軟件測試過程模型軟件測試過程模型48/63內容進度內容進度2.1 軟件工程2.1.1 軟件工程的目標2.2 軟件開發生命周期模型2.3 2.3 軟件測試過程模型軟件測

30、試過程模型2.3.1 V模型2.3.2 W模型2.3.3 H2.3.3 H模型模型2.3.4 其他模型2.3.5 測試模型的使用4949/51/5149/63 2.3.3 H2.3.3 H模型模型H模型建立p為了解決V模型和W模型存在的問題,有專家提出了H模型。它將測試活動完全獨立出來,形成一個完全獨立的流程,將測試準備活動和測試執行活動侵襲地體現出來H模型應用 2.3 2.3 軟件測試過程模型軟件測試過程模型H模型揭示了一個原理:軟件測試不僅僅指測試的執行,還包括很多其他的活動。軟件測試是一個獨立的流程,貫穿產品整個生命周期,與其他流程并發地進行。軟件測試要盡早準備,盡早執行。軟件測試是根據

31、被測物的不同而分層次進行的。不同層次的測試活動可以是按照某個次序先后進行的,但也可能是反復的。2.3 2.3 軟件測試過程模型軟件測試過程模型軟件測試是一個獨立的流程,貫穿產品整個生命周期,與其他流程并發地進行。當某個測試時間點就緒時,軟件測試即從測試準備階段進入測試執行階段。內容進度內容進度2.1 軟件工程2.1.1 軟件工程的目標2.2 軟件開發生命周期模型2.3 2.3 軟件測試過程模型軟件測試過程模型2.3.1 V模型2.3.2 W模型2.3.3 H模型2.3.4 2.3.4 其他模型其他模型2.3.5 測試模型的使用5252/51/5152/632.3.4 2.3.4 其他模型其他模

32、型1.X模型很好地處理測試與開發的交接過程(很好地處理測試與開發的交接過程(交接的過程是一個時間段,而不是一交接的過程是一個時間段,而不是一個點)個點)左邊描述的是針對單獨程序片段所進左邊描述的是針對單獨程序片段所進行的相互分離的編碼和測試,此后將行的相互分離的編碼和測試,此后將進行頻繁的交接,通過集成最終合成進行頻繁的交接,通過集成最終合成為可執行的程序,然后再對這些可執為可執行的程序,然后再對這些可執行程序進行測試。行程序進行測試。己通過集成測試的成品可以進行封裝己通過集成測試的成品可以進行封裝并提交給用戶,也可以作為更大規模并提交給用戶,也可以作為更大規模和范圍內集成的一部分。多根并行的

33、和范圍內集成的一部分。多根并行的曲線表示變更可以在各個部分發生。曲線表示變更可以在各個部分發生。X X模型還定位了探索性測試,這是不模型還定位了探索性測試,這是不進行事先計劃的特殊類型的測試,給進行事先計劃的特殊類型的測試,給有經驗的測試人員在測試計劃之外發有經驗的測試人員在測試計劃之外發現更多的軟件缺陷。現更多的軟件缺陷。2.3 2.3 軟件測試過程模型軟件測試過程模型2.3 2.3 軟件測試過程模型軟件測試過程模型54/39前置測試模型前置測試模型前置測試前置測試模型模型v開發和測試相結合前置測試模型將開發和測試的生命周期整合在一起,標識了項目生命周期從開始到結束之間的關鍵行為,表示這些行

34、為在項目周期中的價值所在。v對每一個交付內容進行測試每一個交付的開發結果都必須通過一定的方式進行測試。源程序代碼并不是唯一需要測試的內容。還包括可行性報告、業務需求說明、系統設計文檔等。2.3 2.3 軟件測試過程模型軟件測試過程模型55/63v 在設計階段進行測試計劃和測試設計 設計階段是做測試計劃和測試設計的最好時機。很多組織要么根本不作測試計劃和測試設計,要么在即將開始執行測試之前才飛快地完成測試計劃和測試設計。在這種情況下,測試只是驗證了程序的正確性,而不是驗證整個系統本該實現的東西。v 測試和開發結合在一起 前置測試將測試執行和開發結合在一起,并在開發階段以編碼-測試-編碼-測試的方式來體現。也就是說,程序片段一 旦編寫完成,就會立即進行測試。一般情況下,先進行的測試是單元測試,

溫馨提示

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

評論

0/150

提交評論