教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

不可不知黑盒測試:等價(jià)類劃分法

更新時(shí)間:2022年03月09日10時(shí)22分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  等價(jià)類劃分法是一種常用的黑盒測試方法,它主張從大量的數(shù)據(jù)中選擇一部分?jǐn)?shù)據(jù)用于測試,即盡可能使用最少的測試用例覆蓋最多的數(shù)據(jù),以發(fā)現(xiàn)更多的軟件缺陷。本節(jié)將針對(duì)等價(jià)類劃分法的概念及使用進(jìn)行詳細(xì)的講解。

  一個(gè)程序可以有多個(gè)輸入,等價(jià)類劃分就是將這些輸入數(shù)據(jù)按照輸入需求進(jìn)行分類,將它們劃分為若干個(gè)子集,這些子集即為等價(jià)類,在每個(gè)等價(jià)類中選擇有代表性的數(shù)據(jù)設(shè)計(jì)測試用例。這種方法類似于學(xué)生站隊(duì),男生站左邊,女生站右邊,老師站中間,這樣就把師生群體劃分成了3個(gè)等價(jià)類。使用等價(jià)類劃分法測試程序需要經(jīng)過劃分等價(jià)類和設(shè)計(jì)測試用例2個(gè)步驟,具體介紹如下。

  1、劃分等價(jià)類

  等價(jià)類可分為有效等價(jià)類與無效等價(jià)類,其含義如下所示。

  (1)有效等價(jià)類:有效等價(jià)類就是有效值的集合,它們是符合程序要求、合理且有意義的輸入數(shù)據(jù)。

  (2)無效等價(jià)類:無效等價(jià)類就是無效值的集合,它們是不符合程序要求、不合理或無意義的輸入數(shù)據(jù)。

  了解了有效等價(jià)類與無效等價(jià)類,那么如何劃分等價(jià)類呢?一般在劃分等價(jià)類時(shí)需要遵守以下原則。

  (1)如果程序要求輸入值是一個(gè)有限區(qū)間的值,則可以將輸入數(shù)據(jù)劃分為1個(gè)有效等價(jià)類和2個(gè)無效等價(jià)類,有效等價(jià)類為指定的取值區(qū)間,兩個(gè)無效等價(jià)類分為有限區(qū)間兩邊的值。例如,某程序要求輸入值x的范圍為[1,100],則有效等價(jià)類為1≤x≤100,無效等價(jià)類為x<1和x>100。

  (2)如果程序要求輸入的值是一個(gè)“必須成立”的情況,則可以將輸入數(shù)據(jù)劃分為1個(gè)有效等價(jià)類和1個(gè)無效等價(jià)類。例如,某程序要求密碼正確,則正確的密碼為有效等價(jià)類,錯(cuò)誤的密碼為無效等價(jià)類。

  (3)如果程序要求輸入數(shù)據(jù)是一組可能的值,或者要求輸入值必須符合某個(gè)條件,則可以將輸入的數(shù)據(jù)劃分為1個(gè)有效等價(jià)類和1個(gè)無效等價(jià)類。例如,某程序要求輸入數(shù)據(jù)必須是以數(shù)字開頭的字符串,則以數(shù)字開頭的字符串是有效等價(jià)類,不是以數(shù)字開頭的字符串是無效等價(jià)類。

  (4)如果在某一個(gè)等價(jià)類中,每個(gè)輸入數(shù)據(jù)在程序中的處理方式都不相同,則應(yīng)將該等價(jià)類劃分成更小的等價(jià)類,并建立等價(jià)表。

  同一個(gè)等價(jià)類中的數(shù)據(jù)發(fā)現(xiàn)程序缺陷的能力是相同的,如果使用等價(jià)類中的一個(gè)數(shù)據(jù)不能捕獲缺陷,那么使用等價(jià)類中的其他數(shù)據(jù)也不能捕獲缺陷;同樣,如果等價(jià)類中的一個(gè)數(shù)據(jù)能捕獲缺陷,那么該等價(jià)類中的其他數(shù)據(jù)也能捕獲缺陷,即等價(jià)類中的所有輸入數(shù)據(jù)都是等效的。

  正確地劃分等價(jià)類可以極大地降低測試用例的數(shù)量,測試會(huì)更準(zhǔn)確有效。劃分等價(jià)類時(shí)不單要考慮有效等價(jià)類,還要考慮無效等價(jià)類,對(duì)于等價(jià)類要認(rèn)真分析、審查劃分,過于粗略的劃分可能會(huì)漏掉軟件缺陷,如果錯(cuò)誤地將兩個(gè)不同的等價(jià)類當(dāng)作一個(gè)等價(jià)類,則會(huì)遺漏測試情況。例如,某程序要求輸入取值范圍在1~100之間的整數(shù),若一個(gè)測試用例輸入了數(shù)據(jù)0.6,則在測試中很可能只檢測出非整數(shù)錯(cuò)誤,而檢測不出取值范圍的錯(cuò)誤。

  2、設(shè)計(jì)測試用例

  確立了等價(jià)類之后,需要建立等價(jià)類表列出所有劃分出的等價(jià)類,用以設(shè)計(jì)測試用例?;诘葍r(jià)類劃分法的測試用例設(shè)計(jì)步驟如下所示。

  (1)確定測試對(duì)象,保證非測試對(duì)象的正確性。

  (2)為每個(gè)等價(jià)類規(guī)定一個(gè)唯一編號(hào)。

  (3)設(shè)計(jì)有效等價(jià)類的測試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價(jià)類,直到測試用例覆蓋了所有的有效等價(jià)類。

  (4)設(shè)計(jì)無效等價(jià)類的測試用例,使其覆蓋所有的無效等價(jià)類。

0 分享到:
和我們在線交談!