軟件測試之軟件測試概念詳述完整版課件_第1頁
軟件測試之軟件測試概念詳述完整版課件_第2頁
軟件測試之軟件測試概念詳述完整版課件_第3頁
軟件測試之軟件測試概念詳述完整版課件_第4頁
軟件測試之軟件測試概念詳述完整版課件_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件測試的目標軟件測試是為了發(fā)現(xiàn)程序中的錯誤。軟件測試的過程亦是程序運行的過程。程序運行需要數(shù)據,為測試設計的數(shù)據稱測試用例。設計測試用例的原則自然是盡可能暴露錯誤。軟件測試是一個找錯過程。測試只能找出程序中的錯誤,而不能證明程序無錯。第八章 軟件測試由安博測試空間技術中心/提供Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/20221軟件測試的目標軟件測試是為了發(fā)現(xiàn)程序中的錯誤。第八章 軟件測試階段的信息流程Eval

2、uation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/20222測試階段的信息流程Evaluation only.10/11測試階段的信息流程輸入流分軟件配置和測試配置兩項,軟件配置由需求說明書、設計說明書和源代碼組成;測試配置中包含測試計劃、測試工具、測試用例和期望結果,有時測試配置亦作為軟件配置的一個組成部分。測試人員根據上述輸入信息測試程序并評價測試結果,當測試結果與期望結果存在差異時,往往程序有錯。此時可采用排錯技術定位錯誤

3、并改正之。通過對測試結果的收集和評價,軟件質量和軟件可靠性的一些定性指標即能逐步確定下來。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/20223測試階段的信息流程輸入流分軟件配置和測試配置兩項,軟件配置由測試用例和場景的設計任何工程化的產品都有兩種測試方法:一種方法是已知產品應該具有的功能,通過測試檢驗每個功能是否都能正常使用;另一種方法是已知產品內部工作過程,通過測試檢驗產品內部動作是否按照產品規(guī)格說明的規(guī)定正常

4、進行。前者稱為黑盒測試,后者稱為白盒測試。測試用例和測試場景將根據這兩種測試方法的特性制定。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/20224測試用例和場景的設計任何工程化的產品都有兩種測試方法:Eva黑盒測試黑盒測試完全不考慮程序的內部結構和處理過程。測試僅在程序界面上進行。設計測試用例旨在說明:軟件的功能是否可操作;程序能否適當?shù)亟邮蛰斎霐?shù)據并產生正確的輸出結果或在可能的場景中事件驅動的效果是否盡如人意;能

5、否保持外部信息(如數(shù)據文件)的完整性。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/20225黑盒測試黑盒測試完全不考慮程序的內部結構和處理過程。測試僅在白盒測試白盒測試法密切關注處理細節(jié),針對程序的每一條邏輯路徑都要分別設計測試用例,檢查分枝和循環(huán)的情況。窮舉測試不可取,一般選用少量“最有效”,即最有可能暴露錯誤的路徑進行測試。測試的目的是為了找出錯誤,所以無論采用黑盒法還是白盒法,設計測試用例時總是期望用盡可能少

6、的時間和代價發(fā)現(xiàn)盡可能多的錯誤。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/20226白盒測試白盒測試法密切關注處理細節(jié),針對程序的每一條邏輯路徑例:最多有1014個邏輯路徑,假設每運行一個測試用例平均花費1毫秒,總共需3170年才能窮盡所有測試。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 200

7、4-2011 Aspose Pty Ltd.10/15/20227例:最多有1014個邏輯路徑,假設每運行一個測試用例平均花費軟件測試的步驟軟件工程的開發(fā)過程和測試過程應該是對應的。第一章圖1.3采用V型圖表示開發(fā)測試的對應關系,也可以采用圖14.3所示的螺旋型圖表示。每旋轉一圈,測試的范圍加大一次:螺旋中心對應單元測試,它測試源程序的每一模塊;下一步是綜合測試,它測試軟件總體結構;再下一步是確認(驗收)測試,測試軟件是否滿足需求;最后一步是系統(tǒng)測試,檢查軟件與系統(tǒng)中其他元素是否協(xié)調。Evaluation only.Created with Aspose.Slides for .NET 3.5

8、 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/20228軟件測試的步驟軟件工程的開發(fā)過程和測試過程應該是對應的。第一軟件測試技術本節(jié)主要討論當用白盒或黑盒測試法測試軟件時,如何設計測試用例才能達到測試的目的。此外,對自動測試工具也作一些簡單介紹。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/20229軟件測試技術本節(jié)主要討論當用白盒或黑盒測試法測試

9、軟件時,如何白盒測試白盒測試應該根據程序的控制結構設計測試用例,原則是:保證模塊中每一獨立的路徑至少執(zhí)行一次;保證所有判斷的每一分枝至少執(zhí)行一次;保證每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;驗證所有內部數(shù)據結構的有效性。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202210白盒測試白盒測試應該根據程序的控制結構設計測試用例,原則是:1.基本路徑測試基本路徑測試的主要思想是,根據軟件過程性描述(詳細設計或代

10、碼)中的控制流程確定復雜性度量,然后用此度量定義基本路徑集合,由此導出一組測試用例,它們能保證每個語句至少執(zhí)行一次。為了使用圖論的知識和術語,引入流圖(亦稱程序圖)的概念,流圖即把流程圖中結構化構件改用一般有向圖的表示形式。代表條件判斷的結點稱為謂詞結點。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022111.基本路徑測試基本路徑測試的主要思想是,根據軟件過程性描述結構化構件在流圖中的表示Evaluation

11、only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202212結構化構件在流圖中的表示Evaluation only.10例:流程圖Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202213例:流程圖Evaluation only.10/11/202例:對應的流圖E

12、valuation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202214例:對應的流圖Evaluation only.10/11/2條件處理若判斷中含復合條件,則需增加謂詞結點。如OR運算的處理。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202215條

13、件處理若判斷中含復合條件,則需增加謂詞結點。如OR運算的處基本路徑測試的思想基本路徑至少引入一個新語句或者新判斷的程序執(zhí)行通道 測試用例的設計方法流程圖 = 流圖 = 基本路徑 = 測試用例Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202216基本路徑測試的思想基本路徑Evaluation only.1Step1 根據程序的邏輯結構畫出流程圖void Func(int nPosX, int nPosY) whil

14、e (nPosX 0) int nSum = nPosX + nPosY;if (nSum 1) nPosX-; nPosY-;else if (nSum -1) nPosX -= 2; else nPosX -= 4; / end of whileEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202217Step1 根據程序的邏輯結構畫出流程圖void Func(Step1 根據程序的邏輯結構畫出流程圖Evalua

15、tion only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202218Step1 根據程序的邏輯結構畫出流程圖EvaluationStep2 根據流程圖畫出流圖Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202219Step2 根據流程圖畫出流圖Evaluati

16、on onlyStep3 確定基本路徑的集合基本路徑流圖的Cyclomatic復雜度正好是基本路徑的數(shù)目V(G) = E N + 2 V(G) = 11 - 9 + 2 = 4 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202220Step3 確定基本路徑的集合基本路徑Evaluation Step3 確定基本路徑的集合1 - 111 - 2, 3 - 4, 5 - 10 - 1 - 111 - 2, 3 - 6

17、 - 7 - 9 - 10 - 1 - 111 - 2, 3 - 6 - 8 - 9 - 10 - 1 - 11 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202221Step3 確定基本路徑的集合1 - 11EvaluatiStep4 對每條基本路徑設計測試用例對于路徑1 11nPosX 取-1, nPosY取任意值1 - 2, 3 - 4, 5 - 10 - 1 - 11nPosX 取1, nPosY取1對于

18、路徑1 - 2, 3 - 6 - 7 - 9 - 10 - 1 11nPosX 取1, nPosY取-11 - 2, 3 - 6 - 8 - 9 - 10 - 1 - 11 nPosX 取1, nPosY取-3Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202222Step4 對每條基本路徑設計測試用例對于路徑1 11E2. 控制結構測試基本路徑測試是控制結構測試技術的一種,下面介紹其他形式的控制結構測試,它們比基

19、本路徑測試法覆蓋程度更大,進一步提高了白盒測試的質量。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022232. 控制結構測試基本路徑測試是控制結構測試技術的一種,下條件測試法條件測試主要考慮程序中的條件判斷,以期發(fā)現(xiàn)條件判斷內部的錯誤和程序中其他一些錯誤。程序中“條件”分為簡單條件和復合條件。簡單條件為一個布爾變量或一個關系表達式(可能前綴邏輯非),復合條件由簡單條件通過邏輯運算符(OR、AND、NOT)和括號

20、連接而成。因此條件中可能出現(xiàn)的錯誤類型包括:布爾運算符錯、布爾變量錯、括號錯、關系運算符錯和算術表達式錯。最簡單的條件測試是分支測試。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202224條件測試法條件測試主要考慮程序中的條件判斷,以期發(fā)現(xiàn)條件判斷分支和關系運算測試法BRO能用少于2n次測試發(fā)現(xiàn)條件中大多數(shù)錯誤,采用該方法的前提是條件中每個布爾變量和關系運算符至多出現(xiàn)一次并無公共變量。BRO方法引入條件約束的概念

21、,含n個簡單條件的復合條件C之約束D表示為(D1,D2,Dn),Di(0in)一般為某種符號,它指明簡單條件Ci在C中出現(xiàn)的約束。C的一次執(zhí)行覆蓋約束條件D指,C中出現(xiàn)的每個簡單條件Ci在這次執(zhí)行中都滿足D中對應的約束Di。對于一個布爾表達式,出現(xiàn)約束或為真(t)或為假(f);對于一個關系表達式,出現(xiàn)約束用符號、或表示。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202225分支和關系運算測試法BRO能用少于2n次

22、測試發(fā)現(xiàn)條件中大多數(shù)數(shù)據流測試法數(shù)據流測試法是根據程序中變量定義和引用的位置選擇測試路徑。為說明數(shù)據流測試法,假設程序中每個語句都被賦與一個唯一的標號,并且每個函數(shù)都不修改其參數(shù)和全局變量,對以S為標號的語句定義下面兩個集合:DEF(S)=X|語句S中含X的定義USE(S)=X|語句S中含對X的引用當S為分支或循環(huán)語句時,DEF集合為空,USE集合由S所含條件確定。如果從語句S到語句S存在一條路徑并且在S中不存在X的再定義,則稱在S中定義的X在S處活躍。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile

23、.Copyright 2004-2011 Aspose Pty Ltd.10/15/202226數(shù)據流測試法數(shù)據流測試法是根據程序中變量定義和引用的位置選擇數(shù)據流測試法(續(xù))定義變量X的定義引用鏈(DU鏈)為X,S,S,其中S,S為標號,XDEF(S)USE(S)且S中定義的X在S處活躍。一種簡單的數(shù)據流測試策略即對每條DU鏈至少覆蓋一次,稱為DU測試策略,它對于測試含嵌套IF語句和多重循環(huán)語句的程序特別有效。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 A

24、spose Pty Ltd.10/15/202227數(shù)據流測試法(續(xù))定義變量X的定義引用鏈(DU鏈)為X,循環(huán)測試循環(huán)是大多數(shù)算法的基礎,循環(huán)測試的目的是檢查循環(huán)結構的有效性。循環(huán)分為簡單循環(huán)、并列循環(huán)、嵌套循環(huán)和非結構循環(huán)四類:Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202228循環(huán)測試循環(huán)是大多數(shù)算法的基礎,循環(huán)測試的目的是檢查循環(huán)結構Evaluation only.Created with Aspose

25、.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202229Evaluation only.10/11/202229循環(huán)測試(續(xù))對于最多為n次的簡單循環(huán),應作下列測試:1)完全跳過循環(huán);2)僅循環(huán)一次;3)循環(huán)兩次;4)循環(huán)m次,mn;5)分別循環(huán)(n-1)次,n次,n+1次。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd

26、.10/15/202230循環(huán)測試(續(xù))對于最多為n次的簡單循環(huán),應作下列測試:Ev循環(huán)測試(續(xù))對于嵌套循環(huán)若生搬硬套簡單循環(huán)的測試策略。可能使測試次數(shù)成幾何級數(shù)增長,減少測試次數(shù)的具體措施包括:1)從最內層循環(huán)開始測試,此時所有外層循環(huán)都取最小值,內層循環(huán)按簡單循環(huán)的測試策略測試;2)由里向外,回退到上一層循環(huán)測試,這層循環(huán)的所有外層循環(huán)仍取最小值,由該層循環(huán)嵌套的那些循環(huán)取一些典型值。3)繼續(xù)向外擴展,直至所有循環(huán)測試完畢。對于并置循環(huán)分兩種情況,若兩個循環(huán)完全獨立,采用簡單循環(huán)的測試策略,反之,若第一循環(huán)的計數(shù)器用作第二循環(huán)的初值,即兩循環(huán)不獨立,需用嵌套循環(huán)測試策略測試。非結構化的循

27、環(huán)需按結構化程序設計的思想首先將程序結構化然后再進行測試。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202231循環(huán)測試(續(xù))對于嵌套循環(huán)若生搬硬套簡單循環(huán)的測試策略??赡芎诤袦y試黑盒測試旨在測試軟件是否滿足功能要求,它主要診斷下列幾類錯誤:(1)不正確或遺漏的功能;(2)界面錯誤;(3)數(shù)據結構或外部數(shù)據庫訪問錯誤;(4)性能錯誤;(5)初始化和終止條件錯誤。值得指出的是,黑盒測試法與白盒測試法不能互相替代,相

28、反兩者應互為補充,在測試的不同階段為發(fā)現(xiàn)不同類型的錯誤而靈活選用。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202232黑盒測試黑盒測試旨在測試軟件是否滿足功能要求,它主要診斷下列1. 等價分類法等價分類法的主要思想是把程序的輸入數(shù)據集合按輸入條件劃分為若干個等價類,每一等價類相對于輸入條件表示為一組有效或無效的輸入,然后為每一等價類設計一個測試用例,這樣即可大大減小測試的次數(shù)又不丟失發(fā)現(xiàn)錯誤的機會。因此等價分類

29、法的關鍵是根據輸入數(shù)據的類型和程序的功能說明劃分等價類。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022331. 等價分類法等價分類法的主要思想是把程序的輸入數(shù)據集合按等價分類法常用的一些規(guī)則:(1) 如果能為輸入條件指定一個范圍,則可劃分出一個有效的等價類(輸入值落在此范圍內)和兩個無效的等價類(大于最大值的輸入和小于最小值的輸入); (2) 如果能為輸入條件指定一個特定值,則可類似地劃分出一個有效等價類和兩

30、個無效等價類; (3) 如果能為輸入條件指定一個集合,則可劃分出一個有效等價類(此集合)和一個無效等價類(此集合的補集); (4) 如果能為輸入條件指定一個布爾量,則可劃分出一個有效等價類(此布爾量)和一個無效布爾量(此布爾量之非)。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202234等價分類法常用的一些規(guī)則:Evaluation only.12. 邊界值分析法經驗表明,大多數(shù)錯誤都發(fā)生在輸入的邊界值上。為此,

31、專門引入邊界值分析(Boundary Value Analysis)技術,旨在選擇測試用例,強迫程序在邊界值上執(zhí)行。BVA技術是對等價分類技術的補充,即在一個等價類中不是任選一個元素作為此等價類的代表進行測試,而是選擇此等價類邊界上的值。此外,采用BVA技術導出測試用例時,不僅要考慮輸入條件,還要考慮輸出的狀態(tài)。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022352. 邊界值分析法經驗表明,大多數(shù)錯誤都發(fā)生在輸

32、入的邊界值上邊界值分析法采用BVA技術設計測試用例與等價分類法有許多相似之處:1) 如果輸入條件指定了由值a,b括起來的一個范圍,那么值a、值b和緊挨a、b左右的值應分別作為測試用例; 2) 如果輸入條件指定為一組數(shù),那么這組數(shù)中最大者、最小者和次大、次小者應作為測試用例; 3) 應用規(guī)則1)、2)于輸出條件。例如,假設某程序輸出為一張溫度壓力對照表,此時應設計測試用例正好產生表項所允許的最大和最小值。4) 如果內部數(shù)據結構是有界的(例如,某數(shù)組有100個元素),那么應設計測試數(shù)據,使之能檢查該數(shù)據結構的邊界。Evaluation only.Created with Aspose.Slides

33、 for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202236邊界值分析法采用BVA技術設計測試用例與等價分類法有許多相似3. 對比測試法在一些可靠性要求很高的系統(tǒng)中,經常使用冗余的軟、硬件,以減少錯誤發(fā)生的可能性。這時,不同的軟件版本由不同的開發(fā)小組根據同一需求說明書開發(fā),并用相同的測試數(shù)據對它們進行測試,保持結果一致。此后各版本并行執(zhí)行并實時地比較結果,確保系統(tǒng)的正確性。受此思想起發(fā),許多關鍵軟件,即使最后交付時只要求一個版本,開發(fā)時也另外產生一個獨立版本供測試使用。這種黑盒測試方法稱為對比測試或背

34、靠背測試Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022373. 對比測試法在一些可靠性要求很高的系統(tǒng)中,經常使用冗余的軟件測試策略軟件測試策略主要考慮,如何把設計測試用例的技術組織成一個系統(tǒng)的、有計劃的測試步驟。測試策略應包含測試規(guī)劃、測試用例設計、測試實施和測試結果收集評估等。其中測試規(guī)劃包括:測試的步驟、工作量、進度和資源等本節(jié)重點討論測試步驟,測試中的排錯技術Evaluation only.Create

35、d with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202238軟件測試策略軟件測試策略主要考慮,如何把設計測試用例的技術組1 單元測試單元測試的對象是軟件設計的最小單位模塊。單元測試的依據是詳細設計描述,單元測試應對模塊內所有重要的控制路徑設計測試用例,以便發(fā)現(xiàn)模塊內部的錯誤。單元測試多采用白盒測試技術,系統(tǒng)內多個模塊可以并行地進行測試。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client P

36、rofile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022391 單元測試單元測試的對象是軟件設計的最小單位模塊。Ev1.1 單元測試任務單元測試任務包括:1)模塊接口測試;2)模塊局部數(shù)據結構測試;3)模塊邊界條件測試;4)模塊中所有獨立執(zhí)行通路測試;5)模塊的各條錯誤處理通路測試。模塊接口測試是單元測試的基礎。只有在數(shù)據能正確流入、流出模塊的前提下,其他測試才有意義Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-201

37、1 Aspose Pty Ltd.10/15/2022401.1 單元測試任務單元測試任務包括:Evaluation 測試接口考慮的因素輸入的實際參數(shù)與形式參數(shù)的個數(shù)是否相同;輸入的實際參數(shù)與形式參數(shù)的屬性是否匹配;輸入的實際參數(shù)與形式參數(shù)的量綱是否一致;調用其他模塊時所給實際參數(shù)的個數(shù)是否與被調模塊的形參個數(shù)相同;調用其他模塊時所給實際參數(shù)的屬性是否與被調模塊的形參屬性匹配;調用其他模塊時所給實際參數(shù)的量綱是否與被調模塊的形參量綱一致;調用預定義函數(shù)時所用參數(shù)的個數(shù)、屬性和次序是否正確;是否存在與當前入口點無關的參數(shù)引用;是否修改了只讀型參數(shù);10 對全程變量的定義各模塊是否一致;11 是否

38、把某些約束作為參數(shù)傳遞。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202241測試接口考慮的因素輸入的實際參數(shù)與形式參數(shù)的個數(shù)是否相同;測試接口考慮的因素(續(xù))如果模塊內包括外部輸入輸出,還應該考慮下列因素:文件屬性是否正確;OPEN/CLOSE語句是否正確;格式說明與輸入輸出語句是否匹配;緩沖區(qū)大小與記錄長度是否匹配;文件使用前是否已經打開;是否處理了文件尾;是否處理了輸入/輸出錯誤;輸出信息中是否有文字性的錯

39、誤。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202242測試接口考慮的因素(續(xù))如果模塊內包括外部輸入輸出,還應該考單元測試的任務(續(xù))局部數(shù)據結構往往是錯誤的根源,應仔細設計測試用例,力求發(fā)現(xiàn)下面幾類錯誤:不合適或不相容的類型說明;變量無初值;變量初始化或省缺值有錯;不正確的變量名(拚錯或不正確地截斷);出現(xiàn)上溢、下溢和地址異常。Evaluation only.Created with Aspose.Slid

40、es for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202243單元測試的任務(續(xù))局部數(shù)據結構往往是錯誤的根源,應仔細設計單元測試的任務(續(xù))在模塊中應對每一條獨立執(zhí)行路徑進行測試,單元測試的基本任務是保證模塊中每條語句至少執(zhí)行一次。此時設計測試用例是為了發(fā)現(xiàn)因錯誤計算、不正確的比較和不適當?shù)目刂屏髟斐傻腻e誤。此時基本路徑測試和循環(huán)測試是最常用且最有效的測試技術。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profil

41、e .Copyright 2004-2011 Aspose Pty Ltd.10/15/202244單元測試的任務(續(xù))在模塊中應對每一條獨立執(zhí)行路徑進行測試,單元測試的任務(續(xù))計算中常見的錯誤包括:誤解或用錯了算符優(yōu)先級;混合類型運算;變量初值錯;精度不夠;表達式符號錯。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202245單元測試的任務(續(xù))計算中常見的錯誤包括:Evaluati單元測試的任務(續(xù))比較判斷

42、與控制流常常緊密相關,測試用例還應致力于發(fā)現(xiàn)下列錯誤:不同數(shù)據類型的對象之間進行比較;錯誤地使用邏輯運算符或優(yōu)先級;因計算機表示的局限性,期望理論上相等而實際上不相等的兩個量相等;比較運算或變量出錯;循環(huán)終止條件不合適或不可能出現(xiàn);迭代發(fā)散時不能退出;錯誤地修改了循環(huán)變量。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202246單元測試的任務(續(xù))比較判斷與控制流常常緊密相關,測試用例還單元測試的任務(續(xù))一個好的

43、設計應能預見各種出錯條件,并預設各種錯誤處理通路,錯誤處理通路同樣需要認真測試,測試應著重檢查下列問題:輸出的錯誤信息難以理解;記錄的錯誤與實際遇到的錯誤不相符;在程序自定義的錯誤處理段運行之前,系統(tǒng)已介入;異常處理不當;錯誤陳述中未能提供足夠的定位錯誤信息。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202247單元測試的任務(續(xù))一個好的設計應能預見各種出錯條件,并預設1.2 單元測試過程一般認為單元測試應緊接

44、在編碼之后,當源程序編制完成并通過復審和編譯檢查,便可開始單元測試。為測試模塊開發(fā)一個驅動模塊(driver)和(或)若干個樁模塊(stub)。驅動模塊和樁模塊是測試使用的軟件,而不是軟件產品的組成部分,但它需要一定的開發(fā)費用。僅用簡單的驅動模塊和樁模塊不能完成某些模塊的測試任務,這些模塊的單元測試只能采用下面討論的綜合測試方法。提高模塊的內聚度可簡化單元測試,如果每個模塊只完成一個功能,所需測試用例數(shù)目將顯著減少,模塊中的錯誤也更容易發(fā)現(xiàn)。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyr

45、ight 2004-2011 Aspose Pty Ltd.10/15/2022481.2 單元測試過程一般認為單元測試應緊接在編碼之后,當源程單元測試環(huán)境Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202249單元測試環(huán)境Evaluation only.10/11/202 綜合測試綜合測試是組裝軟件的系統(tǒng)測試技術,按設計要求把通過單元測試的各個模塊組裝在一起之后,進行綜合測試以便發(fā)現(xiàn)與接口有關的各種錯誤。某些軟件

46、設計人員習慣于把所有模塊按設計要求一次全部組裝起來,然后進行整體測試,這稱為非增量式集成。這種方法容易出現(xiàn)混亂。與之相反的是增量式集成方法,程序一段一段地擴展,測試的范圍一步一步地增大,錯誤易于定位和糾正,界面的測試亦可做到完全徹底。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022502 綜合測試綜合測試是組裝軟件的系統(tǒng)測試技術,按設計要求把通2.1 自頂向下集成自頂向下集成是構造程序結構的一種增量式方式,它從

47、主控模塊開始,按照軟件的控制層次結構,以深度優(yōu)先或廣度優(yōu)先的策略,逐步把各個模塊集成在一起。深度優(yōu)先策略首先把主控制路徑上的模塊集成在一起,至于選擇哪一條路徑作為主控制路徑多少帶點隨意性,一般根據問題的特性確定。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022512.1 自頂向下集成自頂向下集成是構造程序結構的一種增量式方例:Evaluation only.Created with Aspose.Slides

48、for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202252例:Evaluation only.10/11/202252步驟1) 以主控模塊作為測試驅動模塊,把對主控模塊進行單元測試時引入的所有樁模塊用實際模塊替代; 2) 依據所選的集成策略(深度優(yōu)先或廣度優(yōu)先),每次只替代一個樁模塊;3)每集成一個模塊立即測試一遍;4)只有每組測試完成后,才著手替換下一個樁模塊;5) 為避免引入新錯誤,須不斷進行回歸測試(即全部或部分地重復已做過的測試)。從第二步開始,循環(huán)執(zhí)行上述步驟,直至整個程序結構構造完畢。Ev

49、aluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202253步驟1) 以主控模塊作為測試驅動模塊,把對主控模塊進行單元測優(yōu)缺點自頂向下集成的優(yōu)點在于能盡早地對程序的主要控制和決策機制進行檢驗,因此較早地發(fā)現(xiàn)錯誤。缺點是在測試較高層模塊時,低層處理采用樁模塊替代,不能反映真實情況,重要數(shù)據不能及時回送到上層模塊,因此測試并不充分。Evaluation only.Created with Aspose.Slides for .

50、NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202254優(yōu)缺點自頂向下集成的優(yōu)點在于能盡早地對程序的主要控制和決策機2.2 自底向上集成自底向上測試是從“原子”模塊(即軟件結構最低層的模塊)開始組裝和測試,因測試到較高層模塊時,所需的下層模塊功能均已具備,所以不再需要樁模塊。自底向上綜合測試的步驟分為:1)把低層模塊組織成實現(xiàn)某個子功能的模塊群(cluster);2)開發(fā)一個測試用驅動模塊,控制測試數(shù)據的輸入和測試結果的輸出;3)對每個模塊群進行測試;4)刪除測試使用的驅動模塊,用較高層模塊把模塊群組織成為完

51、成更大功能的新模塊群;從第一步開始循環(huán)執(zhí)行上述各步驟,直至整個程序構造完畢。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022552.2 自底向上集成自底向上測試是從“原子”模塊(即軟件結構例:Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/1

52、5/202256例:Evaluation only.10/11/202256優(yōu)缺點自底向上集成方法不用樁模塊,測試用例的設計亦相對簡單,但缺點是程序最后一個模塊加入時才具有整體形象。它與自頂向下綜合測試方法的優(yōu)缺點正好相反。因此,在測試軟件系統(tǒng)時,應根據軟件的特點及工程的進度,選用適當?shù)臏y試策略,有時混合使用兩種策略更為有效,上層模塊用自頂向下的方法,下層模塊用自底向上的方法。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/

53、15/202257優(yōu)缺點自底向上集成方法不用樁模塊,測試用例的設計亦相對簡單,關鍵模塊在綜合測試過程中尤其要注意關鍵模塊,所謂關鍵模塊一般都具有下述一或多個特征:對應幾條需求;具有高層控制功能;復雜易出錯;有特殊的性能要求。關鍵模塊應盡早測試,并反復進行回歸測試。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202258關鍵模塊在綜合測試過程中尤其要注意關鍵模塊,所謂關鍵模塊一般2.3 綜合測試文檔測試說明書(Tes

54、t Specifications)應給出軟件集成的總體規(guī)劃和某些特殊測試的描述。綜合測試文檔將作為軟件配置的一部分交給用戶。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022592.3 綜合測試文檔測試說明書(Test Specifica測試說明書提綱測試范圍測試計劃 A測試的各個階段和劃分模塊群情況 B進度安排 C開銷軟件(驅動和樁模塊) D環(huán)境和資源測試過程n(關于第n個模塊群測試過程的描述) A集成順序 1

55、用途 2被測模式 B模塊群中各模塊的單元測試情況 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202260測試說明書提綱測試范圍Evaluation only.測試說明書提綱(續(xù)) 1模塊m的測試描述 2開銷軟件描述 3期望結果 C測試環(huán)境 1特殊工具或技術 2開銷軟件的描述 D測試用例 E模塊群n的期望結果實際測試結果參考文獻附錄Evaluation only.Created with Aspose.Slides

56、 for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/202261測試說明書提綱(續(xù)) 1模塊m的測試描述3 確認測試通過綜合測試之后,軟件已完全組裝起來,接口方面的錯誤也已排除,軟件測試的最后一步確認測試即可開始。確認測試應檢查軟件能否按合同要求進行工作,即是否滿足軟件需求說明書中的確認標準。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.1

57、0/15/2022623 確認測試通過綜合測試之后,軟件已完全組裝起來,接口方面3.1 確認測試標準實現(xiàn)軟件確認要通過一系列黑盒測試。確認測試同樣需要制訂測試計劃和過程,測試計劃應規(guī)定測試的種類和測試進度,測試過程則定義一些特殊的測試用例,旨在說明軟件與需求是否一致。無論是計劃還是過程,都應該著重考慮軟件是否滿足合同規(guī)定的所有功能和性能,文檔資料是否完整、準確,人機界面和其他方面(例如,可移植性、兼容性、錯誤恢復能力和可維護性等等)是否令用戶滿意。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Co

58、pyright 2004-2011 Aspose Pty Ltd.10/15/2022633.1 確認測試標準實現(xiàn)軟件確認要通過一系列黑盒測試。Eva3.2 配置復審確認測試的另一個重要環(huán)節(jié)是配置復審。復審的目的在于保證軟件配置齊全、分類有序,并且包括軟件維護所必需的細節(jié)。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022643.2 配置復審確認測試的另一個重要環(huán)節(jié)是配置復審。復審的3.3 、測試軟件是否真正滿足

59、最終用戶的要求應由用戶進行一系列“驗收測試”。驗收測試既可以是非正式的測試,也可以是有計劃、有系統(tǒng)的測試。有時,驗收測試長達數(shù)周甚至數(shù)月,不斷暴露錯誤,導致開發(fā)延期。一個軟件產品,將有眾多用戶,不可能由每個用戶驗收,此時多采用稱為、測試的過程,以期發(fā)現(xiàn)那些似乎只有最終用戶才能發(fā)現(xiàn)的問題。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd.10/15/2022653.3 、測試軟件是否真正滿足最終用戶的要求應由用戶進、測試測試是指軟件開

60、發(fā)公司組織內部人員模擬各類用戶行為對即將面市的軟件產品(稱為版本)進行測試,試圖發(fā)現(xiàn)錯誤并修正。測試的關鍵在于盡可能逼真地模擬實際運行環(huán)境和用戶對軟件產品的操作,并盡最大努力涵蓋所有可能的用戶操作方式。經過測試調整的軟件產品稱為版本。緊隨其后的測試是指軟件開發(fā)公司組織各方面的典型用戶在日常工作中實際使用版本,并要求用戶報告異常情況、提出批評意見。然后軟件開發(fā)公司再對版本進行改錯和完善。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile .Copyright 2004-2011 Aspose Pty Ltd

溫馨提示

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

評論

0/150

提交評論