軟件測試中設(shè)計測試用例的具體用法[4]

字號:

(2)判定覆蓋。
    判定覆蓋指設(shè)計足夠的測試用例,使得被測程序中每個判定表達(dá)式至少獲得一次“真”值和“假”值,從而使程序的每一個分支至少都通過一次,因此判定覆蓋也稱分支覆蓋。
    (3)條件覆蓋。
    條件覆蓋是指設(shè)計足夠的測試用例,使得判定表達(dá)式中每個條件的各種可能的值至少出現(xiàn)一次。
    (4)判定/條件測試。
    該覆蓋標(biāo)準(zhǔn)指設(shè)計足夠的測試用例,使得判定表達(dá)式的每個條件的所有可能取值至少出現(xiàn)一次,并使每個判定表達(dá)式所有可能的結(jié)果也至少出現(xiàn)一次。
    (5)條件組合覆蓋。
    條件組合覆蓋是比較強(qiáng)的覆蓋標(biāo)準(zhǔn),它是指設(shè)計足夠的測試用例,使得每個判定表達(dá)式中條件的各種可能的值的組合都至少出現(xiàn)一次。
    (6)路徑覆蓋。
    路徑覆蓋是指設(shè)計足夠的測試用例,覆蓋被測程序中所有可能的路徑。
    在實(shí)際的邏輯覆蓋測試中,一般以條件組合覆蓋為主設(shè)計測試用例,然后再補(bǔ)充部分用例,以達(dá)到路徑覆蓋測試標(biāo)準(zhǔn)。
    2.循環(huán)覆蓋
    3.基本路徑測試
    (二)黑盒技術(shù)
    1.等價類劃分
    (1)劃分等價類。
    ①如果某個輸入條件規(guī)定了取值范圍或值的個數(shù)。則可確定一個合理的等價類(輸入值或數(shù)在此范圍內(nèi))和兩個不合理等價類(輸入值或個數(shù)小于這個范圍的最小值或大于這個范圍的值)。
    ②如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序?qū)Σ煌妮斎胫底霾煌奶幚?,則每個允許輸入值是一個合理等價類,此處還有一個不合理等價類(任何一個不允許的輸入值)。
    ③如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,可確定一個合理等價類(符合規(guī)則)和若干個不合理等價類(從各種不同角度違反規(guī)則)。
    ④如果已劃分的等價類中各元素在程序中的處理方式不同,則應(yīng)將此等價類進(jìn)一步劃分為更小的等價類。
    (2)確定測試用例。
    ①為每一個等價類編號。
    ②設(shè)計一個測試用例,使其盡可能多地覆蓋尚未被覆蓋過的合理等價類。重復(fù)這步,直到所有合理等價類被測試用例覆蓋。
    ③設(shè)計一個測試用例,使其只覆蓋一個不合理等價類。
    2.邊界值分析
    使用邊界值分析方法設(shè)計測試用例時一般與等價類劃分結(jié)合起來。但它不是從一個等價類中任選一個例子作為代表,而是將測試邊界情況作為重點(diǎn)目標(biāo),選取正好等于、剛剛大于或剛剛小于邊界值的測試數(shù)據(jù)。
    (1)如果輸入條件規(guī)定了值的范圍,可以選擇正好等于邊界值的數(shù)據(jù)作為合理的測試用例,同時還要選擇剛好越過邊界值的數(shù)據(jù)作為不合理的測試用例。如輸入值的范圍是[1,100],可取0,1,100,101等值作為測試數(shù)據(jù)。
    (2)如果輸入條件指出了輸入數(shù)據(jù)的個數(shù),則按個數(shù)、最小個數(shù)、比最小個數(shù)少1、比個數(shù)多1等情況分別設(shè)計測試用例。如,一個輸入文件可包括1--255個記錄,則分別設(shè)計有1個記錄、255個記錄,以及0個記錄的輸入文件的測試用例。
    (3)對每個輸出條件分別按照以上原則(1)或(2)確定輸出值的邊界情況。如,一個學(xué)生成績管理系統(tǒng)規(guī)定,只能查詢95--98級大學(xué)生的各科成績,可以設(shè)計測試用例,使得查詢范圍內(nèi)的某一屆或四屆學(xué)生的學(xué)生成績,還需設(shè)計查詢94級、99級學(xué)生成績的測試用例(不合理輸出等價類)。