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