黑盒測試的五種典型方法_第1頁
黑盒測試的五種典型方法_第2頁
黑盒測試的五種典型方法_第3頁
黑盒測試的五種典型方法_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、For personal use only in study and research; not for commercial use黑盒測試(black box test in g)又稱功能測試、數(shù)據(jù)驅動測試或基于規(guī)范的測試。 用這種方法進行測試時,被測程序被當作看不見內部的黑盒。 在完全不考慮程序 內部結構和內部特性的情況下,測試者僅依據(jù)程序功能的需求規(guī)范考慮確定測試 用例和推斷測試結果的正確性。因此黑盒測試是從用戶觀點出發(fā)的測試, 黑盒測 試直觀的想法就是既然程序被規(guī)定做某些事,那我們就看看它是不是在任何情況 下都做的對。完整的“任何情況”是無法驗證的,為此黑盒測試也有一套產生測 試用例

2、的方法,以產生有限的測試用例而覆蓋足夠多的“任何情況”。由于黑盒 測試不需要了解程序內部結構,所以許多高層的測試如確認測試、系統(tǒng)測試、驗 收測試都采用黑盒測試。黑盒測試首先是程序通常的功能性測試。要求:每個軟件特性必須被一個測試用例或一個被認可的異常所覆蓋;用數(shù)據(jù) 類型和數(shù)據(jù)值的最小集測試;用一系列真實的數(shù)據(jù)類型和數(shù)據(jù)值運行, 測試超負 荷、飽和及其他“最壞情況”的結果;用假想的數(shù)據(jù)類型和數(shù)據(jù)值運行,測試排 斥不規(guī)則輸入的能力;對影響性能的關鍵模塊,如基本算法、應測試單元性能(包 括精度、時間、容量等)。不僅要考核“程序是否做了該做的?”還要考察“程序是否沒做不該做的 2”同時還要考察程序在其

3、他一些情況下是否正常。這些情況包括數(shù)據(jù)類型和數(shù) 據(jù)值的異常等等。下述幾種方法:(a)等價類劃分,(b)因果圖方法,(C)邊值分 析法,(d)猜錯法,(e)隨機數(shù)法,就是從更廣泛的角度來進行黑盒測試。每一個 方法都力圖能涵蓋更多的“任何情況”,但又各有長處,綜合使用這些方法,會 得到一個較好的測試用例集。1.等價類劃分等價類劃分是一種典型的黑盒測試方法。等價類是指某個輸入域的集合。 它表示對揭露程序中的錯誤來說,集合中的每個輸入條件是等效的。因此我們只 要在一個集合中選取一個測試數(shù)據(jù)即可。 等價類劃分的辦法是把程序的輸入域劃 分成若干等價類,然后從每個部分中選取少數(shù)代表性數(shù)據(jù)當作測試用例。這樣就

4、 可使用少數(shù)測試用例檢驗程序在一大類情況下的反映。在考慮等價類時,應該注意區(qū)別以下兩種不同的情況:有效等價類:有效等價類指的是 對程序的規(guī)范是有意義的、合理的輸入 數(shù)據(jù)所構成的集合。在具體問題中,有效等價類可以是一個,也可以是多個。無效等價類:無效等價類指對程序的規(guī)范是不合理的或無意義的輸入數(shù) 據(jù)所構成的集合。對于具體的問題,無效等價類至少應有一個,也可能有多個。確定等價類有以下幾條原則: 如果輸入條件規(guī)定了取值范圍或值的個數(shù),則可確定一個有效等價類和兩個無效等價類。例如,程序的規(guī)范中提到的輸入條包括“項數(shù)可以從1到999”,則可取有效等價類為“ I考項數(shù)V 999”,無效等價類為“項數(shù)V I

5、 ,,及“項數(shù) 999”。輸入條件規(guī)定了輸入值的集合,或是規(guī)定了“必須如何”的條件,則可 確定一個有效等價類和一個無效等價類。 如某程序涉及標識符, 其輸入條件規(guī)定 “標識符應以字母開頭”則“以字母開頭者”作為有效等價類,“以非字母開頭”作為無效等價類。如果我們確知,已劃分的等價類中各元素在程序中的處理方式是不同的, 則應將此等價類進一步劃分成更小等價類。輸入條件 有效等價類 無效等價類根據(jù)已列出的等價類表,按以下步驟確定測試用例: 為每個等價類規(guī)定一個唯一的編號; 設計一個測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類。重復這一步,最后使得所有有效等價類均被測試用例所覆蓋;設計一個新的測試

6、用例,使其只覆蓋一個無效等價類。重復這一步,使 所有無效等價類均被覆蓋。 這里強調每次只覆蓋一個無效等價類。 這是因為一個 測試用例中如果含有多個缺陷, 有可能在測試中只發(fā)現(xiàn)其中的一個, 另一些被忽 視。等價類劃分法能夠全面、 系統(tǒng)地考慮黑盒測試的測試用例設計問題, 但是沒 有注意選用一些“高效的”、 “有針對性的”測試用例。后面介紹的邊值分析法 可以彌補這一缺點。2. 因果圖等價類劃分法并沒有考慮到輸入情況的各種組合。這樣雖然各個輸入條 件單獨可能出錯的情況已經看到了, 但多個輸入情況組合起來可能出錯的情況卻 被忽略。采用因果圖方法能幫助我們按一定步驟選擇一組高效的測試用例, 同時, 還能為

7、我們指出程序規(guī)范的描述中存在什么問題。利用因果圖導出測試用例需要經過以下幾個步驟:分析程序規(guī)范的描述中哪些是原因,哪些是結果。原因常常是輸入條件 或是輸入條件的等價類。結果是輸出條件。分析程序規(guī)范的描述中語義的內容,并將其表示成連接各個原因與各個 結果的“因果圖”。由于語法或環(huán)境的限制,有些原因和結果的組合情況是不可能出現(xiàn)的。 為表明這些特定的情況, 在因果圖上使用持殊的符號標明約束條件。 把因果圖轉 換成判定表。把判定表的每一列寫成一個測試用例。3. 邊值分析法邊值分析法是列出單元功能、輸入、狀態(tài)及控制的合法邊界值和非法邊 界值,設計測試用例, 包含全部邊界值的方法。 典型地包括 IF 語句

8、中的判別值, 定義域、值域邊界,空或畸形輸入,末受控狀態(tài)等。邊值分析法不是一類找一個 例子的方法, 而是以邊界情況的處理作為主要目標專門設計測試用例的方法。 另 外,邊值分析不僅考查輸入的邊值, 也要考慮輸出的邊值。 這是從人們的經驗得 出的一種有效方法。 人們發(fā)現(xiàn)許多軟件錯誤只是在下標、 數(shù)據(jù)結構和標量值的邊 界值及其上、下出現(xiàn),運行這個區(qū)域的測試用例發(fā)現(xiàn)錯誤的概率很高。用邊值分析法設計測試用例時,有以下幾條原則:如果輸入條件規(guī)定了取值范圍,或是規(guī)定了值的個數(shù),則應以該范圍的 邊界內及剛剛超出范圍的邊界外的值, 或是分別對最大、 最小及稍小于最小、 稍 大于最大個數(shù)作為測試用例。如有規(guī)范“某

9、文件可包含I至255”個記錄“, 則測試用例可選 1和255及0和256等。針對規(guī)范的每個輸出條件使用原則 a。如果程序規(guī)范中提到的輸入或輸出域是個有序的集合 ( 如順序文件、表格 等) 就應注意選取有序集的第一個和最后一個元素作為測試用例。分析規(guī)范,盡可能找出可能的邊界條件。一個典型的邊值分析例子是三 角形分類程序。選取 a, b, c 構成三角形三邊, “任意兩邊之和大于第三邊”為 邊界條件。 邊值分析相等價類劃分側重不同, 對等價類劃分是一個補充。 如上述 三角形問題,選取 a = 3, b = 4, c = 5, a = 2, b= 4, c= 7則覆蓋有效和無效等 價類。如果能在等價

10、類劃分中注入邊值分析的思想。 在每個等價類中不只選取一 個覆蓋用例, 而是進而選取該等價類的邊界值等價類劃分法將更有效, 最后可以 用邊值分析法再補充一些測試用例。4. 猜錯法 猜錯法在很大程度上是憑經驗進行的,是憑人們對過去所作的測試工作結果的分析,對所揭示的缺陷的規(guī)律性作直覺的推測來發(fā)現(xiàn)缺陷的。一個采用兩分法的檢索程序,典型地可以列出下面幾種測試情況: 被檢索的表只有一項或為空表; 表的項數(shù)恰好是 2 的冪次; 表的項數(shù)比 2 的冪次多 1 等。猜錯法充分發(fā)揮人的經驗,在一個測試小組中集思廣益,方便實用,特 別在軟件測試基礎較差的情況下,很好地組織測試小組 ( 也可以有外來人員 ) 進 行

11、錯誤猜測,是有效的測試方法。5. 隨機數(shù)法即測試用例的參數(shù)是隨機數(shù)。它可以自動生成,因此自動化程度高。使 用大量隨機測試用例測試通過的程序會提高用戶對程序的信心。 但其關鍵在于隨 機數(shù)的規(guī)律是否符合使用實際。僅供個人用于學習、研究;不得用于商業(yè)用途。For P ersonal use only in study and research; not for commercial use.Nur f u r den pers?nlichen fu r Studien, Forschung, zu kommerziellen Zwecken verwendet werden.Pour l ' e tude et la rech

溫馨提示

  • 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

提交評論