1. 程式人生 > >菜鳥筆記--軟體測試--黑盒測試

菜鳥筆記--軟體測試--黑盒測試

黑盒測試技術注重測試軟體的功能性需求,即黑盒測試使軟體工程師派生出執行程式所有功能需求的輸入條件,用於輔助白盒測試發現其他型別的錯誤。黑盒測試技術包括:功能分解法,等價類劃分,邊界值分析法,因果圖法,隨機測試,猜錯法等。

功能分解法

功能分解是將需求規格說明中的每一個功能加以分解,確保各個功能被全面測試,功能分解的步驟:

使用程式設計中的功能抽象方法把程式分解為功能單元

使用資料抽象方法產生測試每個功能單元的資料

在功能抽象中,程式被看作一種抽象的功能層次,每個層次可標識被測試的功能,層次結構中的某一功能由其下一層功能定義,按照功能層次進行分解,可以得到眾多的最低層次的子功能,以這些子功能為物件,設計測試用例。

在資料抽象中,資料結構可以由抽象資料型別的層次圖來描述,每個抽象資料型別有其取值集合,程式的每一個輸入和輸出量的取值集合用資料抽象來描述。

等價類劃分法

等價類劃分法是一種典型的黑盒測試用例設計方法。等價劃分是在分析需求規格說明的基礎上,把程式的輸入域劃分為若干個部分,然後在每部分中選取代表性資料形成測試用例。所謂的等價類,是被測試程式輸入域的一個子集,該輸入集合中的資料與揭示程式中的錯誤是等價的。因此,對某等價類中的代表值的測試就相當於對等價類中的所有值進行測試。所謂有效等價類,是指等價類中的輸入資料是符合需求規格說明的,而無效等價類是值該等價類中的資料是違反需求規格說明的,若使用強型別程式語言,無效輸入會導致執行錯誤,因此不考慮無效等價類。等價類劃分的若干原則:

在規定了輸入資料的取值範圍下,可以確定一個有效等價類和兩個無效等價類。

在規定了輸入條件必須如何的情況下,可以確定一個有效等價類和一個無效等價類。

在輸入資料是一個布林量的情況下,可以確定一個有效等價類和一個無效等價類。

在規定了輸入資料由n個值構成,並要求對其中的每個值進行測試,可以確定n個有效等價類和一個無效等價類。

在規定了輸入資料必須遵守的規則的情況下,可以確定一個有效等價類和若干無效等價類

在已劃分的某等價類中,若各元素在程式中的處理方式不同,則應將次等價類進一步劃分為若干等價類

劃分等價類的過程是一個對軟體的需求規格說明進行分析推敲的過程,有時還需求多次的嘗試方能成功

針對被測程式劃分出若干有效等價類和無效等價類之後,應建立等價類表,列出與每一個輸入條件對應的有效等價類和無效等價類

根據等價類表編寫測試用例,可遵循如下步驟:

為每一個等價類規定一個唯一的編號

設計一個測試用例,使其儘可能多地覆蓋未被蓋章地有效等價類,如此重複,直到所有有效等價類均被測試用例覆蓋

設計一個測試用例,使其覆蓋一個尚未被覆蓋的無效等價類如此重複,直到所有無效等價類均被測試用例覆蓋

邊界值分析法

邊界值分析法是一種對等價類劃分法的補充,使用邊界值分析法時,應針對等於,剛好大於,剛好小於等各輸入等價類和輸出等價類邊界值的情況設計測試用例

用邊界值分析法設計策劃i用例應該遵循以下原則:

若輸入條件規定了值的範圍,應針對剛達到此範圍邊界的值,以及剛超越此範圍邊界的值設計測試用例

若輸入條件規定了值的個數,應針對最大個數,最小個數,比最大個數打1,比最小個數少1等集中情況的資料設計測試用例

若程式的規格說明中給出的輸入域和輸出域時有序集合,應針對集合中的第一個元素(即剛好大於或剛好小於第一元素的數值)和最後一個元素(剛好大於或剛好小於最有一個元素的數值)設計測試用例

若程式中使用了內部資料結構,應針對該內部資料結構邊界上的值設計測試用例

進一步分析規格說明,找出其他可能的邊界情況,針對他們設計測試用例

在實際專案的測試過程中運用以上原則不能生搬硬套,最重要在分析具體規格說明基礎上尋找邊界情況,設計測試用例

因果圖分析法

在等價類方法和邊界值分析法中,對輸入條件的考慮並未重視輸入條件的組合,事實上,當輸入存在若干種可能的組合時,必須對這些組合加以考慮,以證實測試程式輸入組合在某種情況下能否完成規格說明書中預先規定的功能

因果圖時一種形式語言,用自然語言描述的規格說明可以轉換為因果圖,因果圖實質上時一種資料邏輯電路,但是沒有使用標準的電子學符號,而是使用了簡化的符號。因果圖時輔助測試者明確測試物件,確定測試依據的有效手段。(因果圖的畫法百度)

因果圖設計用例地時候遵循以下步驟:

分析程式的規格說明中哪些時原因,哪些是結果,所謂原因,是指輸入條件或輸出條件的等價類,而結果是指輸出條件。給每個原因和結果賦一個識別符號

分析程式的規格說明中的含義,確定原因與原因,原因與結果之間的關係,畫出因果圖

由於語法或者環境的限制,一些原因與原因之間,原因與結果之間的組合不能出現,對這些特殊情況,在因果圖中用一些記號約束或限制條件

將因果圖轉化成判定表,根據判定表的每一列實際測試用例

隨機測試方法

隨機測試方法是測試輸入資料在可能的輸入之中隨機選取的,測試人員只需要規定輸入變數的取值區間,在需要時提供必須的變換機制,使產生的隨機數服從預期的概率分佈。

猜錯法

猜錯法使有經驗的測試人員,通過列出可能有的錯誤和易錯情況表,對每種情況都要進行測試用例的設計。

黑盒測試方法的綜合使用策略

在使用黑盒測試方法時,只有結合被測試軟體的特點,有選擇的使用若干方法,才能真正滿足軟體測試的需求

首先進行等價類劃分,包括輸入和輸出條件的等價類劃分,將無線測試變成有限測試這是減少工作量和提高測試效率最有效的方法,等價類劃分也常是邊界值分析的基礎

在任何情況下都必須使用邊界值分析,測試人員可以根據經驗用猜錯法來補充一部分的測試用例

如果程式的功能說明中含有輸入條件的組合情況,則一開始就可以選擇因果圖法。