系統(tǒng)測試教案稿_第1頁
系統(tǒng)測試教案稿_第2頁
系統(tǒng)測試教案稿_第3頁
系統(tǒng)測試教案稿_第4頁
系統(tǒng)測試教案稿_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

現(xiàn)

《軟件測試

軟件測試基本概念

軟件測試技術

實例

2

軟件測試基本概念

什么是軟件測試?目標是什么?

測試步驟

測試階段信息流

3

]軟件測試的概念

1.軟件測試是按照特定的規(guī)則,發(fā)現(xiàn)軟件錯誤的

過程;

2.軟件測試是對軟件規(guī)格說明、設計和編碼的最

后復審;

3.軟件測試在軟件生存周期中橫跨兩個階段:模

塊和單元測試在編碼階段,綜合測試在獨立的

測試階段;

4.軟件測試的工作量一般占軟件開發(fā)總工作量的

40%以上,有的測試成本占到其它步驟總成本的

3—5倍。

4

《軟件測試的目標

1.軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;

2.測試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯誤;

3.軟件測試中需要數(shù)據(jù),即為測試而精心設計的測試

用例,利用測試用例去運行程序,幫助發(fā)現(xiàn)程序錯誤;

4.一個好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;

5.一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。

6.軟件測試絕對不是要證明程序的正確性,也證明不

了程序的正確性.

5

《軟件測試與軟件調試的區(qū)別

內容軟件測試軟件調試

目的從一個側面證明程序員的失?。蛔C明程序員的正確;

方法從已知條件開始,使用預先定義的程序,從不可知內部條件開始,除

且有預知的結果,不可預見的僅是程序是統(tǒng)計性調試外,結果是不可

否通過測試;預見的;

約束有計劃并且要進行測試設計;不受時間約束;

過程發(fā)現(xiàn)錯誤、改正錯誤、重新測試的過程;是一個推理的過程;

方式執(zhí)行是有規(guī)程的;執(zhí)行要求程序員進行必要的

推理;

測試由獨立的測試組在不了解軟件設計的由了解詳細設計的程序員完

人員條件下完成;成;

工具大多數(shù)測試的執(zhí)行和設計可由工具支持。程序員能用的工具主要是調

試器。6

&軟件測試的原則⑴

1.設計測試用例,要給出測試的預期結果。一個測試

用例,必須由兩部分組成:對輸入數(shù)據(jù)的描述及其

這些輸入數(shù)據(jù)所產(chǎn)生的程序預期結果的精確描述。

2.設計非法輸入用例。當有非法輸入時,測試程序

是否能夠拒絕接受那些非法輸入并給出提示信息。

3.進行回歸測試,對程序的任何修改,使用以前測試

用例,重新進行測試,有助于發(fā)現(xiàn)修改程序引起

的新錯誤。

&軟件測試的原則(2)

4.集中測試容易出錯的程序段。測試統(tǒng)計結果表明:

一段程序中發(fā)現(xiàn)的錯誤越多,則其中存在錯誤的概

率也就越大。為了提高測試效率,在深入測試時,

要集中測試那些容易出錯的程序段。

5.開發(fā)小組與測試小組應分離,二者在思想上、方法

上是不一樣的,前者是建設性的,后者是“破壞性”

的。因此二者分離是成立測試小組的基本要求。

8

軟件測試方法和技術

代碼會審

「人工測試走查和排練

(代碼復審)

辦公桌檢查

軟件測試Y

機器測試白盒測試技術

I(動態(tài)測試)

黑盒測試技術

9

《軟件測試方法和技術

1.人工測試

代碼復審采用人工方式進行,目的在于檢查程

序的靜態(tài)錯誤。

2.機器測試

(1)在設定的測試數(shù)據(jù)上執(zhí)行被測程序的過程,也稱

為動態(tài)測試;

(2)動態(tài)測試包括:測試用例、執(zhí)行被測程序和分析

執(zhí)行結果并發(fā)現(xiàn)錯誤的過程。

10

&軟件測試步驟

步驟測試內容時間

單元將每一個模塊作為一個單獨的測試單元,保證每個模塊作編碼

測試為一個單元能正確運行。階段

子系統(tǒng)將經(jīng)過單元測試的模塊放在一起形成一個子系統(tǒng)來測試,

測試以測試模塊間的接口正確性作為主要任務。

系統(tǒng)將經(jīng)過測試的子系統(tǒng)裝配成一個完整的系統(tǒng)來測試,檢驗集中測

測試系統(tǒng)是否確實能實現(xiàn)需求規(guī)格說明書中的功能,以及系統(tǒng)的試階段

動態(tài)特征是否符合預定要求。系統(tǒng)測試是指整個計算機系統(tǒng)(

包括軟硬件)的測試,可與系統(tǒng)的安裝和驗收相結合進行。

驗收在用戶的參與下,把軟件系統(tǒng)作為單一的實體進行測試,驗收

測試使軟件系統(tǒng)能滿足用戶的需要。測試內容與系統(tǒng)測試基本相階段

同。

平行新舊兩個系統(tǒng)同時運行進行比較,避免風險的同時給用戶運行

測試對新系統(tǒng)一段熟悉的時間。階/

學元測試

在單元測試期間著重從下述5個方面對模塊進

行測試。

1.模塊接口

主要檢查下述幾個方面:參數(shù)的數(shù)目、次序、

屬性或單位素統(tǒng)與變元是否一致;是否修改了只

作輸入用的變元;全局變量的定義和用法在各個

模塊中是否一致。

2.局部數(shù)據(jù)結構

3.重要的執(zhí)行通路

12

4.出錯處理通路

當評價出錯處理通路時,應該著重測試下

述一些可能發(fā)生的錯誤:

(1)對錯誤的描述是難以理解的;

(2)記下的錯誤與實際遇到的錯誤不同;

⑶在對錯誤進行處理之前,錯誤條件已經(jīng)引起

系統(tǒng)干預;

(4)對錯誤的處理不正確;

(5)描述錯誤的信息不足以幫助確定造成錯誤的

位置。

5.邊界條件■

集成測試

■不論是子系統(tǒng)測試還是系統(tǒng)測試,都兼有檢測和組

裝兩重含義,通常稱為集成測試。

■由模塊組裝成程序時有兩種方法:

1、非漸增式測試方法

2、漸增式測試方法:a.自頂向下

b.自底向上。

14

頂向下集成

■方法:

從主控制模塊開始,沿著程序的控制層次

向下移動,逐漸把各個模塊結合起來。在把附

屬于(及最終附屬于)主控制模塊的那些模塊

組裝到程序結構中去時,或者使用深度優(yōu)先的

策略,或者使用寬度優(yōu)先的策略。

15

自頂向下集成

把模塊結合進軟件結構的具體過程由下述4個步驟完成:

第一步,對主控制模塊進行測試,測試時用存根程序

代替所有直接附屬于主控制模塊的模塊;

第二步,根據(jù)選定的結合策略(深度優(yōu)先或寬度優(yōu)先),

每次用一個實際模塊代換一個存根程序(新結合進

來的模塊往往又需要新的存根程序);

第三步,在結合進一個模塊的同時進行測試;

第四步,為了保證加入模塊沒有引進新的錯誤,可能

需要進行回歸測試(即,全部或部分地重復以前做

過的測試)。

16

4

M]

s4

自頂向下結合

17

a底向上集成

實現(xiàn)自底向上結合策略的步驟:

第一步,把低層模塊組合成實現(xiàn)某個特定的軟件子

功能的族;

第二步,寫一個驅動程序(用于測試的控制程序),

協(xié)調測試數(shù)據(jù)的輸入和輸出;

第三步,對由模塊組成的子功能族進行測試;

18

自底向上集成

第四步,去掉驅動程序,沿軟件結構自下

向上移動,把子功能族組合起來形成更大

的子功能族。

上述第二步到第四步實質上構成了一個循

環(huán)。

19

自底向上結合

20

¥不同集成測試策略的比較

一'般說來,一'種方法的優(yōu)點正好對應于另一'種

方法的缺點。

自頂向下測試方法的主要優(yōu)點:不需要測試驅動

程序,能夠在測試階段的早期實現(xiàn)并驗證系統(tǒng)的主

要功能,而且能在早期發(fā)現(xiàn)上層模塊的接口錯誤。

自頂向下測試方法的主要缺點:需要存根程序,

可能遇到與此相聯(lián)系的測試困難,低層關鍵模塊中

的錯誤發(fā)現(xiàn)較晚,而且用這種方法在早期不能充分

展開人力。

可以看出,自底向上測試方法的優(yōu)缺點與上述

自頂向下測試方法的優(yōu)缺點剛好相反。

21

土不同集成測試策略的比較

混合策略:

(1)改進的自頂向下測試方法?;旧鲜褂米皂斚蛳碌臏y試

方法,但是在早期使用自底向上的方法測試軟件中的少

數(shù)關鍵模塊。一般的自頂向下方法所具有的優(yōu)點在這種

方法中也都有,而且能在測試的早期發(fā)現(xiàn)關鍵模塊中的

錯誤;但是,它的缺點也比自頂向下方法多一條,即測

試關鍵模塊時需要驅動程序。

(2)混合法。對軟件結構中較上層使用的自頂向下方法與

對軟件結構中較下層使用的自底向上方法相結合。這種

方法兼有兩種方法的優(yōu)點和缺點,當被測試的軟件中關

鍵模塊比較多時,這種混合法可能是最好的折衷方法。

回歸測試

回歸測試是指重新執(zhí)行已經(jīng)做過的測試

的某個子集,以保證軟件發(fā)生變化時沒有帶

來非預期的副作用。

23

回歸測試

任何成功的測試都會發(fā)現(xiàn)錯誤,而且錯誤必

須被改正。每當改正軟件錯誤的時候,軟件配置

的某些成分(程序、文檔或數(shù)據(jù))也被修改了。

回歸測試就是用于保證由于調試或其他原因

引起的變化,不會導致非預期的軟件行為或額外

錯誤的測試活動。

24

■回歸測試

回歸測試可以通過重新執(zhí)行全部測試用例的一

個子集人工地進行,也可以使用自動化的捕獲回放

工具自動進行。

利用捕獲回放工具,軟件工程師能夠捕獲測試

用例和實際運行結果,然后可以回放(即重新執(zhí)行

測試用例),并且比較軟件變化前后所得到的運行

結果。

25

回歸測試集是指已執(zhí)行過的測試用例的子集。

回歸測試集包括3類不同的測試用例:

(1)檢測軟件全部功能的代表性測試用例;

(2)專門針對可能受修改影響的軟件功能的附

加測試;

(3)針對被修改過的軟件成分的測試。

26

確認測試

■F認測試也稱為驗收測試,它的目標是驗證軟件的

有效性。

■驗證指的是保證軟件正確地實現(xiàn)了某個特定要求的一

系列活動。

確認指的是為了保證軟件確實滿足了用戶需求而進

行的一系列活動。

軟件有效性的一個簡單定義是:如果軟件的功能和

性能如同用戶所合理期待的那樣,軟件就是有效的。

需求分析階段產(chǎn)生的軟件需求規(guī)格說明書,準確地描

述了用戶對軟件的合理期望,因此是軟件有效性的標

準,也是進行確認測試的基礎。

27

確認測試(Alpha測試與Beta測試)

Alpha測試由用戶在開發(fā)者的場所進行,

并且在開發(fā)者對用戶的“指導”下進行測試。

A1pha測試是在受控的環(huán)境中進行的。

Beta測試由軟件的最終用戶們在一個或多

個客戶場所進行。Beta測試是軟件在開發(fā)者不

能控制的環(huán)境中的“真實”應用。

28

,軟件測試與開發(fā)各階段關系

f|需求分析?|設計編程—]

一確認測試V—集成測試V一單元測試V

29

測試階段信息流

測試

分析改正的軟件

測試

軟件配置預率

結N.據(jù)

測試配置果

可靠性

、分析,

測試工具預測的可靠性.

30

&軟件測試技術

設計測試方案是測試階段的關鍵技術問題。

測試方案包括具體的測試目的(例如,預定

要測試的具體功能),應該輸入的測試數(shù)據(jù)和預

期的結果。

把>測試數(shù)據(jù)和預期的輸出結果稱為測試用例。

其中最困難的問題是設計測試用的輸入數(shù)據(jù)。

31

1|軟件測試技術

兩種常用的測試方法

■白盒測試:結構測試

■黑盒測試:功能測試

32

&軟件測試技術

■白盒測試把測試對象看做一個透明的盒子,它

允許測試人員利用程序內部的邏輯結構及有關

信息,設計或選擇測試用例,對程序所有邏輯

路徑進行測試。

■通過在不同點檢查程序的狀態(tài),確定實際的狀

態(tài)是否與預期的狀態(tài)一致。因此白盒測試又稱

為結構測試或邏輯驅動測試。

33

&軟件測試技術

■黑盒測試是把測試對象看做一個黑盒子,測試

人員完全不考慮程序內部的邏輯結構和內部特

性,只依據(jù)程序的需求規(guī)格說明書,檢查程序

的功能是否符合它的功能說明。

■黑盒測試又叫做功能測試或數(shù)據(jù)驅動測試。

34

&軟件測試技術

■白盒測試對程序模塊的所有的執(zhí)行路徑至少測

試一次;對所有的邏輯判定,取“真”與取

“假”的兩種情況都至少測試一次;

■黑盒測試發(fā)現(xiàn)程序中的錯誤,必須在所有可能

的輸入條件和輸出條件中確定測試數(shù)據(jù),來檢

查程序是否都能產(chǎn)生正確的輸出。

35

&軟件測試技術

白盒方法窮盡測試實例:

循環(huán)《20次

36

&軟件測試技術

包含的不同執(zhí)行路徑數(shù)達夕〃條,對

每一條路徑進行測試需要1毫秒,假定一

年工作365x24小時,要想把所有路徑

測試完,需3170年。

37

軟件測試技術

黑盒方法窮盡測試實例:

PZ

T

38

&軟件測試技術

>在字長為32位的計算機上運行。若TY

取整數(shù),按黑盒方法進行窮舉測試,可能采

用的測試數(shù)據(jù)組:

232x232=264

如果測試一組數(shù)據(jù)需要1毫秒,一年工作

365義24小時,完成所有測試需5億年。

39

&軟件測試技術

■軟件的窮盡測試是不現(xiàn)實的,因此測試

無法證明正確性。

■如何花最少的費用,得到最好的測試效

果?...測試用例的設計。

40

&軟件測試技術

一、白盒測試稱為結構測試,測試者了解被測程序的

內部結構和處理過程,對程序的所有邏輯路徑進行

測試,在不同點檢查程序狀態(tài),確定實際狀態(tài)與預

期狀態(tài)是否一致。

二、白盒測試從程序的邏輯結構入手,按照一定的原

貝山來設計測試用例和測試數(shù)據(jù),因此白盒測試法

也稱為邏輯覆蓋法。

41

&軟件測試技術

”由白盒測試產(chǎn)生的測試實例應具有下列功能:

1.保證在模塊中的獨立路徑最少被檢查一次;

2.檢查每個邏輯判斷的真假兩種情況;

3.對每個循環(huán)變量的初值、中間值和終止進行檢查;

4.檢查程序的內部結構是否有效。

四.通過白盒測試發(fā)現(xiàn)的錯誤:

1.程序中的邏輯錯誤和不正確的假設和條件;

2.沒預料到的意外路徑;

3.語法檢查未發(fā)現(xiàn)的印刷或書寫錯誤。

42

一、邏輯覆蓋

邏輯覆蓋:邏輯覆蓋法是以程序內部的邏

輯結構為基礎的設計測試用例的技術。從覆

蓋源程序語句和路徑的詳盡程度分析,有以

下不同的覆蓋標準:

語句覆蓋判定-條件覆蓋

判定覆蓋條件組合覆蓋

條件覆蓋路徑覆蓋

43

軟件測試技術示例

示例

路徑:

ace---L1abd---L2

abe---L3acd---L4

44

&軟件測試技術示例

對于第一個判斷:

條件A>1取真為取假為彳

條件B=0取真為T2,取假為石

對于第二個判斷:

條件A=2取真為T3,取假為因

條件X>1取真為T*取假為醫(yī)

45

I軟件測試技術示例

Ll(afc-e)

={(A>1)and(B=0)}and{(A=2)or(X/A>1)}

=(A>1)and(B=0)and(A=2)or

(A>1)and(B=0)and(X/A>1)

=(A=2)and(B=0)or

(A>1)and(B=0)and(X/A>1)

46

軟件測試技術示例

L2(afb.d)

=|(A>1]and(B=0)|and|(A=2)or(X>

=[(A>1)or(B=0)j>and|(A=2)and(X>l)j>

=(A>1)and(A=2)and(X>1)or

(B=0)and(A=2)and(X>1)

=(A<1)and(X<1)or

(Bw0)and(Aw2)and(X<1)

47

軟件測試技術示例

L3(aTbTc)

={(A>1]and(B=0)}and{(A=2)or(X>1)}

二(A〉1)and(X>1)or

(B=0)and(A=2)or(B=0)and(X>1)

=(A<1)and(X>1)or

(Bw0)and(A=2)or(Bw0)and(X>1)

48

軟件測試技術示例

L4(a->c->d)

={(A>1)and(B=0)}and{(A=2)or(X/A>1)}

=(A>1)and(B=0)and(AW2)and(X/A<1)

49

口I軟件測試技術示例

①語句覆蓋

?設計若干個測試用例,運行被測程序,使

得每一可執(zhí)行語句至少執(zhí)行一次。

在圖例中,正好所有的可執(zhí)行語句都在路

徑L1上,所以選擇路徑L1設計測試用

例:

[(2,0,4)]

注:(2,0,4)即:A=2,B=0,X=4下同。

50

軟件測試技術示例

②判定覆蓋

設計若干個測試用例,運行被測程序,不

僅每個語句至少執(zhí)行一次,而且每個判定

的每種可能的結果都應該至少執(zhí)行一次。

對于圖例,如果選擇路徑L3和L4,就

可得滿足要求的測試用例:

【(2,1,1)]覆蓋[L3]

[(3,0,3)】覆蓋【L4】

如果選擇路徑L1和L2,還可得另一組

可用的測試用例。

聲圖

I軟件測試技術示例

同條件覆蓋

小設計若干測試用例,運行被測程序,不僅每個語句

至少執(zhí)行一次,而且使判定表達式中的每個條件都

取到各種可能的結果。

測試用例覆蓋分支條件取值

【(2,0,4)1LITiT2T3T4

1(1,1,1)1L2T1T2T3T4

需要注意的是,條件覆蓋不一定滿足判定覆蓋,如:

測試用例覆蓋分支條件取值

【(2,0,1)1L1

"TT2乂T3乂T4

【(1,1,2)】L3TTTT

50圖

&軟件測試技術示例

④判定/條件覆蓋

?設計足夠的測試用例,使得判斷表達式

中的每個條件都取到各種可能的值,而

且每個判斷表達式也都取到各種可能結

果。

測試用例覆蓋分支條件取值

【(2,0,4)1L1TiT2T3T4

1(1,1,1)1L2T1T2T3T4

5竽圖

&軟件測試技術示例

⑤條件組合覆蓋

設計足夠的測試用例,運行被測程序,使得

所有可能的條件取值組合至少執(zhí)行一次。

記①A>B-o

T1T2_

②A>Bwo作

A>B-o作_T1T2卜第一個判斷

④A>Bwo作T1T2

⑤X>作T1T2J

⑥X>作T3T4、

⑦作

X>T3T4卜第二個判斷

⑧作

X>T3T4_______

T3T4,

5制圖

】I軟件測試技術示例

測試用例覆蓋分支覆蓋條件覆蓋組合

【(2,0,4)1(LI)TiT2T3T4①,⑤

1(2,1,1)1(L3)TiT2T3T4②,⑥

[(1,0,3)](L3)T\T2T^T4③,⑦

【(1,1,1)](L2)④,⑧

5中圖

軟件測試技術示例

⑥路徑覆蓋

就是設計足夠的測試用例,覆蓋程序中所

有可能的路徑。

測試用例通過路徑覆蓋條件

【(2,0,4)1LlTiT2T3T4

【(1,1,1)1L2

[(1,1,2)]L3T?TITZT4

[30,1)1L4TiT2T3T4

5刎

口.二、控制結構測試

■基本路徑測試

57

《控制結構測試

苴太致久加才通過計算程序的環(huán)形復雜度,并用

■基本路徑測試該復雜度為指南定義執(zhí)行路徑的

>思想:一^、基本集合。

>效果或覆蓋標準;

>步驟:

從執(zhí)行路徑的基本集合導出的測試:

_______k1、)ZS■二waq應rbr女二位入

fl、根據(jù)過程設計結果畫出相應的流圖;

2、計算流圖的環(huán)形復雜度;

3、確定線性獨立路徑的基本集合;)

4、設計可強制執(zhí)行基本集合中每條路徑的測

I試用例

58

流圖的畫法

■流圖:抽象化的程序流圖,突出表現(xiàn)控制流.

A符號。為流圖的一個結點,表示一個或多

個無分支語句。

A箭頭為邊,表示控制流的方向。

59

流圖的畫法

60

流圖的畫法

如果判斷中的條件表達式是由一個或多個邏輯運

算符(OR,AND,NAND,NOR)連接的復合條

件表達式,則需要改為一系列只有單個條件的嵌

套的判斷。

判斷結點

ifaORb

thenprocedurex

elseprocedurey;

(a)(b)

61

升算變題復雜度

McCabe方法根據(jù)程序控制流的復雜程度定量度

量程序的復雜程度,這樣度量出的結果稱為程序的

環(huán)形復雜度。

■環(huán)形(環(huán)路)復雜度方法,根據(jù)程序內單條件分支

數(shù)或循環(huán)個數(shù)來度量程序的復雜度.

■流圖G的環(huán)形復雜度:

AV(G)=流圖區(qū)域數(shù)

>V(G)=邊數(shù)一結點數(shù)+2

>V(G)=單條件判定數(shù)+1

62

確定線性獨立路徑的基本集合

■獨立的路徑是:

pathl:1-11

path2:1-2-3-4-5-10-1-11

path3:1-2-3-6-8-9-10-1-11

path4:1-2-3-6-7-9-10-1-11

■路徑pathl,path2,path3,path4組成了控制

流圖的一個基本路徑集。

63

黑盒測試技術

黑盒測試著重測試軟件功能。黑盒測試并不能取代白

盒測試,它是與白盒測試互補的測試方法,它很可能發(fā)現(xiàn)

白盒測試不易發(fā)現(xiàn)的其他類型的錯誤。

黑盒測試力圖發(fā)現(xiàn)下述類型的錯誤:

①功能不正確或遺漏了功能;

②界面錯誤;

③數(shù)據(jù)結構錯誤或外部數(shù)據(jù)庫訪問錯誤;

④性能錯誤;

⑤初始化和終止錯誤。

64

黑盒測試技術

黑盒測試

>等價類法

>邊界值分析法

65

等價劃分(等價類法)

等價類法

>思想:

>劃分等價類的經(jīng)驗

>等價類法步驟

66

劃分等價類思想

■把所有可能的輸入數(shù)據(jù),包括有效的和無效的劃

分成若干個等價類,則可以合理地做如下假設:每類

中的一個典型值在測試中的作用與其他值的作用相同。

因此可以從每個等價類中只取一組數(shù)據(jù)作為測試數(shù)據(jù),

這樣選取的測試數(shù)據(jù)最有代表性也最容易發(fā)現(xiàn)問題。

■比如:三角形類別識別程序:等邊、等腰、任意,不

合理的三角形等等

■無效的等價類可以從多個角度考慮,如:只有兩個輸

入邊,輸入不是實數(shù),輸入數(shù)據(jù)有負數(shù)等。

67

劃分等價類啟發(fā)式規(guī)則

(1)如果規(guī)定了輸入值的范圍,則可劃分出一個有

效的等價類(輸入值在此范圍內),兩個無效的等價

類(輸入值小于最小值或大于最大值);

(2)如果規(guī)定了輸入數(shù)據(jù)的個數(shù),則類似地也可以

劃分出一個有效的等價類和兩個無效的等價類;

(3)如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序對不

同輸入值做不同處理,則每個允許的輸入值是'一個

有效的等價類,此外還有一個無效的等價類(任一個

不允許的輸入值);

68

、劃分等價類啟發(fā)式規(guī)則

(4)如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,則可

以劃分出一個有效的等價類(符合規(guī)則)和若干個

無效的等價類(從各種不同角度違反規(guī)則);

(5)如果規(guī)定了輸入數(shù)據(jù)為整型,則可以劃分出

正整數(shù)、零和負整數(shù)等3個有效類;

(6)如果程序的處理對象是表格,則應該使用空

表,以及含一項或多項的表。

69

劃分等價類經(jīng)驗

等價類劃分啟發(fā)式規(guī)則

>輸入條件:?值可以是1到999…”

“?..項數(shù)可以是1到999…”

]999_________

無效等價類一有效等價類一無效等價類

70

K劃分等價類經(jīng)驗

>輸入數(shù)據(jù)(教師職稱):在教師住房分配軟件中規(guī)

定對教授、副教授、講師和助教分別計算分數(shù),

做相應的處理。

四個有效等價類,一個無效等價類。

>輸入規(guī)定:”標識符是一字母打頭的長度不超

過八位的串?!?/p>

則字母打頭長度在1?8位的為一個有效等價

類,非字母打頭為一個無效等價類,長度大于八

位或為空也是一個無效等價類。

71

劃分等價類經(jīng)驗

>如果在已確定的等價類中各元素在軟件中的

處理方式不同,則應根據(jù)需要對等價類進一

步進行劃分。

>編譯程序能發(fā)現(xiàn)的語法錯誤,無須測試。

intsum(intn)

{intm=0;

for(inti=l;i<=n;i++)

m=m+i;

72

>劃分等價類

>建立等價類表,為每一個等價類規(guī)定一個唯一

編號;

輸入條件有效等價類無效等價類

等價類法步驟

>選擇測試用例:

■以盡可能少的測試用例覆蓋所有的有效

等價類;

■為每個無效等價類設計一個測試用例。

74

邊界值分析法

邊界值分析法

>思想:程序總是在邊界條件處失效,因此選

取測試用例應該選邊界值

>使用方法:與等價劃分法聯(lián)合使用

75

測試技術例題

某工廠公開招工,規(guī)定報名者的年齡應在16周歲

至35周歲之間(到2005年3月30日止)。即出生年月

不在上述范圍內,將拒絕接受,并顯示“年齡不合格”

等出錯信息。假定出生年月由6位數(shù)字字符表示,前4

位代表年,后2位代表月。

(1)利用等價類法設計測試用例.

⑵利用邊界值分析法設計測試用例。

76

支術例題

等價類表如下:

輸入條件有效等價類無效等價類

②有非數(shù)字字符

出生年月①6位數(shù)字字③少于6個數(shù)字符

符④多于6個數(shù)字符

⑥<197003

對應數(shù)值⑤在197003—-

198903之間⑦>198903

⑨等于0

月份對應⑧在1—12之間

溫馨提示

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

評論

0/150

提交評論