第三章 軟件測試流程.ppt_第1頁
第三章 軟件測試流程.ppt_第2頁
第三章 軟件測試流程.ppt_第3頁
第三章 軟件測試流程.ppt_第4頁
第三章 軟件測試流程.ppt_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件測試基礎教程,杜文結(jié)經(jīng)秀麗主編中國水利水電出版社,第三章軟件測試程序,第三章軟件測試程序,3.1軟件測試復雜性和經(jīng)濟分析3.2軟件測試流程3.3單元測試3.4集成測試3.5確認測試3.6系統(tǒng)測試3.7確認測試練習,本章摘要,第三章軟件測試程序,軟件測試復雜性和經(jīng)濟性軟件測試相關流程:單元測試,集成測試,3.1在軟件測試復雜性和經(jīng)濟分析、第三章軟件測試過程、軟件工程開發(fā)的一般認識中,開發(fā)程序是一個復雜而困難的過程,需要大量的人力、物力、時間,但測試一個程序比較容易,不需要花費太多的精力。這實際上是人們對軟件工程開發(fā)過程的理解的誤解。在實際軟件開發(fā)過程中,作為現(xiàn)代軟件開發(fā)工業(yè)的一個非常重要的組

2、成部分,軟件測試推遲著越來越重要的角色。隨著軟件規(guī)模的擴大如何在有限的條件下有效地進行開發(fā)的軟件測試成為軟件工程中一個非常重要的課題,3.1.1軟件測試復雜性,第三章軟件測試過程,設計測試用例是需要細致、高度技巧的工作,一不小心就能互相照顧,可能導致不適當?shù)倪z漏。以下是對容易出現(xiàn)問題的根本原因的分析。(1)完全測試是不現(xiàn)實的。在實際的軟件測試工作中,無論用什么方法,軟件測試情況都非常多,不能進行完全徹底的測試。徹底的測試是確保被測試的程序在所有可能的輸入情況下都運行一次。牙齒測試經(jīng)常被稱為“徹底測試”。徹底測試可能會導致以下問題:輸入量太大。輸出太多。軟件執(zhí)行路徑過多。說明書有主觀性。3.1.

3、1軟件測試復雜性,第三章軟件測試程序,E.W.Dijkstra的名言對測試的不完整性表示:“程序測試只能證明錯誤的存在,但不能證明錯誤的存在?!币驗閺氐椎臏y試工作量太大,實踐行不通,所以不能保證所有實際測試都不完整,測試的程序在理論上沒有殘留。由于3.1.1軟件測試復雜性,第三章軟件測試程序,(2)徹底測試存在軟件測試風險的可行性,大多數(shù)軟件測試中只能進行鄭智薰徹底測試。這意味著另一個危險。例如,在Microsoft Office工具中使用Word時,可以測試創(chuàng)建新Word文檔。在文檔中輸入漢字“之后”。將字體屬性設置為“yes”,將字體大小設置為“show”,效果將牙齒為“null”。將頁面

4、顯示比例設置為500%。這時“后”字里出現(xiàn)了“后滿進”四個字。類似的問題如果在實際測試中不使用徹底的測試就很難發(fā)現(xiàn),在投入軟件市場的情況下,發(fā)現(xiàn)維修成本可能會很高。這可能導致軟件測試圓無法進行完整的測試,無法進行不完整的測試,無法證明軟件100%的可靠性的矛盾。那么如何在牙齒兩者的矛盾中找到相對平衡點呢?3.1.1軟件測試復雜性,如圖3-1所示的第三章軟件測試過程,如圖3-1所示的最佳測試量示意圖中所示,軟件缺陷減少到特定數(shù)值后,隨著測試楊怡的增加,軟件缺陷沒有明顯減少。這是軟件測試工作中需要注意的重要問題。如何將測試數(shù)據(jù)的楊怡大量軟件測試減少到可以控制的范圍,如何對風險做出最明智的選擇是軟件

5、測試人員必須掌握的重要問題。圖3-1中的最佳測試量圖說明了發(fā)現(xiàn)軟件缺陷數(shù)和測試量之間的關系。隨著測試量的增加,測試成本呈指數(shù)增長,軟件缺陷減少到特定數(shù)值后,變化不大。最佳測量是兩條曲線的交點。,3.1.1軟件測試復雜性,3章軟件測試過程,圖3-1最佳測試量圖表,3.1.1軟件測試復雜性,3章軟件測試過程,(3)殺蟲劑現(xiàn)象1990年,Boris Beizer編纂的軟件這就像農(nóng)藥殺蟲一樣。經(jīng)常使用一種茄子農(nóng)藥,害蟲就會有免疫力,農(nóng)藥會失去作用。軟件開發(fā)人員在開發(fā)過程中會遇到各種主觀客觀因素和無法預測的突發(fā)事件,因此,即使優(yōu)秀的軟件測試人員使用測試方法或工具,也不能檢測到所有的缺陷。為了克服被測試的

6、軟件免疫力,軟件測試負責人必須持續(xù)編寫新的測試程序,對被測試的軟件中的單個測試程序有免疫力,持續(xù)測試程序的各個部分,使軟件缺陷不成為發(fā)現(xiàn)對象。這對軟件測試人員的素質(zhì)提出了很高的要求。3.1.1軟件測試復雜性,第三章軟件測試程序,(4)缺陷的不確定性是軟件測試中難以判斷的現(xiàn)象,是缺陷的不確定性。也就是說,不是所有的軟件缺陷都需要修理。很難確定到底什么是軟件缺陷的標準,任何軟件測試書都只能提出一個一般的定義。在實際測試中,要根據(jù)具體的測試對象明確牙齒定義。盡管如此,即使特定測試者對軟件系統(tǒng)的理解不同,也會產(chǎn)生標準差異。3.1.2軟件測試經(jīng)濟,第三章軟件測試進程,軟件測試經(jīng)濟有兩個茄子方面。一是反映

7、測試工作在整個項目開發(fā)過程中的重要位置。二是反映了為了實現(xiàn)測試成本和測試效果的統(tǒng)一,應該根據(jù)什么原則進行測試。軟件工程的總目標是充分利用有限的人力和物力,以高效率、高質(zhì)量完成測試。如果與3.1.1節(jié)一起無法進行徹底測試,您可以理解為什么在測試量和測試成本的曲線上選擇最佳測試點。3.1.3軟件測試符合性準則、第三章軟件測試程序、軟件測試符合性準則包括:所有軟件:具有有限的完整測試集。如果測試的數(shù)據(jù)集足以測試被測試的軟件系統(tǒng),那么添加更多的測試數(shù)據(jù)仍然足夠。(威廉莎士比亞、哈姆雷特、測試、測試、測試、測試、測試、測試、測試)牙齒特性被稱為軟件測試單調(diào)。軟件所有成分都經(jīng)過充分測試并不意味著整個軟件的

8、測試就足夠了。牙齒特性稱為軟件測試鄭智薰復合性。對一個軟件系統(tǒng)的全面測試不足以完全測試軟件系統(tǒng)的每個組件。牙齒特性稱為軟件測試鄭智薰可降解性。軟件測試適度性和軟件需求、軟件實現(xiàn)都與軟件復雜性成正比。牙齒功能稱為軟件測試復雜性。隨著測試次數(shù)的增加,檢查軟件缺陷的概率會減少。軟件測試收益率有下降率。隨著3.1.4軟件測試誤解、第三章軟件測試程序、軟件產(chǎn)業(yè)產(chǎn)業(yè)化、模塊化發(fā)展,軟件開發(fā)組中軟件測試人員的重要性也不斷突出。在國外,很多著名企業(yè)已經(jīng)對軟件測試工作非常重視。例如,軟件測試人員與開發(fā)者的比例已經(jīng)達到2:1家著名的微軟公司。軟件測試對軟件開發(fā)項目的成功與否有著非常重要的意義。但是在實際項目開發(fā)和

9、管理中仍然存在很多管理上或技術上的誤解。(1)期望將大多數(shù)人工替換為測試自動化;(2)忽略需求階段參與;(3)軟件測試技術要求不高的位置;3.2軟件測試流程;第3章軟件測試流程;第1軟件開發(fā)V模型軟件測試階段;軟件測試流程和軟件設計軟件開發(fā)流程的V模型是眾所周知的模型,如圖3-2所示。在v模型中,從左到右描述了基本開發(fā)過程和測試行為,為軟件開發(fā)人員和測試管理員提供了一個非常簡單的框架。v模型的價值在于明確標識測試過程的不同級別,并明確說明這些測試階段和開發(fā)過程中每個階段的對應關系。v模型的每個測試階段執(zhí)行的執(zhí)行過程如下:單元測試是基于代碼的測試,最初由開發(fā)人員運行,以驗證執(zhí)行節(jié)目代碼的每個部分

10、是否滿足所需的功能要求。集成測試(WHO)驗證兩個或多個單元之間的集成是否正確,并具體檢查詳細設計中定義的每個單元之間的接口。完成單元測試和集成測試后,使用客戶環(huán)境模擬系統(tǒng)啟動系統(tǒng)測試操作,以確保系統(tǒng)滿足摘要設計中定義的功能和性能。最后,技術部門完成所有測試工作后,業(yè)務專家或用戶就可以驗收測試產(chǎn)品以滿足用戶的業(yè)務需求。圖3-2顯示了整個軟件測試操作中每個測試鏈接的互連和約束關系。3.2軟件測試流程、第3章軟件測試流程、圖3-2 V模型圖表、3.2軟件測試流程、第3章軟件測試流程、第2軟件測試流程軟件測試流程可分為單元測試、合并測試、驗證(有效性)測試、系統(tǒng)測試和接受(用戶)測試5個階段(1測試

11、對象是每個單元格。測試目的是驗證每個模塊或組件是否工作正常。單元測試主要使用白盒測試方法檢測程序的內(nèi)部結(jié)構。(2)集成測試:也稱為裝配測試。在單元測試基礎上組裝測試的模塊集成測試進行。測試目的是檢查與接口相關的模塊之間的問題。集成測試主要使用黑盒測試方法。(3)驗證測試:也稱為驗證測試。完成集成測試后,驗證軟件功能和性能以及其他功能是否符合用戶要求。測試目的是確保系統(tǒng)可以按照用戶預定的要求工作。驗證測試通常使用黑盒測試方法。(4)系統(tǒng)測試:完成驗證測試后,還需要進行系統(tǒng)測試工作,以確保可以與實際環(huán)境(例如硬件和軟件平臺、數(shù)據(jù)、人員等)協(xié)調(diào)。可以說,系統(tǒng)測試后軟件產(chǎn)品基本上滿足了開發(fā)要求。(5)

12、驗收測試:測試過程的最后一步。驗收測試主要強調(diào)用戶的作用,軟件開發(fā)人員也要參與。3.2軟件測試流程、第三章軟件測試流程和軟件測試階段的輸入信息包括軟件配置:測試對象等兩種茄子類型。一般包括需求指南、設計指南、測試的源節(jié)目等。測試配置:通常包括測試計劃、測試階段、測試用例和具體實施測試的測試過程,以及測試工具。將測試結(jié)果與預期結(jié)果進行比較后,可以確定是否有錯誤,并確定是否進入問題解決階段進行調(diào)試工作。修改的程序可能會產(chǎn)生新的問題,需要重新測試。一般來說,在出錯的情況下,基于錯誤率估計測試的軟件可靠性對軟件運行后的維護有重要價值。、3.2軟件測試流程、第3章軟件測試流程、圖3-3測試每個階段的圖表

13、、3.3單元測試、第3章軟件測試流程、第1章單元測試定義單元測試是對軟件基本組件的測試。單元測試對象是軟件設計最小單位模塊。很多人把單位的概念誤解為具體的函數(shù)或類的方法,這種理解是不正確的。作為最小的單元,必須有明確的功能定義、性能定義和介面定義,并且能夠與其他單元明確區(qū)分。菜單、顯示器介面或可以獨立執(zhí)行的特定功能可以是一個單元。從某種意義上說,單元的概念擴展到了組件。3.3單元測試、3章軟件測試程序、2單元測試目標單元測試的主要目標是確保每個單元模塊都正確編碼。除了確保單元測試測試代碼的功能外,還要確保代碼在結(jié)構上穩(wěn)定健康,在所有條件下都能正確響應。全面的單元測試功能減少了應用程序級別所需的

14、工作量,完全降低了系統(tǒng)出錯的可能性。手動運行可能需要大量單元測試工作,自動化測試可以提高測試效率。3.3單元測試,第3章軟件測試程序,3單元測試內(nèi)容單元測試主要內(nèi)容是模塊介面測試。本地數(shù)據(jù)結(jié)構測試獨立路徑測試錯誤處理測試邊界條件測試。如圖3-4所示,這些測試在模塊中工作以執(zhí)行單元測試任務。測試模塊介面:測試通過已測試模塊的數(shù)據(jù)流。為此,必須檢查所有模塊接口,包括參數(shù)表、調(diào)用子模塊的參數(shù)、完整數(shù)據(jù)和檔案導入/導出操作。3.3單元測試,第3章軟件測試過程,本地數(shù)據(jù)結(jié)構測試:確定設計測試案例檢查數(shù)據(jù)類型說明、初始化、默認值等方面的問題,以及整體數(shù)據(jù)對模塊的影響。測試獨立路徑:選擇適當?shù)臏y試用例以測試

15、模塊的重要執(zhí)行路徑。基本路徑測試和循環(huán)測試可以發(fā)現(xiàn)很多路徑錯誤,是最常見、最有效的測試技術。測試錯誤處理:確定模塊的錯誤處理功能是否有錯誤或缺陷。例如,是否拒絕不合理的輸入、錯誤的說明是否難以理解、錯誤的位置是否錯誤、錯誤的原因是否報告錯誤、錯誤條件是否未正確處理等。在處理錯誤之前測試邊界條件,包括錯誤條件是否導致了系統(tǒng)干預:在數(shù)據(jù)流、控制流中完全相同,或者大于或小于標識的比較值時,特別要注意出錯的可能性。對于牙齒場所,要仔細選擇測試用例,認真測試。此外,如果需要模塊運行時間,則專門進行關鍵路徑測試,以確定最壞情況和平均意義下影響模塊運行時間的因素。此信息對于性能評估非常有用。3.3單元測試、

16、3章軟件測試程序、4單元測試階段通常在編碼階段進行單元測試。完成源代碼編寫,經(jīng)過檢查和驗證,確認沒有語法錯誤后,開始設計單元測試測試用例。使用設計文檔可以驗證節(jié)目功能和查找多個程序錯誤測試案例。對于每個輸入集,必須具有預期的精確結(jié)果。在模塊介面測試中測試的模塊不是獨立的程序??紤]測試模塊時,考慮到與外部的連接,使用與測試模塊模擬的模塊作為輔助模塊。這些輔助模塊可分為(1)車手模塊(車手)。也就是說,它與被測試模塊的主程序相同。接收測試數(shù)據(jù),將牙齒數(shù)據(jù)發(fā)送到測試模塊,最后輸出實測結(jié)果。(2)檔案模塊(stub):調(diào)用的子模塊,而不是測試的模塊。檔案模塊可以處理少量數(shù)據(jù),不必獲取子模塊的所有功能,但什么都不能做。、3.3單元測試、第3章軟件測試流程、測試的模塊、相關驅(qū)動模塊和檔案模塊共同構成了“測試環(huán)境”(請參閱圖3-5)。如果模塊執(zhí)行多個功能,并表示為包或?qū)ο箢?例如,Ada中的包、MODULA中的模塊、C中的類),則可以將模塊視為由多個小程序組成。對于其中的每個小程序,首先執(zhí)行單元測試任務,然后對核心模塊執(zhí)行性能測試。對于支持特定標準領域的程序,應著手進行互連測試。有些人為了單元測試區(qū)分牙齒情況,特別稱模塊測試。3.3單元測試,3章軟件測試過程,

溫馨提示

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

評論

0/150

提交評論