軟件測試技術(shù)第三章測試設(shè)計(jì)和開發(fā)_第1頁
軟件測試技術(shù)第三章測試設(shè)計(jì)和開發(fā)_第2頁
軟件測試技術(shù)第三章測試設(shè)計(jì)和開發(fā)_第3頁
軟件測試技術(shù)第三章測試設(shè)計(jì)和開發(fā)_第4頁
軟件測試技術(shù)第三章測試設(shè)計(jì)和開發(fā)_第5頁
已閱讀5頁,還剩123頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第3測試設(shè)計(jì)和開發(fā)

2012-6-211

上第二章主要內(nèi)容

■42.1測試計(jì)劃要點(diǎn)和制訂過程

]42.2測試軟件需求

[-.2.3測試策略

I.2.4測試環(huán)境

B>2,5測試管理

I42.6測試計(jì)劃編寫

2012-6-21第2頁

2.1測試計(jì)劃要點(diǎn)和制訂過程

計(jì)

編寫和審核測試

2012-6-21第3頁

第三章測試設(shè)計(jì)和開發(fā)

?3.1測試設(shè)計(jì)流程

?3.2總體設(shè)計(jì)

?3.3開發(fā)測試用例

?3.4評(píng)審測試用例

2012-6-21第4頁

3.1測試設(shè)計(jì)流程

Ij

?測試設(shè)計(jì)活動(dòng)的輸入是測試計(jì)劃,測試計(jì)劃應(yīng)該說明修用

到的方法和測試工作的范圍。

?測試設(shè)計(jì)活動(dòng)的輸出是修在系統(tǒng)測試和確認(rèn)測試中使用的

評(píng)審過的測試用例集合。

總體陽I

?開發(fā)測試用例

I^評(píng)審測試用例

2012-6-21第5頁

』3.2總體設(shè)計(jì)

?定義設(shè)計(jì)目標(biāo)

①清楚地說明每項(xiàng)測試的目標(biāo)

②使每項(xiàng)測試的目的單一,可以對(duì)應(yīng)到規(guī)格說明書中

的一項(xiàng)需求

③只說明測試將完成什么工作,而不是說明如何完成

?定義輸入說明

?定義測試環(huán)境和配置

?編寫測試設(shè)計(jì)文擋

012-6-21第6頁

3.3開發(fā)測試用例

由3?3.1了角牟測試用例

?什么是測試用例?

測試用例是為特定目標(biāo)開發(fā)的測試輸入、執(zhí)行條

件和預(yù)期結(jié)果的集合。

?什么是好的測試用例?

①好的測試用例必須清晰地定義一個(gè)或多個(gè)期望的結(jié)

果和測試通過和失敗標(biāo)準(zhǔn)。

②好的測試用例應(yīng)該容易發(fā)現(xiàn)軟件錯(cuò)誤、且有可重復(fù)

性、沒有冗余。

2012-6-21第7頁

3.3.1了解測試用例

?測試用例的作用

①指導(dǎo)測試的實(shí)施

②作為編寫測試腳本的“設(shè)計(jì)規(guī)格說明書”

③評(píng)估測試結(jié)果的度量基準(zhǔn)

④分析缺陷的標(biāo)準(zhǔn)

2012-6-21第8頁

3.3.2定義詳細(xì)測試過程

?什么是測試過程?

①IEEE將測試過程定義為“說明執(zhí)行一系列測試用例

的步驟。

②測試過程是為了評(píng)估一系列功能而進(jìn)行軟件項(xiàng)分析

的步驟”。

?測試用例和測試過程的區(qū)別?

測試過程是由一系列的測試用例組成的。

2012-6-21第9頁

3.3.3定義預(yù)期結(jié)果

?測試過程的每一步都需要明確預(yù)期的結(jié)果。

?預(yù)期結(jié)果的來源:

,①項(xiàng)目專家或其他方面的專家將知道如何確定輸出結(jié)果

I②用戶文檔可以包含一^些用戶場景范例

③需求文檔也可以提供必要的信息

④其他相關(guān)文檔也可以提供相關(guān)線索

⑤最終用戶也許能夠描述所期望的響應(yīng)結(jié)果

2012-6-21第10頁

3.3.4設(shè)置與清除

?被測系統(tǒng)始終處于已知狀態(tài)

?避免測試系統(tǒng)進(jìn)入不可預(yù)知狀態(tài),測試結(jié)束時(shí)恢復(fù)到初

始狀態(tài)。

2012-6-21第11頁

3.3.5測試用例內(nèi)容

?測試用例文檔由簡介和測試用例兩部分組成。

簡介部分描述了測試目的、測試范圍、定義術(shù)

語、參考文檔、概述等。測試用例部分逐一列

示各測試用例。

?測試用例的基本元素:測試索引,測試環(huán)境,

測試輸入,測試操作,預(yù)期結(jié)果,評(píng)價(jià)標(biāo)準(zhǔn)。

2012-6-21第12頁

?3.3.5測試用例內(nèi)容

最簡單的測試用例也將包含:用例編號(hào)、輸

入、期望結(jié)果、實(shí)際結(jié)果。

測試用輸入預(yù)期結(jié)果實(shí)際結(jié)果測試統(tǒng)計(jì)

例月

ID利率貸款貸款通過

期限金額失敗

(年)阮)

TC-0018%3080000587.01

TC-0028.5%3080000615.13

TC-0038.5%1580000787.79

2012-6-21第13頁

3.3.5測試用例內(nèi)容

測試的一項(xiàng)基本原則是:被測試的系統(tǒng)始終應(yīng)該處于

廠一種已知的狀態(tài)。因此測試用例往往需要說明初始條件。

說明:測試用例ID:TC-001軟件版本:

子系統(tǒng):用戶名字段測試操作系統(tǒng):

測試人員姓名:測試日期:

初始設(shè)置:1.打開注冊(cè)會(huì)話框

2.在用戶名字段放入字符“王”

3.確保所有其他輸入字段為空

輸入:1.將光標(biāo)置于用戶名字段

2.輸入字符“帥”

預(yù)期結(jié)果:用戶名字段出現(xiàn)字符“王帥”

實(shí)際結(jié)果:口通過口失敗

2012-6-21第14頁

3.3.5測試用例內(nèi)容

?如果沒有測試用例或者僅有簡單的測試功能描述,測

試過程難以控制,測試結(jié)果將毫無可靠性可言。

?簡單的測試用例可靠性低,重用性差,可能導(dǎo)致不同

人員理解不同。

?詳細(xì)的測試用例可靠性高,而且便于估計(jì)執(zhí)行所需時(shí)

間,易于控制。

012-6-21第15頁

3.3.5測試用例內(nèi)容

【樣例-登錄】需求:

?用戶名長度為6至10位(含6位和10位)

?用戶名由字符(a-z、A-Z)和數(shù)字(0-9)組成

?不能為空、空格和特殊字符

?密碼規(guī)則同用戶名規(guī)則

2012-6-21第16頁

3.3.5測試用例內(nèi)容

?簡單

能夠正確處理用戶登錄

?一般

①輸入正確的用戶名和口令可以進(jìn)入系統(tǒng)

②輸入用戶名或口令錯(cuò)誤無法進(jìn)入系統(tǒng)

2012-6-21第17頁

4

-------------------------------

J3.3.5測試用例內(nèi)容

?詳細(xì)

操作步驟預(yù)期結(jié)果

輸入正確的用戶名和口令(均為6位),點(diǎn)擊[0K]按鈕進(jìn)入系統(tǒng)

輸入正確的用戶名和口令(均為10位),點(diǎn)擊[OK]按鈕進(jìn)入系統(tǒng)

輸入正確的用戶名和口令(均為6至8位之間),……進(jìn)入系統(tǒng)

用戶名為空,....提示輸入用戶名

不能進(jìn)入系統(tǒng)

用戶名為空格,....提示無效用戶名

不能進(jìn)入系統(tǒng)

用戶名小于6位,……提示用戶名太短

不能進(jìn)入系統(tǒng)

w第百

3.3.6測試用例參數(shù)化

測試用例越詳細(xì)越好?

3.3.6測試用例參數(shù)化

?時(shí)間要求

測試時(shí)間是否充足?

?執(zhí)行者

測試執(zhí)行者對(duì)系統(tǒng)的了解程度?

?建議程度

將測試用例交給其他人執(zhí)行時(shí)不需要過多的

解釋。

----------------------------------------------------------------------------------

2012-6-21第20頁

,3.3.6測試用例參數(shù)化

?定義-參數(shù)化

①是一個(gè)將測試數(shù)據(jù)與測試邏輯(步驟)分開,簡

化測試用例的過程;

②方式是將用例中的一些輸入、輸出等作為參數(shù)

,數(shù)據(jù)則單獨(dú)列出,在執(zhí)行時(shí)選擇相應(yīng)的數(shù)據(jù)

執(zhí)行。

2012-6-21第21頁

]3.3.6測試用例參數(shù)化

?為什么要參數(shù)化?

①?zèng)]有將測試數(shù)據(jù)和測試邏輯分開的測試用例可

能顯得非常龐大,不利于測試員理解,導(dǎo)致難

以控制和執(zhí)行;

②通過將用例參數(shù)化,可以簡化用例,使測試用

例邏輯清晰,數(shù)據(jù)與邏輯的關(guān)系明了,易于理

解;

③有利于提高測試用例的復(fù)用性;

2012-6-21第22頁

3.3.6測試用例參數(shù)化

?哪些內(nèi)容需要參數(shù)化?

測試用例中需要通過使用不同數(shù)據(jù)來重復(fù)執(zhí)

行測試的部分;包括:

①輸入(數(shù)據(jù)或操作等)

②輸出(結(jié)果數(shù)據(jù)或預(yù)期結(jié)果等)

2012-6-21第23頁

3.3.6測試用例參數(shù)化

樣例—登錄

步驟:

1、輸入<<<用戶名>>>

2、輸入<<<口令>>>

3、點(diǎn)擊[0K]按鈕

結(jié)果:

<<<預(yù)期結(jié)果>>>

2012-6-21第24頁

7

測試數(shù)據(jù)(一)

“用戶名”“口令”“預(yù)期結(jié)果”說明

Knuserl0/z"passlO”進(jìn)入系統(tǒng)正確的用戶名和

.口令(6位)

H、\ser789〃”pass789〃進(jìn)入系統(tǒng)正確的用戶名和

■口令(7-9位)

■uuser000010rr"passOOOOlO”進(jìn)入系統(tǒng)正確的用戶名和

.口令(10位)

■"pass"提示輸入用戶名用戶名為空

■不能進(jìn)入系統(tǒng)

,“空格”“pass”提示無效用戶名用戶名為空格

■|不能進(jìn)入系統(tǒng)_________________

2012-6-21第25頁

測試數(shù)據(jù)(二)

“用戶名”“口令”“預(yù)期結(jié)果”說明

“user”"userpass”提示用戶名太短用戶名小

不能進(jìn)入系統(tǒng)于6位

“userOOOOOH”"userpass”提示用戶名太長用戶名大

不能進(jìn)入系統(tǒng)于10位

2012-6-21第26頁

思考題

第89頁第1、2題

2012-6-21第27頁

上次課內(nèi)容

?3.1測試設(shè)計(jì)流程

?3.2總體設(shè)計(jì)

?3.3開發(fā)測試用例

第28頁

本次課內(nèi)容

白盒測試

2012-6-21第29頁

3.3.6白盒測試用例設(shè)計(jì)

白盒測試作為結(jié)構(gòu)測試方法,是按照程序內(nèi)部的結(jié)

構(gòu)測試程序,對(duì)軟件的過程性細(xì)節(jié)做細(xì)致的檢查,

測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)

計(jì)或選擇測試用例。

?白盒法又稱為邏輯覆蓋法,其測試用例選擇,是按

照不同覆蓋標(biāo)準(zhǔn)確定的。

弱A強(qiáng)

2012-6-21第30頁

3.3.6白盒測試用例設(shè)計(jì)

白盒法步驟:

1)選擇邏輯覆蓋標(biāo)準(zhǔn)。

2)按照覆蓋標(biāo)準(zhǔn)列出所有情況。邏輯c構(gòu)

3)選擇確定測試用例。

4)驗(yàn)證分析運(yùn)行結(jié)果與預(yù)期結(jié)果。

第31頁

3.3.6白盒測試用例設(shè)計(jì)

法舉例

①Procedure(VARA,B,X:REAL)

②BEGIN

③IF(A>1)AND(B=0)

④THENX:=X/A;

⑤IF(A=2)OR(X>1)

⑥THENX:=X+1

⑦END;

2012-6-21第32頁

2、判定覆蓋

使得程序中每個(gè)判定至少為TRUE或FALSE各一次。

覆蓋情況:應(yīng)執(zhí)行路徑

aceAabd或:acdAabe

選擇用例(其一):

(1)[(2,0,4),(2,0,3)]ace

[(1,1,1),(1,1,1)]abd

(2)[(2,1,1),(2,1,2)]abe

[(3,0,3),(3,1,1)]acd

2012-6-21第35頁

3、條件覆蓋

使得判定中的每個(gè)條'件獲得各種可能的結(jié)果。

應(yīng)滿足以下覆蓋情況:

判定一:人〉J,A<1JB判B翔

判定二:A=2,A^2;X>19X<ti

選擇用例:

[(2,0,4),(2,0,3)]

[(1,1,1),(1,1,1)]

注意:[(1,0,3),(1,0,4)]

[(2,1,1),(2,1,2)]

滿足條件覆蓋,但不滿足判定覆蓋。

012-6-21第36頁

第37頁

5、條件組合覆蓋

使每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次。

滿足以下覆蓋情況:

①A>1,B=O②A>1,BrO

③AW1,B=O④AW1,BrO

⑤A=2,X>1⑥A=2,X<1

⑦A#2,X>1⑧A#2,X&

選擇用例:

[(2,0,4),(2,0,3)]①⑤

[(2,1,1),(2,1,2)]②⑥

編譯系統(tǒng)下的執(zhí)行情況:[(1,0,3),(1,0,4)]③⑦

部分路徑未被執(zhí)行。[(1,1,1),(1,1,1)]④⑧

2012-6-21第38頁

白盒法常用的覆蓋標(biāo)準(zhǔn)

1、語句覆蓋:選擇足夠的測試用例,使得程序

中每個(gè)語句至少都能被執(zhí)行一次。

2、判定覆蓋:執(zhí)行足夠的測試用例,使得程序

中每個(gè)判定至少都獲得一次“真"值和"假”值。

3、條件覆蓋:執(zhí)行足夠的測試用例,使得判定中

的每個(gè)條件獲得各種可能的結(jié)果。

2012-6-21第40頁

白盒法常用的覆蓋標(biāo)準(zhǔn)

4、判定/條件覆蓋:執(zhí)行足夠的測試用例,使得

判定中每個(gè)條件取到各種可能的值,并使每個(gè)判

定取到各種可能的結(jié)果。

5、條件組合覆蓋:執(zhí)行足夠的例子,使得每個(gè)

判定中條件的各種可能組合都至少出現(xiàn)一次。

6、路徑覆蓋:執(zhí)行足夠的例子,覆蓋程序中所

有可能的路徑。

2012-6-21第41頁

基本路徑法

基本路徑法是在程序控制流圖的基礎(chǔ)上,

廠通過分析程序控制構(gòu)造的環(huán)路復(fù)雜性,到處可

■以基本執(zhí)行的路徑集合,從而設(shè)計(jì)測試用例。

2012-6-21第42頁

輔助模塊設(shè)計(jì)

?驅(qū)動(dòng)模塊:所測模塊的上一級(jí)模塊。相當(dāng)

于是主程序。

?樁模塊:所測模塊的下一級(jí)模塊。相當(dāng)于

是調(diào)用的子程序。

2012-6-21第43頁

7

課堂練習(xí)

89頁第3題

2012-6-21第44頁

3.3.6白盒測試用例設(shè)計(jì)

白盒測試作為結(jié)構(gòu)測試方法,是按照程序內(nèi)部的結(jié)

構(gòu)測試程序,對(duì)軟件的過程性細(xì)節(jié)做細(xì)致的檢查,

測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)

計(jì)或選擇測試用例。

?白盒法又稱為邏輯覆蓋法,其測試用例選擇,是按

照不同覆蓋標(biāo)準(zhǔn)確定的。

弱A強(qiáng)

2012-6-21第45頁

白盒法常用的覆蓋標(biāo)準(zhǔn)

1、語句覆蓋:選擇足夠的測試用例,使得程序

中每個(gè)語句至少都能被執(zhí)行一次。

2、判定覆蓋:執(zhí)行足夠的測試用例,使得程序

中每個(gè)判定至少都獲得一次“真"值和"假”值。

3、條件覆蓋:執(zhí)行足夠的測試用例,使得判定中

的每個(gè)條件獲得各種可能的結(jié)果。

2012-6-21第46頁

白盒法常用的覆蓋標(biāo)準(zhǔn)

4、判定/條件覆蓋:執(zhí)行足夠的測試用例,使得

判定中每個(gè)條件取到各種可能的值,并使每個(gè)判

定取到各種可能的結(jié)果。

5、條件組合覆蓋:執(zhí)行足夠的例子,使得每個(gè)

判定中條件的各種可能組合都至少出現(xiàn)一次。

6、路徑覆蓋:執(zhí)行足夠的例子,覆蓋程序中所

有可能的路徑。

2012-6-21第47頁

7

課堂練習(xí)

89頁第3題

2012-6-21第48頁

I設(shè)計(jì)測試用例來實(shí)現(xiàn)語句、條件、判定覆

n__蓋

1.If((a<150)||(b<200))

2.(

3.For(i=a;i<100;i++)

4.(

5.Println("A”);

6.}

7.}

8.Else

9.(

10.Println(“B”);

11.}

2012-6-21第49頁

設(shè)計(jì)測試用例來實(shí)現(xiàn)語句、條件、判定覆

b

OR語句覆蓋

b<200

N路徑:

測試用例:

Print(“B”)

判定覆蓋

i<100

N路徑:

測試用例:

Print(“A”)條件覆蓋

條件:

i++測試用例:

2012-6-21第50頁

r

3.3.7黑盒測試用例設(shè)計(jì)

黑盒測試不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)

程序功能或程序的外部特性設(shè)計(jì)測試用例。

2012-6-21第51頁

F1、等價(jià)分類法

?基末思想:根據(jù)程序的I/O特性,將程序的定義

I域劃分為有限個(gè)等價(jià)區(qū)段一■等價(jià)

類”,從等價(jià)類中選擇出的用例,具

有“代表性”。

I?等價(jià)類分為:

J有效等價(jià)類一對(duì)于程序的規(guī)格說明是合理的、是

?有意義的輸入數(shù)據(jù)構(gòu)成的集合。

'無效等價(jià)類一對(duì)于程序的規(guī)格說明是不合理的,

[是沒意義的輸入數(shù)據(jù)構(gòu)成的集合。

2012-6-21第52頁

等價(jià)分類法步驟

.」-關(guān)鍵是如何劃分

?①劃分“等價(jià)類”等價(jià)類

應(yīng)按照輸入條件(如輸入值的范圍,值的個(gè)數(shù),值的集

合,輸入條件必須如何)劃分為有效等價(jià)類和無效等價(jià)類。

例如:每個(gè)學(xué)生可選修1-3門課程

可劃分一個(gè)有效等價(jià)類:選修1-3門課程。

可劃分兩個(gè)無效等價(jià)類:未選修課,選修課超過3門。

又如:標(biāo)識(shí)符的第一個(gè)字符必須是字母。

可劃分為一個(gè)有效等價(jià)類:第一個(gè)字符是字母。

可劃分一個(gè)無效等價(jià)類:第一個(gè)字符不是字母。

2012-6-21第53頁

等價(jià)分類法步驟

■?②選擇測試用例

,A、為每個(gè)等價(jià)類編號(hào);

B、使一個(gè)測試用例盡可能覆蓋多個(gè)有效等價(jià)類

IC、特別注意:一個(gè)測試用例只能覆蓋一個(gè)無效等價(jià)類。

2012-6-21第54頁

2、邊值分析法

?,基本思想:選擇等價(jià)類的邊緣值作為測試用例,讓每個(gè)

等價(jià)類的邊界都得到測試,選擇測試用例既

考慮輸入亦考慮輸出。

?分析步驟:A、先劃分等價(jià)類。

B、選擇測試用例,測試等價(jià)類邊界。

?邊界選擇原則:A、按照輸入值范圍的邊界。

B、按照輸入/輸出值個(gè)數(shù)的邊界。

C、輸出值域的邊界。

D、輸入/輸出有序集的邊界。

2012-6-21第55頁

邊值分析法舉例

?按照輸入值范圍的邊界。

例如:輸入值的范圍是-1.0至1.0,則可選擇用例

-1.0、1.0、-1.001.1.00L

?按照輸入/輸出值個(gè)數(shù)的邊界。

例如:輸入文件可有1-255個(gè)記錄,則設(shè)計(jì)用例:

文件的記錄數(shù)為。個(gè)、1個(gè)、255個(gè)、256個(gè)

2012-6-21第56頁

I

邊值分析法舉例

?輸出值域的邊界。

例如:檢索文獻(xiàn)摘要,最多4篇。設(shè)計(jì)用例:

可檢索0篇、1篇、4篇,和5篇(錯(cuò)誤)。

?輸入/輸出有序集(如順序文件、線性表)的邊界。

應(yīng)選擇第一個(gè)元素和最后一個(gè)元素。

2012-6-21第57頁

黑盒法應(yīng)用實(shí)例(一)

?保險(xiǎn)費(fèi)率計(jì)算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論