等價類即將所有有可能的輸入資料(程式的輸入域)劃分為若干個子集,這些子集具有完備性、無冗餘的特點。然後從每乙個子集裡,選取少數具有代表性的資料作為測試用例值。
在設計測試用例的時候,我們要考慮有效等價類、無效等價類兩類。因為軟體不僅要能接受正確的資料,還要能夠接受住錯誤資料的考驗,這樣才能保證軟體的可靠性。有效等價類是指對於程式的規格說明來說是合理的、有意義的輸入資料構成的集合,它能檢驗程式是否可以實現規格說明中所規定的功能需求。無效等價類是指對程式的規格說明是不合理的或無意義的輸入資料所構成的集合,它能檢驗程式在不符合規則的資料輸入下,是否會有異常;無效等價類至少應有乙個,也可能有多個,視具體情況而定。
等價劃分法也可以分為四類:弱一般等價類測試、強一般等價類測試、弱健壯等價類測試、強健壯等價類測試。其中,「弱」指的是基於單缺陷假設(具體可見部落格單缺陷、多缺陷、邊界值分析法),也就是說在測試用例中,每條用例最多只能有乙個變數取非正常值;而「強」則是基於多缺陷假設,所以測試用例中可以有乙個、兩個或多個變數取非正常值。而「一般」則是指不考慮無效等價類,「健壯」則是指要考慮無效等價類。詳細可見部落格等價類劃分法詳解。
(1)1+2原則:若規定了輸入資料的取值範圍,可定義乙個有效等價類、兩個無效等價類
例如,規定輸入資料的範圍是0-100,則可定義有效等價類:
(2)1+1原則:若規定了輸入資料必須是某個指定集合或者規定了輸入資料必須如何的情況下,可以定義乙個有效等價類、乙個無效等價類
例如,規定輸入資料的必須是整數,則可以定義有效等價類:x是整數,定義無效等價類x是非整數。
(3)1+0原則:若輸入資料為乙個布林量,則可以定義乙個有效等價類
例如,填寫資訊時「姓名」一欄為必填項,則可以定義有效等價類是填寫。
注:此種型別因為輸入資料只有true、false兩種型別,所以在實際測試的時候,建議兩種都測試。若是基於作業系統的輸入型布林變數,則要遵循1+1原則。
(4)n+1原則:若規定了輸入資料是指定的一組值(假定n個),並且程式要對每乙個輸入值分別處理的情況下,可確定n個有效等價類和乙個無效等價類
例如,規定輸入資料是1,2,3,則可將1,2,3三個資料作為有效等價類,其他資料均為無效等價類。
(5)1+n原則:若規定了輸入資料必須遵循某規則,則可以確定乙個有效等價類、n個無效等價類(從不同的角度違反規則)
例如,規定輸入資料是非0的正整數,則定義有效等價類是非0的正整數,無效等價類:0、負數、字串、小數等等。
(6)其它原則:在確知已劃分的等價類中各元素在程式處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類
例如,輸入資料為日期型時,可以根據年份、月份、日結合現實情況進行乙個更小的劃分。
注:
1) 等價類測試比較適用於輸入資料以離散值區間和集合定義的函式
2)當輸入變數之間存在依賴關係,等價類測試會產生很多「錯誤」用例
在實際應用中,我們常常是等價邊界值一直使用,即在劃分好等價類之後,從每個等價類中取代表性資料再加上邊界值設計測試用例。等價邊界適用於對值的驗證的場景,比如輸入/輸出介面,容量/體積限制。
其中,邊界值分析法不是從乙個等價類中任選一例子作代表,而是選乙個或幾個例子,使得該等價類的邊界值情況成為測試的主要目標。同時,邊界值分析不僅注意輸入條件,它還根據輸出的情況(即按輸出等價類)設計測試用例。
等價類劃分法設計測試用例
等價類劃分法是常用的黑盒測試用例設計方法,測試用例設計時的唯一依據是產品需求文件。一 定義 所謂等價類,是把所有可能的輸入資料,即程式的輸入域劃分為若干子集,然後從每乙個子集中,選取少數具有代表性的資料作為測試用例。等價類分為有效等價類和無效等價類。有效等價類是對程式有效的輸入,無效等價類是其他任何...
測試用例設計 等價類劃分法
1 相關概念 1.1 定義 等價類劃分法 是把所有可能的輸入資料,即程式的輸入域劃分成若干部分 子集 然後從每乙個子集中選取少數具有代表性的資料作為測試用例。該方法是一種重要的,常用的黑盒測試用例設計方法。1.2 等價類 等價類是某個輸入域的集合,在這個集合中每個輸入條件都是等效的。如果其中乙個的輸...
等價類劃分法測試用例
等價類是指程式輸入域的子集。思想是 將程式的輸入域劃分為若干個區域 等價類 並在每個等價類中選擇乙個具有代表性的元素生成測試用例。這是黑盒測試用例設計方法 一 劃分等價類 1 有效等價類和無效等價類 有效等價類是指對於程式的規格來說是合理的,有意義的輸入資料構成的集合,可以檢驗程式是否可以實現規格說...