千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 黑盒測(cè)試之等價(jià)分類法

黑盒測(cè)試之等價(jià)分類法

來源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2022-06-14 16:15:00 1655194500

  等價(jià)分類法是一種常見的黑盒測(cè)試方法,主張從大量數(shù)據(jù)中選擇一些數(shù)據(jù)進(jìn)行測(cè)試,也就是說,為了發(fā)現(xiàn)更多的軟件缺陷,盡可能使用最少的測(cè)試用例來覆蓋最多的數(shù)據(jù)。本節(jié)將詳細(xì)解釋等價(jià)分類法的概念和使用情況。

黑盒測(cè)試之等價(jià)分類法

  一個(gè)程序可以有多個(gè)輸入。等價(jià)類分類是根據(jù)輸入需求對(duì)這些輸入數(shù)據(jù)進(jìn)行分類,并將其分為幾個(gè)子集。這些子集是等價(jià)類別。在每個(gè)等價(jià)類別中選擇具有代表性的數(shù)據(jù)設(shè)計(jì)測(cè)試用例。這種方法類似于學(xué)生隊(duì)伍,男孩隊(duì)伍在左邊,女孩隊(duì)伍在右邊,教師隊(duì)伍在中間。通過這種方式,教師和學(xué)生被分成三個(gè)等價(jià)類別。使用等價(jià)法的測(cè)試程序需要兩個(gè)步驟來劃分等價(jià)分類和設(shè)計(jì)測(cè)試用例,如下所示。

  1.等價(jià)類的劃分。

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

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

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

  了解有效等價(jià)類和無效等價(jià)類,那么如何對(duì)等價(jià)類進(jìn)行劃分呢?等價(jià)類的劃分通常需要遵循以下原則。

  (1)程序要求輸入值為有限區(qū)間值的,可將輸入數(shù)據(jù)分為1有效等值類和2無效等值類,有效等值類為規(guī)定的取值區(qū)間,2無效等值類分為有限區(qū)間兩側(cè)值。如某程序要求輸入值為[1,100],則有效等值類為1≤X≤100,無效等值類為x1和x>100。

  (2)如果程序需要輸入的值是必須建立的情況,輸入數(shù)據(jù)可以分為有效等價(jià)類和無效等價(jià)類。例如,如果一個(gè)程序需要一個(gè)正確的密碼,那么正確的密碼是一個(gè)有效的等價(jià)類,而錯(cuò)誤的密碼是一個(gè)無效的等價(jià)類。

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

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

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

  正確劃分等價(jià)類可以大大降低測(cè)試用例的數(shù)量,測(cè)試將更加準(zhǔn)確和有效。在劃分等價(jià)類時(shí),我們不僅要考慮有效的等價(jià)類,還要考慮無效的等價(jià)類,我們應(yīng)該仔細(xì)分析等價(jià)類。對(duì)于審查劃分,如果兩個(gè)不同的等價(jià)類被誤認(rèn)為是等價(jià)類,那么軟件缺陷可能會(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à)類確定后,需要建立一個(gè)等價(jià)類表來列出所有的等價(jià)類,用來設(shè)計(jì)測(cè)試用例。測(cè)試用例的設(shè)計(jì)步驟如下所示,基于等價(jià)類劃分法。

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

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

  (3)設(shè)計(jì)有效等價(jià)類的測(cè)試用例,在測(cè)試用例覆蓋所有有效等價(jià)類之前,盡可能多地覆蓋尚未覆蓋的有效等價(jià)類。

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

  黑盒測(cè)試之等價(jià)類劃分法的內(nèi)容大致就是這樣,希望你了解了,如果有軟件測(cè)試相關(guān)的問題,可以關(guān)注千鋒教育軟件測(cè)試問答欄目。更多關(guān)于“軟件測(cè)試培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項(xiàng)目實(shí)操的話可以點(diǎn)擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個(gè)全面的物聯(lián)網(wǎng)開發(fā)平臺(tái),它為眾多硬件平臺(tái)和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡(jiǎn)化了開發(fā)過程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動(dòng)備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時(shí)間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動(dòng)備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢(shì)和特點(diǎn)。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問題是什么?

ORM(對(duì)象關(guān)系映射)解決的主要問題是將關(guān)系數(shù)據(jù)庫(kù)與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)中,數(shù)據(jù)以表格的形式存儲(chǔ),而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
Go為什么不支持三元運(yùn)算符?

Go為什么不支持三元運(yùn)算符Go語(yǔ)言是一種以簡(jiǎn)潔和有效性為目標(biāo)的編程語(yǔ)言,因此在設(shè)計(jì)過程中,Go的設(shè)計(jì)者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

2023-10-14 12:12:36