等價分類法是一種常見的黑盒測試方法,主張從大量數據中選擇一些數據進行測試,也就是說,為了發現更多的軟件缺陷,盡可能使用最少的測試用例來覆蓋最多的數據。本節將詳細解釋等價分類法的概念和使用情況。
一個程序可以有多個輸入。等價類分類是根據輸入需求對這些輸入數據進行分類,并將其分為幾個子集。這些子集是等價類別。在每個等價類別中選擇具有代表性的數據設計測試用例。這種方法類似于學生隊伍,男孩隊伍在左邊,女孩隊伍在右邊,教師隊伍在中間。通過這種方式,教師和學生被分成三個等價類別。使用等價法的測試程序需要兩個步驟來劃分等價分類和設計測試用例,如下所示。
1.等價類的劃分。
其含義如下所示,等價類可分為有效等價類和無效等價類。
(1)有效等價類:有效等價類是一種符合程序要求.合理且有意義的輸入數據的有效值的集合。
(2)無效等價類:無效等價類是一種無效值的集合,是一種不符合程序要求.不合理或無意義的輸入數據。
了解有效等價類和無效等價類,那么如何對等價類進行劃分呢?等價類的劃分通常需要遵循以下原則。
(1)程序要求輸入值為有限區間值的,可將輸入數據分為1有效等值類和2無效等值類,有效等值類為規定的取值區間,2無效等值類分為有限區間兩側值。如某程序要求輸入值為[1,100],則有效等值類為1≤X≤100,無效等值類為x1和x>100。
(2)如果程序需要輸入的值是必須建立的情況,輸入數據可以分為有效等價類和無效等價類。例如,如果一個程序需要一個正確的密碼,那么正確的密碼是一個有效的等價類,而錯誤的密碼是一個無效的等價類。
(3)如果程序要求輸入數據是一組可能的值,或要求輸入值必須滿足某一條件,輸入數據可以分為有效等價類和無效等價類。例如,如果一個程序要求輸入數據必須是一個以數字開始的字符串,那么以數字開始的字符串是一個有效的等價類,而不是以數字開頭的字符串是一個無效的等價類。
(4)如果程序中每個輸入數據的處理方法在某一等價類中是不一樣的,則應將該等價類劃分為較小的等價類,并建立等價表。
同一等價類中的數據發現程序缺陷的能力是一樣的,如果用等價類中的某個數據不能捕捉到缺陷,那么用等價類中的其他數據也不能捕捉到缺陷;同樣,等價類中的其他數據也能捕捉到缺陷,即等價類中的所有輸入數據都是等價的。
正確劃分等價類可以大大降低測試用例的數量,測試將更加準確和有效。在劃分等價類時,我們不僅要考慮有效的等價類,還要考慮無效的等價類,我們應該仔細分析等價類。對于審查劃分,如果兩個不同的等價類被誤認為是等價類,那么軟件缺陷可能會被遺漏。例如,一個程序需要一個1~100之間的整數才能被輸入到取值范圍中。如果一個測試用例輸入了0.6的數據,那么在測試中很可能只會發現非整數錯誤,而不會發現取值范圍的錯誤。
2.測試用例設計。
等價類確定后,需要建立一個等價類表來列出所有的等價類,用來設計測試用例。測試用例的設計步驟如下所示,基于等價類劃分法。
(1)確定測試對象,確保非測試對象的正確性。
(2)規定每個等價類中的唯一編號。
(3)設計有效等價類的測試用例,在測試用例覆蓋所有有效等價類之前,盡可能多地覆蓋尚未覆蓋的有效等價類。
(4)為覆蓋所有無效等價類設計無效等價類的測試用例。
黑盒測試之等價類劃分法的內容大致就是這樣,希望你了解了,如果有軟件測試相關的問題,可以關注千鋒教育軟件測試問答欄目。更多關于“軟件測試培訓”的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項目實操的話可以點擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。