等價(jià)類劃分法

黑盒測(cè)試用例設(shè)計(jì)方法包括等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法、判定表驅(qū)動(dòng)法、正交試驗(yàn)設(shè)計(jì)法、功能圖法等等。

1.等價(jià)類是指某個(gè)輸入域的子集合

在該子集合中,各個(gè)輸入數(shù)據(jù)對(duì)于揭露程序中的錯(cuò)誤都是等效的,并合理地假定:測(cè)試某等價(jià)類的代表值就等于對(duì)這一類其它值的測(cè)試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價(jià)類,在每一個(gè)等價(jià)類中取一個(gè)數(shù)據(jù)作為測(cè)試的輸入條件,就可以用少量代表性的測(cè)試數(shù)據(jù).取得較好的測(cè)試結(jié)果.等價(jià)類劃分可有兩種不同的情況:有效等價(jià)類和無效等價(jià)類。

·有效等價(jià)類:

是指對(duì)于程序的規(guī)格說明來說是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合.利用有效等價(jià)類可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。

·無效等價(jià)類:

與有效等價(jià)類的定義恰巧相反。

設(shè)計(jì)測(cè)試用例時(shí),要同時(shí)考慮這兩種等價(jià)類.因?yàn)?軟件不僅要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗(yàn).這樣的測(cè)試才能確保軟件具有更高的可靠性。

2.劃分等價(jià)類的六大原則:

·在輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類和兩個(gè)無效等價(jià)類.

例:輸入值是學(xué)生成績(jī),范圍是0~100:

·在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類.

·在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類.布爾量是一個(gè)二值枚舉類型, 一個(gè)布爾量具有兩種狀態(tài): true 和false。

·在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類.

例:輸入條件說明輸入字符為:中文、英文、阿拉伯文三種之一,則分別取這三種這三個(gè)值作為三個(gè)有效等價(jià)類,另外把三種字符之外的任何字符作為無效等價(jià)類。

·在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無效等價(jià)類(從不同角度違反規(guī)則)

·在確知已劃分的等價(jià)類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類進(jìn)一步的劃分為更小的等價(jià)類

3.將等價(jià)類轉(zhuǎn)化成測(cè)試用例:

·按照[輸入條件][有效等價(jià)類][無效等價(jià)類]建立等價(jià)類表,列出所有劃分出的等價(jià)類

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

·設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價(jià)類,重復(fù)這一步.直到所有的有效等價(jià)類都被覆蓋為止.

·設(shè)計(jì)一個(gè)新的測(cè)試用例,使其僅覆蓋一個(gè)尚未被覆蓋的無效等價(jià)類,重復(fù)這一步.直到所有的無效等價(jià)類都被覆蓋為止.

1.1.等價(jià)類劃分實(shí)例

1.某程序規(guī)定:"輸入三個(gè)整數(shù)a、b、c分別作為三邊的邊長(zhǎng)構(gòu)成三角形。通過程序判定所構(gòu)成的三角形的類型,當(dāng)此三角形為一般三角形、等腰三角形及等邊三角形時(shí),分別作計(jì)算… "。用等價(jià)類劃分方法為該程序進(jìn)行測(cè)試用例設(shè)計(jì)。(三角形問題的復(fù)雜之處在于輸入與輸出之間的關(guān)系比較復(fù)雜。)

分析題目中給出和隱含的對(duì)輸入條件的要求:

(1)整數(shù)(2)三個(gè)數(shù)(3)非零數(shù)(4)正數(shù)

(5)兩邊之和大于第三邊(6)等腰(7)等邊

如果a、b、c滿足條件(1)~(4),則輸出下列四種情況之一:

1)如果不滿足條件(5),則程序輸出為"非三角形"。

2)如果三條邊相等即滿足條件(7),則程序輸出為"等邊三角形"。

3)如果只有兩條邊相等、即滿足條件(6),則程序輸出為"等腰三角形"。

4)如果三條邊都不相等,則程序輸出為"一般三角形"。

列出等價(jià)類表并編號(hào)


覆蓋有效等價(jià)類的測(cè)試用例:

a????? b????? c覆蓋等價(jià)類號(hào)碼

3????? 4????? 5(1)--(7)

4????? 4????? 5(1)--(7),(8)

4????? 5????? 5(1)--(7),(9)

5????? 4????? 5(1)--(7),(10)

4????? 4????? 4(1)--(7),(11)

覆蓋無效等價(jià)類的測(cè)試用例:


2.設(shè)有一個(gè)檔案管理系統(tǒng),要求用戶輸入以年月表示的日期。假設(shè)日期限定在1990年1月~2049年12月,并規(guī)定日期由6位數(shù)字字符組成,前4位表示年,后2位表示月?,F(xiàn)用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,來測(cè)試程序的"日期檢查功能"。(不考慮2月的問題)

1)劃分等價(jià)類并編號(hào),下表等價(jià)類劃分的結(jié)果


2)設(shè)計(jì)測(cè)試用例,以便覆蓋所有的有效等價(jià)類在表中列出了3個(gè)有效等價(jià)類,編號(hào)分別為①、⑤、⑧,設(shè)計(jì)的測(cè)試用例如下:

測(cè)試數(shù)據(jù)期望結(jié)果覆蓋的有效等價(jià)類

200211輸入有效①、⑤、⑧

3)為每一個(gè)無效等價(jià)類設(shè)計(jì)一個(gè)測(cè)試用例,設(shè)計(jì)結(jié)果如下:

測(cè)試數(shù)據(jù)期望結(jié)果覆蓋的無效等價(jià)類

95June無效輸入②

20036無效輸入③

2001006無效輸入④

198912無效輸入⑥

200401無效輸入⑦

200100無效輸入⑨

200113無效輸入⑩

3.NextDate函數(shù)包含三個(gè)變量:month、day和year,函數(shù)的輸出為輸入日期后一天的日期。例如,輸入為2006年3月7日,則函數(shù)的輸出為2006年3月8日。要求輸入變量month、day和year均為整數(shù)值,并且滿足下列條件:

①1≤month≤12

②1≤day≤31

③1920≤year≤2050

1)有效等價(jià)類為:

M1={月份:1≤月份≤12}

D1={日期:1≤日期≤31}

Y1={年:1812≤年≤2012}

2)若條件①~③中任何一個(gè)條件失效,則NextDate函數(shù)都會(huì)產(chǎn)生一個(gè)輸出,指明相應(yīng)的變量超出取值范圍,比如"month的值不在1-12范圍當(dāng)中"。顯然還存在著大量的year、month、day的無效組合,NextDate函數(shù)將這些組合作統(tǒng)一的輸出:"無效輸入日期"。其無效等價(jià)類為:

M2={月份:月份<1}

M3={月份:月份>12}

D2={日期:日期<1}

D3={日期:日期>31}

Y2={年:年<1812}

Y3={年:年>2012}

弱一般等價(jià)類測(cè)試用例

月份日期年預(yù)期輸出

6????? ?15??????? 1912?????????? 1912年6月16日

強(qiáng)一般等價(jià)類測(cè)試用例同弱一般等價(jià)類測(cè)試用例

注:弱--有單缺陷假設(shè);健壯--考慮了無效值

(一)弱健壯等價(jià)類測(cè)試

用例ID月份日期年預(yù)期輸出

WR1????? 6????? 15??? 1912????? 1912年6月16日

WR2???? -1???? 15??? 1912月份不在1~12中

WR3???? 13???? 15??? 1912月份不在1~12中

WR4????? 6????? -1??? 1912日期不在1~31中

WR5????? 6????? 32??? 1912日期不在1~31中

WR6????? 6????? 15??? 1811年份不在1812~2012中

WR7????? 6????? 15??? 2013年份不在1812~2012中

(二)強(qiáng)健壯等價(jià)類測(cè)試

用例ID月份日期年預(yù)期輸出

SR1?????? -1???? ?15?????? 1912月份不在1~12中

SR2??????? 6????? -1??????? 1912日期不在1~31中

SR3??????? 6????? 15?????? 1811年份不在1812~2012中

SR4?????? -1????? -1???????1912兩個(gè)無效一個(gè)有效

SR5??????? 6????? -1??????? 1811兩個(gè)無效一個(gè)有效

SR6????? ?-1????? 15?????? 1811兩個(gè)無效一個(gè)有效

SR7?????? -1????? -1???????1811三個(gè)無效

4.傭金問題等價(jià)類測(cè)試用例,它是根據(jù)傭金函數(shù)的輸出值域定義等價(jià)類,來改進(jìn)測(cè)試用例集合。

輸出銷售額≤1000元傭金10%

1000<銷售額≤1800傭金=100+(銷售額-1000)*15%

銷售額>1800傭金=220+(銷售額-1800)*20%

測(cè)試用例槍機(jī)(45)槍托(30)槍管(25)銷售額傭金

1?????????????? 5?????????? ? 5???????????? ?? 5??????????????? ? 500?????? ?50

2????????????? 15?????????? 15????????????? 15???????????????? 1500175

3????????????? 25????????? ?25????????????? 25???????????????? 2500?????? 360

根據(jù)輸出域選擇輸入值,使落在輸出域等價(jià)類內(nèi),可以結(jié)合弱健壯測(cè)試用例結(jié)合。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 定義是把所有的輸入數(shù)據(jù),即程序的輸入域劃分為若干部分(子集),然后從每一個(gè)子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測(cè)試用...
    by小杰閱讀 7,593評(píng)論 0 2
  • 等價(jià)類劃分方法: 一.方法簡(jiǎn)介 1.定義是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個(gè)...
    繼續(xù)hug閱讀 5,830評(píng)論 1 16
  • 一、是什么? 1.是一種典型的黑盒測(cè)試設(shè)計(jì)方法。 2.是將系統(tǒng)輸入域劃分為若干部分,然后從每個(gè)部分選取少數(shù)代表性數(shù)...
    勁憂閱讀 1,720評(píng)論 0 5
  • 等價(jià)類劃分法:是把程序的輸入域劃分成若干部分,然后從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)當(dāng)作測(cè)試用例。 等價(jià)類:是指某個(gè)輸...
    張小五_test閱讀 4,108評(píng)論 0 2
  • 一種好的資產(chǎn),能為你帶來源源不斷的被動(dòng)收入。這種資產(chǎn)不僅僅是金錢、房產(chǎn),社交關(guān)系也是一種寶貴的資產(chǎn)。 作為一個(gè)四線...
    筱筱宇下閱讀 140評(píng)論 0 2

友情鏈接更多精彩內(nèi)容