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

下載本文檔

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

文檔簡介

1、第5章 軟件測試,5.1 編碼 5.2 軟件測試基礎 5.3 白盒測試技術 5.4 黑盒測試技術,5.2 軟件測試基礎, 單元測試:分別完成每個單元的測試任務,以確保每個模塊能正常工作。單元測試大量地采用了白盒測試方法,盡可能發(fā)現(xiàn)模塊內(nèi)部的程序差錯。 集成測試:把已測試過的模塊組裝起來,檢驗與軟件設計相關的程序結構問題。這時較多地采用黑盒測試方法來設計測試用例。 確認測試:檢驗所開發(fā)的軟件能否滿足所有功能和性能需求的最后手段,通常采用黑盒測試方法。 系統(tǒng)測試:系統(tǒng)測試指把已確認的軟件與其他系統(tǒng)元素(如硬件、其他支持軟件、數(shù)據(jù)、人工等)結合在一起進行測試。嚴格地說,系統(tǒng)測試已超出了軟件工程的范圍

2、。,5.2 軟件測試基礎, 驗收測試:檢驗軟件產(chǎn)品質(zhì)量的最后一道工序是驗收測試。與前面討論的各種測試活動的不同之處主要在于它突出了客戶的作用,同時軟件開發(fā)人員也應有一定程度的參與。 圖7-2列出軟件工程中測試與軟件開發(fā)各階段間的關系。,圖7- 2 軟件測試與軟件開發(fā)各階段的關系,5.2 軟件測試基礎, 黑盒測試:又稱功能測試、數(shù)據(jù)驅動測試或基于規(guī)格說明的測試,這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結構和內(nèi)部特性,只依據(jù)程序的需求分析規(guī)格說明,檢查程序的功能是否符合它的功能說明。黑盒測試意味著測試要在軟件的接口處進行。 用黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能的輸

3、入條件和輸出條件中確定測試數(shù)據(jù),來檢查程序是否都能產(chǎn)生正確的輸出。 白盒測試和黑盒測試各有自己的優(yōu)缺點,構成互補關系,在規(guī)劃測試時需要把白盒測試與黑盒測試結合起來。,5.3 白盒測試技術,5.3.1 邏輯覆蓋 白盒法要求測試者完全了解程序的結構和處理過程,按照程序內(nèi)部的邏輯測試,檢驗程序中的每條通路是否都能按預定要求正確工作。當程序中有循環(huán)時,覆蓋每條路徑是不可能的,要設計師覆蓋程度較高的或覆蓋最有代表性的路徑的測試用例。 常用的邏輯覆蓋測試方法有:語句覆蓋、判定覆蓋、條件覆蓋、“判定條件”覆蓋、條件組合覆蓋及路徑覆蓋(表7-1)。不同的邏輯覆蓋測試方法都是從各自不同的方面出發(fā),為設計測試用例

4、提出依據(jù)的。,5.3 白盒測試技術,假設有如下程序段(用Visual Basic書寫): IF(A1)AND(B=0)THEN X=X/A IF(A=2)OR(X1)THEN X=X+1 其中“AND”和“OR”是兩個邏輯運算符。圖7-3給出了它的流程圖和程序圖。a、b、c、d 和e 是控制流程圖上的若干程序點。,5.3 白盒測試技術,圖7- 3 被測程序段流程圖和流圖,5.3 白盒測試技術,1. 語句覆蓋:指設計足夠的測試用例,使程序中的每個執(zhí)行語句至少執(zhí)行一次。在上述程序段中,只需設計一個能通過路徑ace的測試用例即可。如果設計的測試用例是: =2 B=0 X=3 則程序按流程圖上的路徑a

5、ce執(zhí)行。這樣該程序段的4個語句均得到執(zhí)行,從而達到了語句覆蓋。,5.3 白盒測試技術,語句覆蓋是比較弱的覆蓋標準。例如,第一個判定的運算符“AND”錯成運算符“OR”或是第二個判定中的運算符“OR”錯成運算符“AND”,這時仍使用測試用例,程序仍將按流程圖上的路徑ace執(zhí)行;又如第二個條件語句中X1誤寫成X0,上述地測試用例也不能發(fā)現(xiàn)。 2. 判定覆蓋:指設計足夠的測使用例,使得程序中的每個判定至少都獲得一次“真”和“假”值,或者說使得程序中的每一個取“真”分支和取“假”分支至少經(jīng)歷一次。因此,判定覆蓋有稱為分支覆蓋。以圖7-3流程圖為例,如果設計兩個測試用例,使它們能通過路徑ace和abd

6、,或通過路徑acd及abe,即可達到“判定覆蓋”標準。,5.3 白盒測試技術,若選用的兩組測試用例是: =2 B=0 X=3 =1 B=0 X=1 則可分別執(zhí)行流程圖上的路徑ace和abd,從而使兩個判斷的4個分支c、e 和b、d分別得到覆蓋。 注意:上述兩組測試用例不僅滿足了“判定覆蓋”,同時還做到了“語句覆蓋”。從這一點看“判定覆蓋”比“語句覆蓋”更強一些,但是如果程序段中的第2個判定條件X1如果錯寫為X1,使用上述測試用例,照樣能按原路徑執(zhí)行(abe),而不影響結果。也就是說,只達到判定覆蓋仍無法確定判斷內(nèi)部條件的錯誤。,5.3 白盒測試技術,3. 條件覆蓋:指設計若干個測試用例,使每個

7、判定中的每個條件的可能取值至少出現(xiàn)一次。 圖7-3中,在第1個判定(A1) AND (B=0)中條件為:A1、B=0;在第2個判斷(A=2) OR (X1)中條件為:A=2、X1。只需采用兩個測試用例,把4個條件的8種情況均作了覆蓋: =2 B=0 X=3 =1 B=1 X=1,5.3 白盒測試技術,4. 判定條件覆蓋:要求設計足夠的測使用例,使得判定中每個條件的所有可能(真/假)至少出現(xiàn)一次,并且每個判定本身的判定結果(真/假)也至少出現(xiàn)一次。 此時,采用下面兩個測試用例,即可達到此要求。 =2 B=0 X=3 =1 B=1 X=1,7.4 黑盒測試技術,黑盒測試又稱為功能測試,它注重于測試

8、軟件的功能性需求,而不是內(nèi)部結構。它同白盒法測試是截然不同的測試概念,在黑盒測試中,測試人員需根據(jù)需求規(guī)格說明書,測試程序的功能或程序的外部特性。黑盒測試不是白盒測試的替代品,而是用于輔助白盒測試發(fā)現(xiàn)其他類型的錯誤。 白盒測試用在測試的早期,而黑盒測試主要用于測試的后期。使用白盒法設計測試用例時,只需要選擇一個覆蓋標準,而使用黑盒法進行測試,則應該同時使用多種黑盒測試方法,才能得到較好的測試效果。,7.4 黑盒測試技術,例如,輸入值是學生某一門課的成績,范圍是0100,則可確定一個有效等價類為“0成績100”,兩個無效等價類為“成績100”。 如果一個輸入條件說明了一個必須遵守的規(guī)則(如變量名

9、的第一個字符必須是字母),則可劃分一個有效等價類(第一字符是字母),和一個無效等價類(第一字符不是字母)。 如果某個輸入條件規(guī)定了輸入數(shù)據(jù)的一組可能的值,而且程序是用不同的方式處理每一種值,則每個允許輸入值是一個合理等價類,此外還有一個不合理等價類(任何一個不允許的輸入值)。,7.4 黑盒測試技術,例如,輸入條件說明教師的職稱有助教、講師、副教授和教授4種類型,則分別取這四個值作為4個有效等價類,另外把4個職稱之外的任何職稱作為無效等價類。 如果確知已劃分的等價類中各元素在程序中的處理方式不同,則應將此等價類進一步劃分成更小的等價類。 2. 確定測試用例 根據(jù)已劃分的等價類,按以下步驟來設計測

10、試用例:,7.4 黑盒測試技術, 為每一個等價類規(guī)定唯一的編號。 設計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋過的有效等價類。重復這步,直到所有有效等價類均被測試用例所覆蓋。 設計一個新的測試用例,使其只覆蓋一個無效等價類。重復這步,直到所有無效等價類均被覆蓋。 因為某些程序對某一輸入錯誤的檢查往往會屏蔽對其他輸入錯誤的檢查,所以必須對每一個無效等價類分別設計測試用例。,7.4 黑盒測試技術,7.4.2 邊界值分析法 實踐經(jīng)驗表明,程序往往在處理邊界時出錯,例如錯誤常發(fā)生在數(shù)組的上下標、循環(huán)條件的開始和終止處等,所以檢查邊界情況的測試用例是高效的。邊界值分析就是選擇等價類邊界的測試用例,

11、它是一種補充等價分類法的測試用例設計技術。下面提供幾條設計原則以供參考: 如果輸入條件規(guī)定了取值范圍,可以選擇正好等于邊界值的數(shù)據(jù)及剛剛超過邊界值的數(shù)據(jù)作為測試用例。,7.4 黑盒測試技術,例如,輸入值的范圍是a,b,可取a,b,略大于a 的值,略小于b的值作為測試數(shù)據(jù)。 如果輸入條件規(guī)定了輸入值的個數(shù),則按最大個數(shù)、最小個數(shù)、稍小于最小個數(shù)及稍大于最大個數(shù)等情況分別來設計測試用例。 例如,一個輸入文件可包括1100個紀錄,則分別取有1個紀錄、100個紀錄、0個紀錄和101 個紀錄的輸入文件來作為測試用例。,7.4 黑盒測試技術, 針對每個輸出條件使用上面的第和條原則。 例如,一個學籍管理系統(tǒng)規(guī)定,只能查詢20022006級學生的各科成績,可以設計測試用例查詢在規(guī)定范圍內(nèi)的某一屆學生的學生成績,還需要設計測試用例查詢2001級、2007級學生成績。 如果程序規(guī)格說明中給出的輸入或輸出域是個有序集合(如順序文件、線性表和鏈表等),則應選取有序集合的第一個和最后一個元素作為測試用例。,7.4 黑盒測試技術,7.4.

溫馨提示

  • 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

提交評論