任憲臻(北京信息職業技術學院軟件工程系,北京 100018)
基于等價類劃分的黑盒測試用例設計
任憲臻
(北京信息職業技術學院軟件工程系,北京 100018)
等價類劃分法是黑盒測試中常用的、典型的測試用例設計方法,它解決了如何選擇適當的數據子集代表整個數據集的問題,有效控制了測試用例的數量,使測試數據從無限變成有限,避免了盲目、隨機選取數據帶來的不完整性,實現了合理的、更多的可能數據的覆蓋,讓軟件測試更加充分,從而可以發現更多的軟件缺陷。
黑盒測試 等價類劃分 測試用例
黑盒測試不考慮系統內部實現細節,主要針對軟件功能、界面進行測試。理論上,黑盒測試只有采用窮舉輸入,才能發現軟件中所有潛在的缺陷。但是,實際測試情況有無窮多種,不可能對軟件進行完全的測試,因此必須進行有針對性的測試。測試用例可以指導測試的實施,保證有計劃、有組織地執行軟件測試。黑盒測試用例的設計方法主要包括等價類劃分法、邊界值分析法等,其中等價類劃分法是最常用的、典型的黑盒測試用例設計方法。
在軟件測試中,等價類是指所有可能的輸入數據的子集合,該子集合中的任意一個數據,對于發現程序中的錯誤都是等效的。為了確保軟件具有更高的可靠性,不僅要測試所有合法的輸入,也要測試那些不合法但可能的輸入。合理的、有意義的輸入數據構成的集合為有效等價類,其可以驗證軟件產品是否滿足用戶規定的需求;而那些不合理的、無意義的輸入數據構成的集合則為無效等價類,利用其可以找出軟件產品中與需求規格不相符合或與之矛盾的地方。
因此,等價類劃分法的基本思想就是把所有可能的輸入數據合理劃分成若干等價類,然后從每一個等價類中選取代表數據,這樣就可以用少量代表性的測試數據取得較好的測試結果。劃分等價類時要同時考慮有效與無效等價類,這樣才能保證測試用例的完整性與代表性。

表1-1 等價類表

表1-2 某評分系統的等價類表

表1-3 某評分系統的等價類測試用例
等價類劃分以軟件需求規格說明書為基礎,常用的幾條劃分原則如下。
(1)若輸入條件規定了取值范圍,則可確定取值范圍內為有效等價類,取值范圍外為無效等價類。
(2)若輸入條件規定了次數范圍,則可確定次數范圍內為有效等價類,次數范圍外為無效等價類。
(3)若輸入條件規定了輸入的一組值,且要求對每個值都要分別進行處理,則可確定每個值為一個有效等價類、其他不允許的值的集合為無效等價類。
(4)若輸入條件規定了必須遵守的規則,則可確定符合規則的為有效等價類,違反規則的為無效等價類。在確定無效等價類時,可以把必須符合的規則拆分為具有單一意義的子規則,然后從不同角度違反子規則得到無效等價類。
應用等價類劃分法設計測試用例時,一般按照以下3個步驟進行。
(1)劃分等價類。分析軟件需求規格說明書,結合等價類劃分原則,劃分有效等價類、無效等價類。
(2)建立等價類表。列出所有劃分的等價類,并為每個等價類規定一個唯一編號,建立如表1-1所示的等價類表。
(3)設計測試用例。設計測試用例時,應該遵循以下原則。
①用最少的測試用例覆蓋所有的有效等價類。
②為每一個無效等價類設計一個測試用例。
某評分系統根據輸入的分數評定等級,[90,100]內為A,[80,89]內為B,[70,79]內為C,[60,69]內為D,60分以下為E。要求輸入的分數必須是[0,100]之間的正整數。請應用等價類劃分法設計測試用例。首先,劃分等價類并建立等價類表,如表1-2所示。然后,根據等價類表設計測試用例,如表1-3所示。
等價類劃分法僅僅考慮了單個數據域的各種情況,沒有充分考慮輸入數據的各種組合情況,因此它僅適用于輸入條件無制約關系的測試,若要檢查程序輸入條件的各種組合情況,需要結合其他測試用例設計方法。
[1]朱少民.全程軟件測試(第2版)[M].電子工業出版社,2014.
[2]浦云明,陳黎震.基于劃分的等價類測試[J].計算機工程與設計,2009.
[3]范明紅,浦云明,汪志華.等價類測試與劃分研究[J].計算機技術與發展,2009.
任憲臻(1977-),女,碩士研究生,北京信息職業技術學院講師。研究方向為計算機軟件應用開發、軟件測試。