官术网_书友最值得收藏!

第5章 黑盒測試案例設(shè)計技術(shù)

5.1 測試用例設(shè)計方法

一、測試用例概述

1.簡介

測試用例設(shè)計是將軟件測試的行為活動,作一個科學(xué)化的組織歸納,其目的是為了能將軟件測試的行為轉(zhuǎn)換為可管理的模式。

測試用例是將測試行為具體量化的方法之一,即測試用例就是設(shè)計一個情況,軟件程序在該情況下,必須能夠正常運(yùn)行并且達(dá)到程序所設(shè)計的執(zhí)行結(jié)果。如果程序在這種情況下不能正常運(yùn)行,且這種問題會重復(fù)發(fā)生,那就表示軟件程序人員已經(jīng)測出軟件有缺陷,這時候就必須將該問題標(biāo)示出來,并且輸入到問題跟蹤系統(tǒng)內(nèi),以便通知軟件開發(fā)人員。軟件開發(fā)人員接獲通知后,將該問題在下個測試版本內(nèi)修改完成,軟件測試工程師取得新的測試版本后,必須利用同一用例來測試該問題,確保該問題已修改完成。

2.優(yōu)勢

由于不可能進(jìn)行窮舉測試,為節(jié)省時間和資源、提高測試效率,須從數(shù)量極大的可用測試數(shù)據(jù)中挑選出具有代表性或特殊性的測試數(shù)據(jù)來進(jìn)行測試。使用測試用例的優(yōu)勢如下:

(1)在開始實(shí)施測試之前設(shè)計好測試用例,可以避免盲目測試并提高測試效率;

(2)測試用例的使用令軟件測試的實(shí)施重點(diǎn)突出、目的明確;

(3)在軟件版本更新后只需修正少部分的測試用例便可展開測試工作,降低工作強(qiáng)度,縮短項目周期;

(4)功能模塊的通用化和復(fù)用化使軟件易于開發(fā),而測試用例的通用化和復(fù)用化則會使軟件測試易于開展,并隨著測試用例的不斷精化其效率也不斷攀升。

3.黑盒測試用例設(shè)計方法

包括等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅(qū)動法、正交試驗設(shè)計法、功能圖法等。這些方法比較實(shí)用,但采用哪種方法,在使用時要針對開發(fā)項目的特點(diǎn)對方法加以適當(dāng)?shù)倪x擇。

二、等價類劃分法

1.概述

(1)簡介

一種典型的黑盒測試方法,用該方法設(shè)計測試用例用這一方法設(shè)計測試用例完全不考慮程序的內(nèi)部結(jié)構(gòu),只需根據(jù)需求規(guī)格說明書。須仔細(xì)分析和推敲說明書的各項需求,特別是功能需求。把說明中對輸入的要求和輸出的要求區(qū)別開來并加以分解。由于窮舉測試工作量太大,需在大量的可能數(shù)據(jù)中選取其中的一部分作為測試用例。

(2)原理

等價類劃分法就是把程序的輸入域劃分成若干部分,然后從各部分中選取少數(shù)代表性數(shù)據(jù)作為測試用例。各類的代表性數(shù)據(jù)在測試中的作用等價于該類中的其他值,即如果某一類中的一個例子發(fā)現(xiàn)了錯誤,該等價類中的其他例子也能發(fā)現(xiàn)同樣的錯誤;反之同理。使用該方法設(shè)計測試用例,首先必須在分析需求規(guī)格說明的基礎(chǔ)上劃分等價類,列出等價類表。

2.劃分等價類和列出等價類表

(1)等價類

等價類指某個輸入域的子集合。在該子集合中,各輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的。并合理地假定:測試某等價類的代表值就等于對該類其他值的測試。故可以把全部輸入數(shù)據(jù)合理地劃分為若干等價類,在各等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可用少量代表性的測試數(shù)據(jù)取得較好的測試結(jié)果。

(2)等價類劃分的情況

有效等價類

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

無效等價類

與有效等價類的定義恰巧相反。

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

(3)確定等價類的原則

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

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

在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類;

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

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

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

(4)列出等價類表

在確立了等價類之后,建立等價類表,列出所有劃分出的等價類如表5-1所示。

表5-1 等價類表示例

3.確定測試用例

(1)確定測試用例的步驟

為每個等價類規(guī)定一個唯一的編號;

設(shè)計一個新的測試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價類。重復(fù)該步,最后使得所有有效等價類均被測試用例所覆蓋;

設(shè)計一個新的測試用例,使其只覆蓋一個無效等價類。重復(fù)該步使所有無效等價類均被覆蓋。

(2)示例說明

在尋找等價區(qū)間時,想辦法把軟件的相似輸入、輸出、操作分成組。這些組就是等價區(qū)間。具體例子如下:

在兩數(shù)相加的用例中,測試1+13和1+99999999似乎不同。程序?qū)?和最大數(shù)值相加的處理和對兩個小一些的數(shù)值相加的處理有所不同。后者必須處理溢出情況。因為軟件操作可能不同,所以這兩個用例屬于不同的等價區(qū)間。

a.如果具有編程經(jīng)驗,可能會想到更多可能導(dǎo)致軟件操作不同的“特殊”數(shù)值。復(fù)制的多種方法如圖5-1所示,它給出了選中編輯菜單后顯示復(fù)制和粘貼命令的計算器程序。各項功能(即復(fù)制和粘貼)有5種執(zhí)行方式。若復(fù)制,可以單擊復(fù)制菜單命令,鍵入C,按Ctrl+C或Ctrl+Shift+C組合鍵。任何一種輸入途徑都會把當(dāng)前數(shù)值復(fù)制到剪貼板中,執(zhí)行同樣的輸出操作,產(chǎn)生同樣的結(jié)果。

圖5-1 復(fù)制的多種方法

b.如果要測試復(fù)制命令,可以把5種輸入途徑劃分減為3個,單擊菜單命令,鍵入C和按Ctrl+C組合鍵。無論以何種方式激活復(fù)制功能都工作正常,甚至可以縮減為1個區(qū)間。

已知標(biāo)準(zhǔn)的另存為對話框,如圖5-2所示。

圖5-2 存盤對話框

根據(jù)下面給出的規(guī)格說明,利用等價類劃分的方法,給出足夠的測試用例?!耙粋€程序讀入3個整數(shù),把3個數(shù)值看作一個三角形的3條邊的長度值。該程序要打印出信息,說明這個三角形是不等邊的、等腰的、還是等邊的”??稍O(shè)三角形的3條邊分別為A,B,C。如果能構(gòu)成三角形的3條邊,必須滿足:A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B。

如果等腰,還要判斷A=B,或B=C,或A=C。

如果等邊,則需判斷是否A=B,且B=C,且A=C。

a.列出等價類表,如表5-2所示。

表5-2 等價類表

b.設(shè)計測試用例:輸入順序是【A,B,C】,如表5-3所示。

表5-3 測試用例

注意:Windows文件名可以包含除了“、”“/”“:”“·”“?”“<>”和“\”之外的任意字符。文件名長度是1~255個字符。如果為文件名創(chuàng)建測試用例,等價區(qū)間有合法字符、非法字符、合法長度的名稱、過長名稱和過短名稱。

(3)注意事項

等價分配的目標(biāo)是把可能的測試用例組合縮減到仍然足以滿足軟件測試需求為止。故選擇了不完全測試,就要冒一定的風(fēng)險,所以必須仔細(xì)選擇分類。

科學(xué)有時也是一門藝術(shù)。測試同一個復(fù)雜程序的兩個軟件測試員,可能會制定出兩組不同的等價區(qū)間。只要審查等價區(qū)間的人都認(rèn)為它們足以覆蓋測試對象就可以了。

三、邊界值分析法

從長期的測試工作經(jīng)驗得知,大量的錯誤發(fā)生在輸入或輸出范圍的邊界上,而不在輸入范圍的內(nèi)部。因此針對各種邊界情況設(shè)計測試用例,可以查出更多錯誤。

1.邊界條件

邊界條件是特殊情況,程序在處理大量中間數(shù)值時都對,但可能在邊界處出現(xiàn)錯誤。下面的一段源代碼說明了在一個極簡單的程序中如何產(chǎn)生邊界條件問題。

該段代碼的意圖是創(chuàng)建包含10個元素的數(shù)組,并為數(shù)組中的每一元素賦初值-1。該程序建立了包含10個整數(shù)的數(shù)組data和一個計數(shù)值i。For循環(huán)是從1~10,數(shù)組中從第1個元素到第10個元素被賦予數(shù)值-1。在大多數(shù)開發(fā)語言腳本中,應(yīng)當(dāng)以聲明的范圍定義數(shù)組,在本例中定義語句是dim data(10) as integer,第一個創(chuàng)建的元素是data(0),而不是data(1)。該程序?qū)嶋H上創(chuàng)建了一個從data(0)~data(10)共11個元素的數(shù)組。程序從1~10循環(huán)將數(shù)組元素的值初始化為-1,但是由于數(shù)組的第一個元素是data(0),故沒有被初始化。程序執(zhí)行完畢,數(shù)組值如下:

data(0)=0;data(6)=-1

data(1)=-1;data(7)=-1

data(2)=-1;data(8)=-1

data(3)=-1;data(9)=-1

data(4)=-1;data(10)=-1

data(5)=-1

注意:data(0)的值是0,不是-1。若后期用到數(shù)組的第1個元素data(0),不加注意以為其值為-1。在復(fù)雜的大型軟件中,若產(chǎn)生該類問題,可能導(dǎo)致極其嚴(yán)重的軟件缺陷。

2.次邊界條件

有些邊界在軟件內(nèi)部,用戶幾乎看不到,但軟件測試仍有必要檢查。這樣的邊界條件稱為次邊界條件或者內(nèi)部邊界條件。尋找這樣的邊界不要求軟件測試員具有程序員那樣閱讀源代碼的能力,但要求大體了解軟件的工作方式。舉例如下:

(1)2的乘方

計算機(jī)和軟件的計數(shù)基礎(chǔ)是二進(jìn)制數(shù),用位(bit)來表示0和1,一個字節(jié)(byte)由8位組成,一個字(word)由兩個字節(jié)組成等。常用的2的乘方單位及其范圍或值如表5-4所示。

表5-4 軟件中2的乘方

注意:

表5-4中所列的范圍和值是作為邊界條件的重要數(shù)據(jù)。除非軟件向用戶提出這些范圍,否則在需求文檔中不指明。其通常由軟件內(nèi)部使用,外部看不見,當(dāng)然,在產(chǎn)生軟件缺陷的情況下可能會看到。

建立等價區(qū)間時,要考慮是否需要包含2的乘方邊界條件。為覆蓋任何可能的2的乘方次邊界,還要包含臨近雙位邊界的14、15和16,以及臨近字節(jié)邊界的254、255和256。

(2)ASC II表

ASC II表是另一個常見的次邊界條件。部分ASC II值表的清單如表5-5所示。

表5-5 部分ASC II值表

注意:

表5-5不是結(jié)構(gòu)良好的連續(xù)表。0~9的后面ASC II值是48~57。斜杠字符(/)在數(shù)字0的前面,而冒號字符“:”在數(shù)字9的后面。大寫字母A~Z對應(yīng)65~90,小寫字母對應(yīng)97~122,這些情況都代表次邊界條件。

如果測試進(jìn)行文本輸入或文本轉(zhuǎn)換的軟件,在定義數(shù)據(jù)區(qū)間包含哪些值時,參考ASCII表是相當(dāng)明智的。

(3)其他一些邊界條件

另一種看起來很明顯的軟件缺陷來源于當(dāng)軟件要求輸入時,沒有輸入任何內(nèi)容,只按了Enter鍵,這種情況在產(chǎn)品說明書中常常被忽視,但是在實(shí)際使用中卻時有發(fā)生。如果沒有對空值進(jìn)行好的處理的話,將不知程序會引向何方。正確的軟件通常應(yīng)將輸入內(nèi)容默認(rèn)為合法邊界內(nèi)的最小值,或合法區(qū)間內(nèi)的某合理值,否則,返回錯誤提示信息。這些值通常在軟件中進(jìn)行了特殊處理,需要建立單獨(dú)的等價區(qū)間。

3.邊界值的選擇方法

(1)概述

邊界值分析是一種補(bǔ)充等價劃分的測試用例設(shè)計技術(shù),其不是選擇等價類的任意元素,而是選擇等價類邊界的測試用例。邊界值分析法不僅重視輸入條件邊界,而且也適用于輸出域測試用例。

(2)遵循原則

對邊界值設(shè)計測試用例,應(yīng)遵循以下原則:

如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到該范圍的邊界的值,以及剛剛超越該范圍邊界的值作為測試輸入數(shù)據(jù);

如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù)、最小個數(shù)、比最小個數(shù)少1、比最大個數(shù)多1的數(shù)作為測試數(shù)據(jù);

根據(jù)規(guī)格說明的各輸入條件,使用前面的原則

根據(jù)規(guī)格說明的各輸出條件,應(yīng)用前面的原則

如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個元素和最后一個元素作為測試用例;

如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇該內(nèi)部數(shù)據(jù)結(jié)構(gòu)邊界上的值作為測試用例;

分析規(guī)格說明,找出其他可能的邊界條件。

四、錯誤推測法

錯誤推測法是基于經(jīng)驗和直覺推測程序中所有可能存在的各種錯誤,有針對性地設(shè)計測試用例的方法。其基本思想是列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)它們選擇測試用例。

五、因果圖法

1.概述

因果圖法是從用自然語言書寫的程序規(guī)格說明的描述中找出因(輸入條件)和果(輸出或程序狀態(tài)的改變),通過因果圖轉(zhuǎn)換為判定表。在軟件工程中,有些程序的功能可以用判定表的形式來表示,并根據(jù)輸入條件的組合情況規(guī)定相應(yīng)的操作。故應(yīng)該為判定表中的每一列設(shè)計一個測試用例,以便保證測試程序在輸入條件的某種組合下,操作正確。

2.因果圖設(shè)計方法

(1)利用因果圖導(dǎo)出測試用例的步驟

分析程序規(guī)格說明的描述中的原因和結(jié)果

原因常是輸入條件或是輸入條件的等價類,而結(jié)果是輸出條件。

分析程序規(guī)格說明的描述中語義的內(nèi)容,并將其表示成連接各個原因與各個結(jié)果的“因果圖”

標(biāo)明約束條件

由于語法或環(huán)境的限制,有些原因和結(jié)果的組合情況不可能出現(xiàn)。為表明這些特定的情況,在因果圖上使用若干個標(biāo)準(zhǔn)的符號標(biāo)明約束條件。

把因果圖轉(zhuǎn)換成判定表

為判定表中每一列表示的情況設(shè)計測試用例

因果圖生成的測試用例(局部,組合關(guān)系下的)包括了所有輸入數(shù)據(jù)的取TRUE與取FALSE的情況,構(gòu)成的測試用例數(shù)目達(dá)到最少,且測試用例數(shù)目隨輸入數(shù)據(jù)數(shù)目的增加而增加。在較為復(fù)雜的問題中該方法常常十分有效,能有力地確定測試用例。若開發(fā)項目在設(shè)計階段就采用了判定表,就不必再畫因果圖,可以直接利用判定表設(shè)計測試用例。

(2)因果圖中的基本符號

通常在因果圖中,用Ci表示原因,Ei表示結(jié)果,其基本符號如圖5-3所示。各結(jié)點(diǎn)表示狀態(tài),可取“0”或“1”值?!?”表示某狀態(tài)不出現(xiàn),“1”表示某狀態(tài)出現(xiàn)。

圖5-3 因果圖的基本圖形符號

恒等:若原因出現(xiàn),則結(jié)果出現(xiàn);若原因不出現(xiàn),則結(jié)果也不出現(xiàn)。

非(~):若原因出現(xiàn),則結(jié)果不出現(xiàn);若原因不出現(xiàn),則結(jié)果出現(xiàn)。

或(∨):若幾個原因中有1個出現(xiàn),則結(jié)果出現(xiàn);若幾個原因都不出現(xiàn),則結(jié)果不出現(xiàn)。

與(∧):若幾個原因都出現(xiàn),結(jié)果才出現(xiàn)。若其中有1個原因不出現(xiàn),則結(jié)果不出現(xiàn)。

(3)因果圖中可附加的約束條件符號

為表示原因與原因之間、結(jié)果與結(jié)果之間可能存在的約束條件,在因果圖中可以附加一些表示約束條件的符號。從輸入(原因)考慮,有4種約束,例如:(a)、(b)、(c)、(d)。從輸出(結(jié)果)考慮,還有1種約束,例如:(e),如圖5-4所示。

圖5-4 因果圖的約束符號

E(互斥):表示a、b兩個原因不會同時成立,兩者最多有一個可能成立。

I(包含):表示a、b、c三個原因中至少有一個必須成立。

O(唯一):表示a和b當(dāng)中必須有一個,且僅有一個成立。

R(要求):表示當(dāng)a出現(xiàn)時,b必須也出現(xiàn)。a出現(xiàn)時不可能b不出現(xiàn)。

M(屏蔽):表示當(dāng)a是1時,b必須是0。而當(dāng)a為0時,b的值不定。

3.因果圖測試用例

有一處理單價為1元5角錢的盒裝飲料的自動售貨機(jī)軟件。若投入1元5角硬幣,按下“可樂”“雪碧”或“紅茶”按鈕,相應(yīng)的飲料就送出來。若投入的是兩元硬幣,在送出飲料的同時退還5角硬幣。分析該段說明,可列出原因和結(jié)果。

(1)原因

投入1元5角硬幣;

投入2元硬幣;

按“可樂”按鈕;

按“雪碧”按鈕;。

按“紅茶”按鈕。

(2)中間狀態(tài)

已投幣;

已按鈕。

(3)結(jié)果

退還5角硬幣;

送出“可樂”飲料;

送出“雪碧”飲料;

送出“紅茶”飲料。

根據(jù)原因和結(jié)果,可設(shè)計以下因果圖(如圖5-5所示。)

圖5-5 因果圖

轉(zhuǎn)換為測試用例,如表5-6所示,每一列可作為確定測試用例的依據(jù)。

表5-6

六、判定表驅(qū)動法

在程序設(shè)計發(fā)展初期,判定表已被用作編寫程序的輔助工具,它可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得較明確。

1.判定表組成

判定表通常由4個部分組成,如圖5-6所示。

圖5-6 判定表

(1)條件樁(condition stub)

列出問題的所有條件,列出條件的次序無關(guān)緊要。

(2)動作樁(action stub)

列出問題規(guī)定可能采取的操作。該操作排列順序沒有約束。

(3)條件項(condition entry)

列出針對其所列條件的取值,在所有可能情況下的真、假值。

(4)動作項(action entry)

列出在條件項的各種取值情況下應(yīng)該采取的動作。

(5)規(guī)則

任何一個條件組合的特定取值及其相應(yīng)要執(zhí)行的操作。在判定表中貫穿條件項和動作項的一列就是一條規(guī)則。顯然,判定表中列出多少組條件取值,就有多少條規(guī)則,條件項和動作項就有多少列。

2.判定表建立

(1)建立步驟

確定規(guī)則的個數(shù),假如有n個條件,每個條件有兩個取值(0,1),故有2n種規(guī)則;

列出所有的條件樁和動作樁;

填入條件項;

填入動作項和制定初始判定表;

簡化,合并相似規(guī)則或者相同動作。

(2)Beizer指出的適合使用判定表設(shè)計測試用例的條件

規(guī)格說明以判定表的形式給出,或很容易轉(zhuǎn)換成判定表;

條件的排列順序不影響執(zhí)行哪些操作;

規(guī)則的排列順序不影響執(zhí)行哪些操作;

當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗別的規(guī)則;

如果某一規(guī)則要執(zhí)行多個操作,這些操作的執(zhí)行順序無關(guān)緊要。

七、正交試驗法

1.正交試驗設(shè)計方法

(1)簡介

正交試驗法是使用已經(jīng)造好了的表格“——”正交表來安排試驗并進(jìn)行數(shù)據(jù)分析的一種方法。其簡單易行并且計算表格化,應(yīng)用性較好。

(2)舉例

例題

為提高某化工產(chǎn)品的轉(zhuǎn)化率,選擇了三個有關(guān)因素進(jìn)行條件試驗,反應(yīng)溫度(A),反應(yīng)時間(B),用堿量(C),并確定了各自試驗范圍如下:

a.A:80~90℃。

b.B:90~150分鐘。

c.C:5%~7%。

試驗?zāi)康?/p>

搞清楚因子A、B、C對轉(zhuǎn)化率有何種影響,分清主次要,從而確定最適生產(chǎn)條件,即溫度、時間及用堿量各為多少才能使轉(zhuǎn)化率最高。此處,對因子A、B和C,在試驗范圍內(nèi)都選了三個水平,如下所示:

a.A:A1=80℃,A2=85℃,A3=90℃。

b.B:B1=90分鐘,B2=120分鐘,B3=150分鐘。

c.C:C1=5%,C2=6%,C3=7%。

在正交試驗設(shè)計中,因子可以定量,也可以定性。而定量因子各水平間的距離可以相等,也可以不相等。

試驗方法

a.全面試驗法

第一,簡介

取三因子所有水平之間的組合,即A1B1C1,A1B1C2,……,A3B3C3,共有33=27次試驗。立方體的27個節(jié)點(diǎn)如表5-7所示。

圖5-7 全面試驗法取點(diǎn)

第二,特點(diǎn)

全面試驗對各因子與指標(biāo)間的關(guān)系剖析得比較清楚。但試驗次數(shù)太多。特別是當(dāng)因子數(shù)目多,每個因子的水平數(shù)目也很多時,試驗量非常大。如選6個因子,每個因子取5個水平時,如欲做全面試驗,則需56=15625次試驗,實(shí)際上不可能實(shí)現(xiàn)。如果應(yīng)用將要介紹的正交試驗法,只做25次試驗就行了。而且在某種意義上講,這25次試驗代表了15625次試驗。

b.簡單對比法

第一,簡介

簡單對比法即變化一個因素而固定其他因素,如首先固定B、C于B1、C1,使A變化:

如得出結(jié)果A3最好,則固定A于A3,C還是C1,使B變化:

得出結(jié)果以B2為最好,則固定B于B2,A于A3,使C變化:

試驗結(jié)果以C2為最好。則認(rèn)為最好的工藝條件是A3B2C2

第二,特點(diǎn)

最大優(yōu)點(diǎn)就是試驗次數(shù)少,通常有一定效果,但缺點(diǎn)很多。首先該方法的選點(diǎn)代表性很差,如按上述方法進(jìn)行試驗,試驗點(diǎn)完全分布在一個角上,而在一個很大的范圍內(nèi)沒有選點(diǎn),因此這種試驗方法不全面。其次,用該方法比較條件好壞時,是把單個的試驗數(shù)據(jù)拿來,進(jìn)行數(shù)值上的簡單比較,而試驗數(shù)據(jù)中必然包含著誤差成分,所以單個數(shù)據(jù)的簡單比較不能剔除誤差,必然造成結(jié)論的不穩(wěn)定。

注意:考慮兼顧這兩種試驗方法的優(yōu)點(diǎn),從全面試驗的點(diǎn)中選擇具有典型性、代表性的點(diǎn),使試驗點(diǎn)在試驗范圍內(nèi)分布得很均勻,能反映全面情況。如上例,對應(yīng)于A、B、C各有3個平面,共9個平面,9個平面上的試驗點(diǎn)都應(yīng)當(dāng)一樣多,即對各因子的各水平都要同等看待。如圖5-8所示,試驗點(diǎn)用0表示。可知,在9個平面中每個平面上都恰好有3個點(diǎn),而每個平面的每行每列都有1個點(diǎn),而且只有1個點(diǎn),總共9個點(diǎn)。這樣的試驗方案,試驗點(diǎn)的分布很均勻,試驗次數(shù)也不多。

圖5-8 正交試驗設(shè)計圖例

正交試驗設(shè)計法

a.簡介

用正交表來安排試驗及分析試驗結(jié)果的方法,按照正交表來安排試驗,能使試驗點(diǎn)分布很均勻和減少試驗次數(shù),且計算分析簡單,能夠清晰地闡明試驗條件與指標(biāo)之間的關(guān)系。正交表具有兩條性質(zhì):每列中各數(shù)字出現(xiàn)的次數(shù)一樣多;任何兩列所構(gòu)成的各有序數(shù)對出現(xiàn)的次數(shù)都一樣多。

b.L符號各數(shù)字的意義

一般用L代表正交表,常用的有L8(27)、L9(34)、L16(45)、L8(4×24)等。此符號各數(shù)字的意義如下:

第一,L8(27

7為此表列的數(shù)目(最多可安排的因子數(shù));2為因子的水平數(shù);8為此表行的數(shù)目(試驗次數(shù))。

第二,L18(2×37

有7列是3水平的,有1列是2水平的,L18(2×37)的數(shù)字表明,用其來安排試驗,做18個試驗最多可以考察1個2水平因子和7個3水平因子。在行數(shù)為mn型的正交表中(m,n是正整數(shù)),試驗次數(shù)(行數(shù))=∑(每列水平數(shù)-1)+1,利用上述關(guān)系式可以從所要考察的因子水平數(shù)來決定最低的試驗次數(shù),進(jìn)而選擇合適的正交表。

比如要考察5個3水平因子及一個2水平因子,則起碼的試驗次數(shù)為5×(3-1)+1×(2-1)+1=12(次),即在行數(shù)不小于12,既有2水平列又有3水平列的正交表中選擇,L18(2×37)適合。

第三,在L9(34)中(如表5-7所示)

各列中的1、2、3都各自出現(xiàn)3次;任何兩列,例如第3、4列,所構(gòu)成的有序數(shù)對從上向下共有9種,既沒有重復(fù)也沒有遺漏。其他任何兩列所構(gòu)成的有序數(shù)對也是這9種各出現(xiàn)一次。這反映了試驗點(diǎn)分布的均勻性。

表5-7 L9(34)正交表

c.試驗方案的設(shè)計

安排試驗時,只須把所考察的每個因子任意地對應(yīng)于正交表的一列(一個因子對應(yīng)一列,不能讓兩個因子對應(yīng)同一列),然后把每列的數(shù)字“翻譯”成所對應(yīng)因子的水平。故每行的各水平組合就構(gòu)成了試驗條件(不考慮沒安排因子的列)。

對于上例,因子A、B、C均為水平的,試驗次數(shù)要不少于3×(3-1)+1=7(次),可考慮選用L9(34)。因子A、B、C可任意地對應(yīng)于L9(34)的某三列,例如A、B、C分別放在1、2、3列,然后試驗按行進(jìn)行,順序不限,每一行中各因素的水平組合就是每一次的試驗條件,從上到下就是這個正交試驗的方案,如表5-8所示。該試驗方案的幾何解釋正好是正交試驗設(shè)計圖例。

表5-8 試驗方案

3個3水平的因子,做全面試驗需要33=27次試驗,現(xiàn)用L9(34)來設(shè)計試驗方案,只要做9次,工作量減少了2/3,而在一定意義上代表了27次試驗。

2.正交試驗測試用例設(shè)計步驟

(1)提取功能說明,構(gòu)造因子—狀態(tài)表

把影響實(shí)驗指標(biāo)的條件稱為因子,而影響實(shí)驗因子的條件稱為因子的狀態(tài)。確定因子與狀態(tài)是設(shè)計測試用例的關(guān)鍵。

利用正交試驗設(shè)計方法設(shè)計測試用例,首先要根據(jù)被測試軟件的規(guī)格說明書找出影響其功能實(shí)現(xiàn)的操作對象和外部因素,把其當(dāng)作因子,而把各個因子的取值當(dāng)做狀態(tài)。應(yīng)盡可能全面地、正確地確定取值,以確保測試用例的設(shè)計做到完整與有效。

(2)加權(quán)篩選,生成因素分析表

對因子與狀態(tài)的選擇可按其重要程度分別加權(quán)??筛鶕?jù)各個因子及狀態(tài)作用的大小、出現(xiàn)頻率的大小以及測試的需要,確定權(quán)值的大小。

(3)利用正交表構(gòu)造測試數(shù)據(jù)集,正交表的推導(dǎo)依據(jù)Galois理論

與使用等價類劃分、邊界值分析、因果圖等方法相比,利用正交試驗設(shè)計方法設(shè)計測試用例優(yōu)點(diǎn)如下:

節(jié)省測試的工作工時;

可控制生成的測試用例的數(shù)量;

測試用例具有一定的覆蓋率。

可以采用正交試驗法設(shè)計出最少的測試組合,達(dá)到有效的測試目的。

八、功能圖法

1.功能圖設(shè)計方法

(1)簡介

功能圖方法是用功能圖形象地表示程序的功能說明,并機(jī)械地生成功能圖的測試用例。功能圖方法實(shí)際上是一種黑盒、白盒混合用例設(shè)計方法。

(2)功能圖模型的構(gòu)成

狀態(tài)遷移圖

狀態(tài)遷移圖用于表示輸入數(shù)據(jù)序列以及相應(yīng)的輸出數(shù)據(jù)。在狀態(tài)遷移圖中,由輸入數(shù)據(jù)和當(dāng)前狀態(tài)決定輸出數(shù)據(jù)和后續(xù)狀態(tài)。

邏輯功能模型

邏輯功能模型用于表示在狀態(tài)中輸入條件和輸出條件之間的對應(yīng)關(guān)系。只適合于描述靜態(tài)說明,輸出數(shù)據(jù)僅由輸入數(shù)據(jù)決定。測試用例則是由測試中經(jīng)過的一系列狀態(tài)和在每個狀態(tài)中必須依靠輸入/輸出數(shù)據(jù)滿足的一對條件組成。

(3)特點(diǎn)

功能圖方法中要用到邏輯覆蓋和路徑測試的概念和方法,屬于白盒測試方法中的內(nèi)容。邏輯覆蓋是以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測試用例設(shè)計方法,該方法要求測試人員對程序的邏輯結(jié)構(gòu)清楚地了解。由于覆蓋測試的目標(biāo)不同,邏輯覆蓋可分為:語句覆蓋、判定覆蓋、判定一個條件覆蓋,條件組合覆蓋及路徑覆蓋。以下指的邏輯覆蓋和路徑是功能或系統(tǒng)水平上的,以區(qū)別于白盒測試中程序內(nèi)部,如圖5-9及表5-9所示。

圖5-9 功能圖

表5-9 判定表

2.功能圖法生成測試用例

功能圖由狀態(tài)遷移圖和布爾函數(shù)組成。狀態(tài)遷移圖用狀態(tài)和遷移來描述一個狀態(tài),指出數(shù)據(jù)輸入的位置(或時間),而遷移則指明狀態(tài)的改變,同時要依靠判定表和因果圖表示的邏輯功能。

(1)測試用例生成方法

從功能圖生成測試用例,得到的測試用例數(shù)可接受。問題的關(guān)鍵是如何從狀態(tài)遷移圖中選取測試用例。若用節(jié)點(diǎn)代替狀態(tài),用弧線代替遷移,狀態(tài)遷移圖就可轉(zhuǎn)化成一個程序的控制流程圖形式。問題就轉(zhuǎn)化為程序的路徑測試問題(白盒測試范疇概念)。

(2)測試用例生成規(guī)則

為了把狀態(tài)遷移(測試路徑)的測試用例與邏輯模型的測試用例組合起來,從功能圖生成實(shí)用的測試用例,須定義下面的規(guī)則。一個結(jié)構(gòu)化的狀態(tài)遷移中,定義3種形式的循環(huán):順序、選擇和重復(fù)。但分辨一個狀態(tài)遷移中的所有循環(huán)是有困難的。

(3)從功能圖生成測試用例的過程

生成局部測試用例:在各狀態(tài)中,從因果圖生成局部測試用例,局部測試庫由原因值(輸入數(shù)據(jù))組合與對應(yīng)的結(jié)果值(輸出數(shù)據(jù)或狀態(tài))構(gòu)成。

測試路徑生成:利用上面的規(guī)則生成從初始狀態(tài)到最后狀態(tài)的測試路徑。

測試用例合成:合成測試路徑與功能圖中各狀態(tài)的局部測試用例。結(jié)果是初始狀態(tài)到最后狀態(tài)的一個狀態(tài)序列,以及各狀態(tài)中輸入數(shù)據(jù)與對應(yīng)輸出數(shù)據(jù)的組合。

測試用例的合成算法:采用條件構(gòu)造樹。

九、場景法

1.基本流和備選流

如圖5-10所示,圖中經(jīng)過用例的每條路徑都用基本流和備選流來表示,直黑線表示基本流,是經(jīng)過用例的最簡單的路徑。備選流用不同的彩色表示,一個備選流可能從基本流開始,在某個特定條件下執(zhí)行,然后重新加入基本流中(如備選流1和3);也可能起源于另一個備選流(如備選流2),或者終止用例而不再重新加入到某個流(如備選流2和4)。

圖5-10 基本流和各選流

按照如圖5-10中所示的每個經(jīng)過用例的路徑,可以確定以下用例場景:

(1)場景1:基本流。

(2)場景2:基本流、備選流1。

(3)場景3:基本流、備選流1、備選流2。

(4)場景4:基本流、備選流3。

(5)場景5:基本流、備選流3、備選流1。

(6)場景6:基本流、備選流3、備選流1、備選流2。

(7)場景7:基本流、備選流4。

(8)場景8:基本流、備選流3、備選流4。

注意:為方便起見,場景5、6和8只考慮了備選流3循環(huán)執(zhí)行一次的情況。

2.ATM例子

(1)例子描述

ATM例子的流程示意圖如圖5-11所示。

圖5-11 ATM流程示意圖

如表5-10所示,表中包含了圖5-11中所示提款用例的基本流和某些備用流。

表5-10 用例流

續(xù)表

(2)場景設(shè)計

生成的場景如表5-11所示。

表5-11 場景設(shè)計

(3)用例設(shè)計

對于以上7個場景中的各場景都需要確定測試用例,一般采用矩陣或決策表來確定和管理測試用例。一種通用格式如表5-12所示,其中行代表各個測試用例,列代表測試用例的信息。首先確定執(zhí)行用例場景所需的數(shù)據(jù)元素,然后構(gòu)建矩陣,最后要確定包含執(zhí)行場景所需的適當(dāng)條件的測試用例。以下的矩陣中,V表示這個條件必須是有效的才可執(zhí)行基本流,I表示這種條件下將激活所需備選流,n/a表示該條件不適用于測試用例。

表5-12 測試用例表

以上的矩陣中,注意如下:

六個測試用例執(zhí)行了四個場景。對于基本流,上述測試用例CW1被稱為正面測試用例。一直沿著用例的基本流路徑執(zhí)行,未發(fā)生任何偏差?;玖鞯娜鏈y試必須包括負(fù)面測試用例,以確保只有在符合條件的情況下才執(zhí)行基本流。對于基本流,負(fù)面測試用例由CW2~CW6表示。CW2~CW6相對于備選流2~4而言是正面測試用例。而且對于這些備選流中的每個而言,至少存在一個負(fù)面測試用例,就是CW1-基本流。

各場景只有一個正面測試用例和負(fù)面測試用例是不充分的,場景4正是這樣的一個示例。要全面地測試場景4-PIN有誤,至少需要三個正面測試用例,以激活場景4:

a.輸入了錯誤的PIN,但仍存在輸入機(jī)會,此備選流重新加入基本流中的步驟3-輸入PIN。

b.輸入了錯誤的PIN,而且不再有輸入機(jī)會,則此備選流將保留銀行卡并終止用例。

c.最后一次輸入時輸入了“正確”的PIN。備選流在步驟5-輸入金額處重新加入基本流。

上面矩陣中,無需為條件輸入任何實(shí)際的值。以該方式創(chuàng)建測試用例矩陣的優(yōu)點(diǎn)在于容易看到測試的是何種條件。由于只需要查看V和I,該方式還易于判斷是否已經(jīng)確定了充足的測試用例。從表5-12中可發(fā)現(xiàn)存在幾個無效的條件I,這表明測試用例還不完全,如場景6-不存在的賬戶/賬戶類型有誤和場景7-賬戶余額不足就缺少測試用例。

(4)數(shù)據(jù)設(shè)計

一旦確定了所有的測試用例,則應(yīng)對這些用例進(jìn)行復(fù)審和驗證以確保其準(zhǔn)確且適度,并取消多余或等效的測試用例。測試數(shù)據(jù)表如表5-13所示。

表5-13 測試數(shù)據(jù)表

測試用例一經(jīng)認(rèn)可,就可以確定實(shí)際數(shù)據(jù)值(在測試用例實(shí)施矩陣中)并且設(shè)定測試數(shù)據(jù)。以上測試用例只是在本次迭代中需要用來驗證提款用例的一部分測試用例。

需要其他測試用例的內(nèi)容

a.場景6——賬戶不存在/賬戶類型有誤:未找到賬戶或賬戶不可用。

b.場景6——賬戶不存在/賬戶類型有誤:禁止從該賬戶中提款。

c.場景7——賬戶余額不足:請求的金額超出賬面金額。

用到測試用例的情況

在將來的迭代中,當(dāng)實(shí)施其他事件流時,在下列情況下將需要測試用例:

a.無效卡(所持卡為掛失卡、被盜卡、非承兌銀行發(fā)卡、磁條損壞等);

b.無法讀卡(讀卡機(jī)堵塞、脫機(jī)或出現(xiàn)故障);

c.賬戶已消戶、凍結(jié)或由于其他方面原因而無法使用;

d.ATM內(nèi)的現(xiàn)金不足或不能提供所請求的金額(與CW3不同,在CW3中只是一種幣值不足,而不是所有幣值都不足);

e.無法聯(lián)系銀行系統(tǒng)以獲得認(rèn)可;

f.銀行網(wǎng)絡(luò)離線或交易過程中斷電。

結(jié)論:所有從事軟件測試和即將從事軟件測試的人大都是從黑盒測試做起的,各類型的軟件、各測試用例設(shè)計的方法都有各自的特點(diǎn),針對不同軟件如何利用這些黑盒方法非常重要,能極大地提高測試效率和測試覆蓋度,認(rèn)真掌握這些方法的原理,有效提高測試水平,積累更多的測試經(jīng)驗。

十、測試方法選擇的綜合策略

(1)首先進(jìn)行等價類劃分,包括輸入條件和輸出條件的等價劃分,將無限測試變成有限測試,此為減少工作量和提高測試效率最有效的方法;

(2)在任何情況下都必須使用邊界值分析方法。經(jīng)驗表明,用該方法設(shè)計出的測試用例發(fā)現(xiàn)程序錯誤的能力最強(qiáng);

(3)可以用錯誤推測法追加一些測試用例,這需要依靠測試工程師的智慧和經(jīng)驗;

(4)對照程序邏輯,檢查已設(shè)計出的測試用例的邏輯覆蓋程度。若沒有達(dá)到要求的覆蓋標(biāo)準(zhǔn),應(yīng)當(dāng)再補(bǔ)充足夠的測試用例;

(5)如果程序的功能說明中含有輸入條件的組合情況,則一開始就可選用因果圖法和判定表驅(qū)動法;

(6)對于參數(shù)配置類的軟件,要用正交試驗法選擇較少的組合方式達(dá)到最佳效果;

(7)功能圖法是很好的測試用例設(shè)計方法,可以通過不同時期條件的有效性設(shè)計不同的測試數(shù)據(jù);

(8)對于業(yè)務(wù)流清晰的系統(tǒng),可以利用場景法貫穿整個測試案例過程,在案例中綜合使用各種測試方法。

5.2 測試用例的編寫

一、測試用例計劃的重要性

仔細(xì)計劃測試用例,是達(dá)成測試目標(biāo)的必由之路,這樣做的重要性體現(xiàn)如下:

(1)在小型軟件項目上,可能有數(shù)千個測試用例。建立用例可能需要測試員經(jīng)過一段時間時間。正確的計劃會組織好用例,以便全體測試員和其他項目小組成員有效地審查和使用。

(2)在項目期間有必要多次執(zhí)行同樣的測試,以尋找新的軟件缺陷,保證老的軟件缺陷得以修復(fù)。若沒有正確計劃,不可能知道需要執(zhí)行哪個測試用例,原有的測試是否得到重復(fù)。

(3)有時需要回答整個項目期間的重要問題。若沒有測試用例計劃,就不能回答。

(4)在少數(shù)高風(fēng)險行業(yè)中,軟件測試小組必須明確執(zhí)行計劃執(zhí)行的測試。發(fā)布忽略某些測試用例的軟件是危險的。正確的測試用例計劃和跟蹤提供了一種證實(shí)測試的手段。

二、測試設(shè)計說明

為更好地進(jìn)行測試,需要為單個軟件特性定義具體的測試方法,即測試設(shè)計說明。測試設(shè)計說明的目的是組織和描述針對具體特性需要進(jìn)行的測試,其并不給出具體的測試用例或者執(zhí)行測試的步驟。以下內(nèi)容來自于ANSI/IEEE829標(biāo)準(zhǔn),應(yīng)作為測試設(shè)計說明的部分內(nèi)容:

1.標(biāo)識符

用于引用和定位測試設(shè)計說明的唯一標(biāo)識符。該說明還應(yīng)該引用整個測試計劃和包含任何其他計劃或者說明的引用。

2.要測試的特性

對測試設(shè)計說明所包含的軟件特性的描述。該部分還將明確指出要間接測試的特性,通常作為主特性的輔助特性。

3.方法

描述測試的通用方法。如果方法在測試計劃中列出,應(yīng)該在此詳細(xì)描述要使用的技術(shù),并給出如何驗證測試結(jié)果的方法。用文件比較工具比較輸出的文件和源文件,若相同,則認(rèn)為通過;若不同,則認(rèn)為失敗。

4.測試用例信息

用于描述所引用的測試用例的相關(guān)信息。應(yīng)該列出所選的等價區(qū)間,給出測試用例的引用信息以及用于執(zhí)行測試用例的測試程序說明。

5.通過/失敗規(guī)則

描述用何種規(guī)則來判定某項特性的測試結(jié)果是通過還是失敗的。該描述有可能非常簡單和明確。也可能不是非常明確。

三、測試用例說明

1.簡介

ANSI/IEEE829標(biāo)準(zhǔn)稱測試用例說明為編寫用于輸入輸出的實(shí)際數(shù)值和預(yù)期結(jié)果,還明確指出,使用具體測試用例產(chǎn)生的測試程序的限制。測試用例的編寫如表5-14所示。

表5-14 測試用例

2.ANSI/IEEE 829標(biāo)準(zhǔn)列出的應(yīng)包含的重要信息

一個測試用例說明可以由多個測試用例說明來引用,也可引用多個測試程序。ANSI/IEEE 829標(biāo)準(zhǔn)還列出了一些應(yīng)該包含在內(nèi)的重要信息,如下:

(1)標(biāo)識符

由測試設(shè)計過程說明和測試程序說明引用的唯一標(biāo)識符。

(2)測試項

描述被測試的詳細(xì)特性、代碼模塊等,比測試設(shè)計說明中所列的特性更加具體。如果測試設(shè)計說明提到“計算器程序的加法功能”,則測試用例說明就會相應(yīng)地提到“加法運(yùn)算的上限溢出處理”。還要指出引用的產(chǎn)品說明書或者測試用例所依據(jù)的其他設(shè)計文檔。

(3)輸入說明

該說明列舉執(zhí)行測試用例的所有輸入內(nèi)容或者條件。如果測試計算器程序,輸入說明可能簡單到“1+1”。如果測試蜂窩電話交換軟件,輸入說明可能是成百上千種輸入條件。如果測試基于文件的產(chǎn)品,輸入說明可能是文件名和內(nèi)容的描述。

(4)輸出說明

描述進(jìn)行測試用例預(yù)期的結(jié)果。

(5)環(huán)境要求

環(huán)境要求是指執(zhí)行測試用例必要的硬件、軟件、測試工具、人員等。

(6)特殊要求

描述執(zhí)行測試必須的特殊要求。測試寫字板程序也許不需要任何特殊條件,但是測試一些特殊的軟件(如核電站軟件)就有特殊要求。

(7)用例之間的依賴性

若一個測試用例依賴于其他用例,或者受其他用例的影響,應(yīng)在此注明。

若按照此處推薦的文檔格式,對于每個測試用例至少都要寫上一頁的描述文字,數(shù)干個測試用例可能要形成幾千頁文檔。所以常把ANSI/IEEE 829標(biāo)準(zhǔn)當(dāng)作規(guī)范而不是標(biāo)準(zhǔn)使用。

3.舉例

采用簡便方法并不是說放棄或者忽視重要的信息,而是意在找出一個更有效的方法對這些信息進(jìn)行精簡。一個打印機(jī)兼容性簡單列表的例子如表5-15所示。

表5-15 打印機(jī)兼容性簡單列表

表中的每一行是一個測試用例,有自己的標(biāo)識符。伴隨測試用例的所有其他信息,例如測試項、輸入說明、輸出說明、環(huán)境要求、特殊要求和依賴性等對所有這些用例都必須有,可以一并編寫,附加到表格中。審查測試用例的人可以快速看完測試用例信息,然后審查表格,檢查其范圍。表述測試用例的其他選擇有大綱、狀態(tài)表或數(shù)據(jù)流程圖等方式。

四、測試程序說明

ANSI/IEEE829標(biāo)準(zhǔn)把測試程序定義為“明確指出為實(shí)現(xiàn)相關(guān)測試設(shè)計而執(zhí)行具體測試用例和操作軟件系統(tǒng)的全部步驟”。測試程序又稱“測試腳本說明”,詳細(xì)定義了執(zhí)行測試用例的每一步操作。需要定義的內(nèi)容如下:

1.標(biāo)識符

用來把測試程序與相關(guān)測試用例和測試設(shè)計相聯(lián)系的唯一標(biāo)識。

2.目的

本程序描述的目的以及將要執(zhí)行的測試用例的引用信息。

3.特殊要求

執(zhí)行測試所需的其他程序、特殊測試技術(shù)或者特殊設(shè)備。

4.程序步驟

執(zhí)行測試用例的詳細(xì)描述。包含以下內(nèi)容:

(1)日志:指出用何種方法記錄測試結(jié)果和現(xiàn)象;

(2)設(shè)置:說明如何準(zhǔn)備測試;

(3)啟動:說明啟動測試的步驟;

(4)程序:描述運(yùn)行測試的步驟;

(5)衡量標(biāo)準(zhǔn):描述如何判斷結(jié)果;

(6)關(guān)閉:描述因意外原因而推遲測試的步驟;

(7)終止:描述正常停止測試的步驟;

(8)重置:說明如何把環(huán)境恢復(fù)到測試前的狀態(tài);

(9)偶然事件:說明如何處理計劃之外的情況。

使用詳細(xì)的程序說明,把要測試什么、如何測試等問題都表述得一目了然。如圖5-12所示是“Windows計算器”的測試程序說明的例子片斷。

圖5-12 測試程序說明片斷

五、測試用例細(xì)節(jié)探討

1.概述

測試用例計劃包括四個目標(biāo),組織性、重復(fù)性、跟蹤和測試證實(shí)。開發(fā)測試用例的軟件測試工程師要力爭實(shí)現(xiàn)這些目標(biāo),但是其實(shí)現(xiàn)程度取決于行業(yè)、公司、項目和測試組的具體情況,通常不太可能按照最細(xì)致的程度去編寫測試用例。

2.特點(diǎn)

(1)設(shè)計的測試用例計劃要力求達(dá)到最佳的詳細(xì)程度。

(2)無比詳細(xì)的測試用例說明減少了測試的隨意性,使測試可以很好地重復(fù),使得無經(jīng)驗的測試人員按照測試用例說明也能執(zhí)行測試。但編寫如此細(xì)致的測試用例說明要花費(fèi)相當(dāng)多的時間和精力,且由于細(xì)節(jié)繁多,會阻滯測試工作,造成測試執(zhí)行時間變長。

(3)開始編寫測試用例時,最好是采用當(dāng)前項目的標(biāo)準(zhǔn),同時需要根據(jù)ANSI/IEEE 829標(biāo)準(zhǔn)定義的格式,看什么符合項目要求,并做適當(dāng)調(diào)整。

(4)不同的測試工程師設(shè)計的測試用例會有所不同。通常有經(jīng)驗的測試工程師設(shè)計出來的測試用例,在深度及廣度上會比經(jīng)驗少的測試工程師的完整,這就是測試經(jīng)驗值。

推薦閱讀
  1. 全國職稱計算機(jī)考試標(biāo)準(zhǔn)教材與專用題庫:Word 2003中文字處理
  2. 全國職稱計算機(jī)考試標(biāo)準(zhǔn)教材與專用題庫:Excel 2007中文電子表格
  3. 2020年3月全國計算機(jī)等級考試《四級軟件工程》【教材精講+真題解析】講義與視頻課程【26小時高清視頻】
  4. 全國計算機(jī)等級考試歷年真題與機(jī)考題庫:二級MS Office高級應(yīng)用
  5. 大學(xué)計算機(jī)應(yīng)用基礎(chǔ)教程實(shí)驗指導(dǎo)
  6. 數(shù)據(jù)結(jié)構(gòu)搶分攻略:真題分類分級詳解(第2版)
  7. 全國會計從業(yè)資格考試應(yīng)試指南·真題·預(yù)測三合一:財經(jīng)法規(guī)與會計職業(yè)道德
  8. 軟件設(shè)計師考前突破:考點(diǎn)精講、真題精解、難點(diǎn)精練
  9. PMP項目管理認(rèn)證學(xué)習(xí)指南(第4版)
  10. 信息系統(tǒng)項目管理師歷年真題解析(第4版)
  11. 2020年3月全國計算機(jī)等級考試《三級嵌入式系統(tǒng)開發(fā)技術(shù)》專用教材【考綱分析+考點(diǎn)精講+真題演練】
  12. 2020年3月全國計算機(jī)等級考試《三級網(wǎng)絡(luò)技術(shù)》復(fù)習(xí)全書【核心講義+歷年真題詳解】
  13. 操作系統(tǒng)搶分攻略:真題分類分級詳解
  14. 全國職稱計算機(jī)考試講義·真題·預(yù)測三合一:Excel 2003中文電子表格
  15. 全國計算機(jī)等級考試全真模擬考場:二級Visual FoxPro
主站蜘蛛池模板: 湄潭县| 营口市| 东安县| 开平市| 孟津县| 卫辉市| 安陆市| 开远市| 棋牌| 木里| 夏河县| 东丰县| 宣城市| 马鞍山市| 辽阳市| 临江市| 石家庄市| 昌邑市| 长沙市| 建瓯市| 荥经县| 马龙县| 江北区| 钦州市| 肥城市| 莱阳市| 龙岩市| 宁强县| 远安县| 普陀区| 甘孜| 林甸县| 定结县| 昌乐县| 陇川县| 尚志市| 吴川市| 安西县| 旌德县| 兴山县| 西华县|