等價類劃分

2021-10-08 00:21:50 字數 2013 閱讀 6839

等價類劃分,指的是一種典型的、重要的黑盒測試方法。其就是解決如何選擇適當的資料子集來代表整個資料集的問題,通過降低測試的數目去實現合理的覆蓋,以此來發現更多的軟體缺陷。

概述等價類劃分法將程式所有可能的輸入資料(有效的和無效的)劃分成若干個等價類。然後從每個部分中選取具有代表性的資料當做測試用例進行合理的分類,測試用例由有效等價類和無效等價類的代表組成,從而保證測試用例具有完整性和代表性。等價類劃分法是一種系統性的確定要輸入的測試條件的方法。等價類劃分不僅可以用來確定測試用例中的資料的輸入輸出的精確取值範圍,也可以用來準備中間值、狀態和與時間相關的資料以及介面引數等。

等價類相關基本概念

有效等價類:指對於程式規格說明來說,是合理的、有意義的輸入資料構成的集合。利用有效等價類可以檢驗程式是否實現了規格說明預先規定的功能和效能。有效等價類可以是乙個,也可以是多個,根據系統的輸入域劃分若干部分,然後從每個部分中選取少數有代表性資料當做資料測試的測試用例,等價類是輸入域的集合。

無效等價類:和有效等價類相反,無效等價類是指對於軟體規格說明而言,沒有意義的、不合理的輸入資料集合。利用無效等價類,可以找出程式異常說明情況,檢查程式的功能和效能的實現是否有不符合規格說明要求的地方。

弱一般等價類:  基於單缺陷假設,只針對有效等價類中進行用例設計,不針對無效等價類進行用例設計。也就是用例僅覆蓋正常場景。這裡描述的所謂的「弱」主就是指基於單缺陷假設,「一般」是指僅考慮有效等價類的覆蓋,也就是正常場景。

強一般等價類:基於多缺陷假設,覆蓋每個有效等價類進行用例設計。不針對無效等價類進行用例設計。所謂的「強」指的是基於多缺陷假設,也就是1個用例中考慮多個等價類中取值的組合。

弱健壯等價類:基於單缺陷假設的健壯性測試,同時考慮覆蓋有效等價類和無效等價類。所謂的「健壯」是指同時覆蓋了有效等價類,也就是異常場景。乙個程式只有同時能夠處理各種異常的輸入,才能稱之為程式具有健壯性。

強健壯等價類:基於多缺陷假設的健壯性測試。同時考慮覆蓋有效等價類和無效等價類。

這裡描述的概念後續都會通過實際案例進行講解,如果不能馬上理解,可以繼續先往下看,最後再來看這些基本概念,可能就更容易明白。

等價類劃分方法和原則

劃分等價類最重要的是:集合的劃分,劃分為一組互不相交的子集,而子集的並集是乙個集合。下面根據不同場景舉例等價類劃分的方法和原則。

(1)在輸入條件規定的取值範圍或值的個數的情況下,可以確定乙個有效等價類和兩個無效等價類。假設輸入學生成績範圍為[0,100],則有效等價類為[0,100],無效等價類為成績<0和》100。

(2)在規定了輸入資料的一組值中(假定有n個值),並且程式要對每個輸入值分別處理的情況下,可以確定n個有效等價類和乙個無效等價類。假設程式選項輸入為1、2、3三個選項。則有效等價類1、2、3,無效等價類為非整數值1/2/3。

(3)在規定輸入資料必須遵守的規則的情況下,可以確定乙個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則)。假設程式規定輸入為非0的正整數。應該充分考慮是否可以拆分為單一的子規則,然後得到從不同角度違反規則的無效等價類。該例子起碼可以拆分為非0、數字、正數、整數4個子規則。至少每乙個子規則對應1個無效等價類。即0、字串、負數、小數,設定可以挖掘出輸入為空的隱含等價類。

(4)在輸入條件規定了輸入值的集合或規定了「必須如何」的條件下,可以確定乙個有效等價類和乙個無效等價類。假設程式設定連續輸入密碼錯誤次數最多為3次。則有效等價類為小於等於3次,無效等價類為大於3次。

(5)在確定已劃分的等價類中各元素在程式處理中的方式不同的情況下,則應將該等價類進一步地劃分為更小的等價類。假設程式為測試輸入日期的有效性,初步有效等價類是month=[1,12],day=[1,31],可是考慮到閏年、閏月、長月、短月等。需要進一步細分,當然這還涉及到年月日組合的問題。

等價類表轉換測試用例方法

(1)按照輸入條件、有效等價類、無效等價類、 建立等價類表,列出所有劃分出的等價類。

(2)為每乙個等價類規定乙個唯一的編號。

(3)設計乙個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價類,重複這一步,直到所有的有效等價類都被覆蓋為止。

(4)設計乙個新的測試用例,使其僅覆蓋乙個尚未被覆蓋的無效等價類,重複這一步,直到所有的無效等價類都被覆蓋為止。

等價類劃分

等價類劃分的原則 1 例如 確定範圍情況下,確定乙個有效等價類,兩個無效等價類 乙個文字框輸入字元個數6 18位 乙個有效的等價類 範圍內個數 兩個無效 小於6,大於18 2 例如 必須如何,確定乙個有效等價類和乙個無效等價類 請輸入十一位的手機號 乙個有效的 11位有效 不是11,無效 3 在輸入...

等價類劃分

關於課上的例題自己的解析 editbox 1 to 6 english letters or numbers are allowed,press ok to terminate.可輸入1 6個英文本母或數字,之後按ok。uvalid equivalence class 合法等價類 length 1 ...

等價類劃分法 4 2 1 等價類劃分

等價類劃分是把所有可能的輸入資料,即程式的輸入域劃分成若干部分 子集 然後從每乙個子集中選取少數具有代表性的資料作為測試用例。該方法是一種重要的,常用的黑盒測試用例設計方法。等價類是指某個輸入域的子集合。在該子集合中,各個輸入資料對於揭露程式中的錯誤都是等效的,並合理地假定 測試某等價類的代表值就等...