成為一名高級軟件測試人員_第1頁
成為一名高級軟件測試人員_第2頁
成為一名高級軟件測試人員_第3頁
成為一名高級軟件測試人員_第4頁
成為一名高級軟件測試人員_第5頁
已閱讀5頁,還剩84頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

?EKM.

成為一名高級軟件測試人員

容:

?軟件測試基礎(chǔ)

?黑盒測試方法

?白盒測試方法

?軟件缺陷管理

2

軟件測試全景圖

「本地化測試

7衣盒方法?卜符號執(zhí)行

-國際化測試

L決策表一形式化方法

賴?yán)瓎拾嬉獢?shù)據(jù)驅(qū)動(dòng)-功能測試

-確認(rèn)一等價(jià)類劃分一基本路徑

關(guān)犍詞驅(qū)動(dòng)-負(fù)載測試

-邊界值分析

一正交實(shí)驗(yàn)方法-組合覆蓋

1J-性能測試

測試腳本-因果圖法

L測試套件一條件覆蓋

-安全性測試

-錯(cuò)誤推測法

測試;上具一測試環(huán)境-判定覆蓋一恢復(fù)測試

-功能圖

-語句覆蓋-安裝測試

0一測試數(shù)據(jù)-Ad-hoc法

自動(dòng)化測試「代碼審查一兼容性測試

測試執(zhí)行黑盒方正、

手工測試方法白盒方法一可用性測試

?'-可靠性測謊

方法

發(fā)現(xiàn)涌走

k動(dòng)態(tài)測試《

缺陷質(zhì)量完整

產(chǎn)靜態(tài)測試<覽證

一缺陷報(bào)告

源泉

一缺陷生命周期

階段思想

一缺陷跟蹤

/實(shí)施指導(dǎo)

一趨勢分析Xa

一測試策略一質(zhì)量文化

一分布分析-需求審查

一客戶需求

—缺陷清除率—設(shè)計(jì)審查一測試風(fēng)險(xiǎn)

一資源/進(jìn)度一質(zhì)量保證

—質(zhì)量評估—單元測試

一測試計(jì)劃一測試現(xiàn)實(shí)

I-缺陷而防-集成測試

一實(shí)驗(yàn)室一測試原則

(回歸一系統(tǒng)測謊

一測試團(tuán)隊(duì)一測試驅(qū)動(dòng)

-驗(yàn)收測謊

冒煙測試一測試覆蓋一成熟度模型

BVT/SVT一。測試

—測激報(bào)告

L測試

一模板

或伴的試基本疏速j

需求分析說明書

1)項(xiàng)目規(guī)劃階段:負(fù)責(zé)從單元測試到系

統(tǒng)測試的整個(gè)測試階段的監(jiān)控。概要設(shè)計(jì)說明15

2)需求分析階段:確定測試需求分析、

系統(tǒng)測試計(jì)劃的制定、評審后的管理。詳細(xì)設(shè)計(jì)說明書

其中,測試需求分析是對產(chǎn)品生命周期

中測試所需求的資源、配置、及評審;__________i__________

系統(tǒng)測試計(jì)劃是依據(jù)軟件的需求規(guī)格說源程序代碼

明書,設(shè)計(jì)測試用例與測試的實(shí)施等。

__________1__________

3)概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)階段:確保單元單元測試

測試、集成測試和系統(tǒng)測試計(jì)劃完成。

4)編碼階段:該階段主要由開發(fā)人員自集成測試

己負(fù)責(zé)部分的代碼測試。在較在的項(xiàng)目

中,將由專人進(jìn)行編碼階段的測試任務(wù)。

系統(tǒng)測試

5)測試階段:實(shí)施單元、集成、系統(tǒng)、

驗(yàn)收測試,并提交相應(yīng)的測試報(bào)告。__________X__________

驗(yàn)收測試

*

耿伴旃試模型二T74

?v模型

?強(qiáng)調(diào)了在整個(gè)軟件項(xiàng)目開發(fā)中需要經(jīng)歷的若干個(gè)測試

級別,并與每一個(gè)開發(fā)級別對應(yīng);忽略了測試的對象

不應(yīng)該僅僅包括程序,沒有明確指出對需求、設(shè)計(jì)的

測試

5

軟件以4試模型一2/4

?w模型

?補(bǔ)充了V模型中忽略的內(nèi)容,強(qiáng)調(diào)了測試計(jì)劃等工作的先

行和對系統(tǒng)需求和系統(tǒng)設(shè)計(jì)的測試;與V模型相同,沒有

對軟件測試的流程進(jìn)行說明

6

二瓶伴試?;蚨?/4

?H模型

?強(qiáng)調(diào)測試是獨(dú)立的,只要測試準(zhǔn)備完成,就可以執(zhí)行測試

7

孰伴的試模迪:4/4

?x模型

8

試模型小結(jié)號

?V模型

?是軟件開發(fā)瀑布模型的變種,主要反映測試活動(dòng)與分析和設(shè)計(jì)的關(guān)系;局

限性:把測試作為編碼之后的最后一個(gè)活動(dòng),需求分析等前期產(chǎn)生的錯(cuò)誤

直到后期的驗(yàn)收測試才能發(fā)現(xiàn)

?W模型

?在V模型的基礎(chǔ)上,增加千開發(fā)階段的同步測試,形成w模型;測試與開發(fā)

同步進(jìn)行,有利用盡早的發(fā)現(xiàn)問題

?局限性:仍把開發(fā)活動(dòng)看成是從需求開始到編碼結(jié)束的串行活動(dòng),只有上

一階段完成后,才可以開始下一階段的活動(dòng),不能支持迭代,自發(fā)性以及

變更調(diào)整

?H模型

?在H模型中,軟件測試過程活動(dòng)完全獨(dú)立,貫穿于整個(gè)產(chǎn)品的周期,與其他

流程并發(fā)地進(jìn)行,某個(gè)測試點(diǎn)準(zhǔn)備就緒時(shí),就可以從測試準(zhǔn)備階段進(jìn)行到

測試執(zhí)行階段;軟件測試可以進(jìn)行盡早的進(jìn)行;軟件測試可以根據(jù)被測物

的不同而分層次進(jìn)行

?X模型:

?X模型也是對V模型的改進(jìn),X模型提出針對單獨(dú)的程序片段進(jìn)行相互分離的

編碼和測試,此后通過頻繁的交接,通過集成最終合成為可執(zhí)行的程序。

9

■—,h1TzJ_二一,二~1-_._

聯(lián)伴測試一般步驟二1/2

口獲取需求、功能設(shè)計(jì)、詳細(xì)設(shè)計(jì)規(guī)格和其它必須文檔

2、獲取預(yù)算和時(shí)間安排需求

3、確定項(xiàng)目相關(guān)人員和他們的責(zé)任,匯報(bào)需求,必須的標(biāo)準(zhǔn)和過程(如

蔽術(shù)過

程、變更過程等)

4、確認(rèn)應(yīng)用高風(fēng)險(xiǎn)的部分,設(shè)定優(yōu)先級,確定測試的范圍和限制

力確定測試的方法一一單元測試、集成測試、功能測試、負(fù)荷測試、可

南性測

試等

6、確定環(huán)境需求(軟件/硬件/通信等)

7、確定測試用具環(huán)境(記錄/回放工具、覆蓋率分析器、測試跟蹤、問

期跟蹤等

等)

8、確定測試輸入需求

9、確定任務(wù),任務(wù)責(zé)任和相應(yīng)的工作量

1。、設(shè)定時(shí)間安排估計(jì)、時(shí)間表、里程碑等

IO

測試一般步驟二2/2

U、確定輸入的等價(jià)類、邊界值分析、錯(cuò)誤類

12、準(zhǔn)備測試計(jì)劃文檔和需要的評審

13、寫測試用例

14、對測試用例進(jìn)行必須的評審

巧、準(zhǔn)備測試環(huán)境和測試用具,獲取需要的用戶手冊/參考文

電/配置指導(dǎo)/安裝

指導(dǎo),建立跟蹤過程,日志和存檔過程,獲取測試數(shù)據(jù)

16、獲取和安裝軟件版本

17、執(zhí)行測試

18、評價(jià)和匯報(bào)測試結(jié)果

19、跟蹤問題和修改

20、如果需要進(jìn)行再測試

21、在整個(gè)生命周期內(nèi)維護(hù)和修改測試計(jì)劃、測試用例、測

試環(huán)境和測試用具

11

_x—~「,,,,?…1-?_*^?*A--,,.j一磔一

■1^^^5333333^=

?單元測試

?開發(fā)者編寫的一小段代碼,用于檢驗(yàn)被測代碼的一個(gè)很小的、很明確的功能是否正確

?冒煙測試

?在每日構(gòu)建完成后,對系統(tǒng)的基本功能進(jìn)行簡單的測試

?集成測試

?將所有模塊按照概要設(shè)計(jì)說明書和詳細(xì)設(shè)計(jì)說明書的要求進(jìn)行組裝

?確認(rèn)測試

?確認(rèn)測試又稱有效性測試。在模擬的環(huán)境下,運(yùn)用黑盒測試的方法,驗(yàn)證被測軟件是

否滿足需求規(guī)格說明書列出的需求

?系統(tǒng)測試

?與硬件、網(wǎng)絡(luò)、外設(shè)、支撐軟件、數(shù)據(jù)以及人員結(jié)合在一起,在實(shí)際或模擬環(huán)境下,

對計(jì)算機(jī)系統(tǒng)進(jìn)行測試

?驗(yàn)收測試

?以用戶為主的對核心業(yè)務(wù)流程進(jìn)行的測試

?回歸測試

?軟件維護(hù)階段對軟件修改后進(jìn)行的測試

12

測試方法一

?黑盒測試-也稱功能測試或數(shù)據(jù)驅(qū)動(dòng)測試,它是在已知

產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個(gè)功能是否都

能正常使用,主要有等價(jià)類劃分、邊值分析、因果圖、

錯(cuò)誤推測等測試方法。

?白盒測試-也稱結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試,它是知道產(chǎn)

品內(nèi)部工作過程,可通過測試來檢測產(chǎn)品內(nèi)部動(dòng)作是否

按照規(guī)格說明書的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)

測試程序,檢驗(yàn)程序中的每條通路是否都有能按預(yù)定要

求正確工作

?灰盒測試-介于二者之間,關(guān)注輸出對于輸入的正確性,

同時(shí)也關(guān)注內(nèi)部表現(xiàn)

13

?EKM.

策略一

?功能測試,界面測試,兼容性測試,分布測試

?性能測試,可靠性測試,負(fù)載測試,容量測試,壓力

測試,可用性測試

?易用性測試,安全測試,配置測試,故障恢復(fù)測試,

加密測試

?數(shù)據(jù)庫測試,值域測試

?安裝測試,卸載測試,可移植性測試,文擋測試,版

本驗(yàn)證測試,裸機(jī)測試。

14

變更申請>變更評市變更批準(zhǔn)

制定項(xiàng)目測試計(jì)劃

是否批準(zhǔn)拒絕變更

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

變更實(shí)施

驗(yàn)證效果

構(gòu)建測試環(huán)境

回歸測試

執(zhí)行測試

驗(yàn)收測試

15

1、標(biāo)題

2、確定軟件的版本號

3、修訂文檔歷史,包括作者、日期和批示

4、目錄表

5、文檔的目的和適合的讀者群

6、測試的目的

7、軟件產(chǎn)品概述

8、相關(guān)文檔列表,例如:需求、設(shè)計(jì)文檔、其他測試計(jì)劃

二相關(guān)的標(biāo)準(zhǔn)或合法需求

10、可跟蹤性需求

11、相關(guān)的命名規(guī)范和標(biāo)識符規(guī)范

12、整個(gè)軟件項(xiàng)目組織和人員/聯(lián)系信息/責(zé)任

16

13、測試組織和人員/聯(lián)系信息/責(zé)任

14、假設(shè)和依賴關(guān)系

巧、項(xiàng)目風(fēng)險(xiǎn)信息

16、測試優(yōu)先級和焦點(diǎn)

17、測試范圍和限制

1%測試提綱一一對測試過程的一個(gè)分解,通過測試類型、特點(diǎn)、

而能性、過

程、系統(tǒng)、模塊等

20、測試環(huán)境設(shè)置和配置問題

21、數(shù)據(jù)庫設(shè)置需求

22、概述系統(tǒng)日志/錯(cuò)誤日志/其他性能,有助于描述和匯報(bào)問題的

屏幕捕獲工具

23、有助于測試者跟蹤問題根源的具體軟硬件工具的論述

24、測試自動(dòng)化的可能性和概述

17

25、使用的測試工具,包括版本、補(bǔ)丁等

26、使用的項(xiàng)目測試度量

27、報(bào)告需求和測試可傳遞性

28、軟件入口和出口準(zhǔn)則

29、初始的理性測試階段和標(biāo)準(zhǔn)

3。、測試終止和重新開始的標(biāo)準(zhǔn)

貝、人員安排

32、測試地點(diǎn)

不、用到的測試外的組織,他們的目的、責(zé)任、可傳遞性

聯(lián)系人和協(xié)作問題

34、相關(guān)的財(cái)產(chǎn)、分類、安全性和許可證問題

35、公開的一些問題

36、附錄一一詞匯表、縮略語等

?一個(gè)測試用例就是一個(gè)文檔,描述輸入、動(dòng)作、或者時(shí)

間和一個(gè)期望的結(jié)果,其目的是確定應(yīng)用程序的某個(gè)特

性是否正常的工作。

■測試用例就是將軟件測試的行為活動(dòng),做一個(gè)科學(xué)化的

組織歸納。

?開發(fā)測試用例的過程有助于在應(yīng)用的需求和設(shè)計(jì)過程中

發(fā)現(xiàn)問題。

?測試用例是測試工作的指導(dǎo)。

19

為向需要測鈦用前1

軟件測試是有組織性、步驟性和計(jì)劃性的,為了能將軟件

測試的行為轉(zhuǎn)換為可管理的、具體量化的模式,需要?jiǎng)?chuàng)建

和維護(hù)測試用例。

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

減少測試的不完全性;

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

?根據(jù)測試用例的多少和執(zhí)行難度,估算測試工作量,便于測試項(xiàng)目的時(shí)

間和資源管理與跟蹤;

?減少回歸測試的復(fù)雜程度

?在軟件版本更新后只需修正少量的測試用例便可展開測試工作,降低工

作強(qiáng)度、縮短項(xiàng)目周期;

?功能模塊的測試用例的通用化和復(fù)用化則會使軟件測試易于開展,并隨

著測試用例的不斷細(xì)化其效率也不斷攀升;

?根據(jù)測試用例的操作步驟和執(zhí)行結(jié)果,可以方便地書寫軟件測試缺陷報(bào)

告;

?可以根據(jù)測試用例的執(zhí)行等級,實(shí)施不同級別的測試;

?為分析軟件缺陷和程序模塊質(zhì)量提供依據(jù);

?便于大型軟件測試項(xiàng)目外包測試指導(dǎo)基礎(chǔ);2

口測試用例編號ID?測試輸入條件

ID類型標(biāo)題測試步驟期望的結(jié)果說明

001登錄輸入正確密用戶在登錄界面輸入正確的密程序提示登錄成

碼碼后,按回車鍵功

002登錄輸入錯(cuò)誤密用戶在登錄界面輸入錯(cuò)誤的密程序提示輸入密

碼碼后,按回車鍵碼錯(cuò)誤,請重新

輸入

003登錄不輸入的空用戶在登錄界面沒有輸入任何程序提示用戶沒程序應(yīng)該告知

密碼密碼使密碼為空后,按回車鍵有輸入密碼,請用戶沒有輸入

輸入密碼,而不是

密碼錯(cuò)誤

21

甬例管理I

設(shè)計(jì)用倒

用羯更新

22

?軟件測試基礎(chǔ)

?黑盒測試方法

?白盒測試方法

?軟件缺陷管理

23

黑盒測試又稱功能測試、數(shù)據(jù)驅(qū)動(dòng)測試或基于規(guī)

格說明書的測試,是一種從用戶觀點(diǎn)出發(fā)的測試。

測試人員把被測程序當(dāng)作一個(gè)黑盒子。

輸A--------------輸出

24

主要馴到的錯(cuò)用臭類型

1)不正確或遺漏的功能;

2)接口、界面錯(cuò)誤;

3)性能錯(cuò)誤;

4)數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)訪問錯(cuò)誤;

5)初始化或終止條件錯(cuò)誤等等

局限性:用黑盒測試發(fā)現(xiàn)程序中的錯(cuò)誤,必須在所

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

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

的,因?yàn)楦F舉測試數(shù)量太大,無法完成。

25

二黑盒測試局限性

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

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

是否都能產(chǎn)生正確的輸出。但這是不可能的,因?yàn)?/p>

窮舉測試數(shù)量太大,無法完成。

假設(shè)一個(gè)程序P有輸入量X和Y及輸出量Z。在字長為32位的計(jì)算機(jī)上

運(yùn)行。若X、Y取整數(shù),按黑盒方法進(jìn)行窮舉測試:

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

232X232=264

如果測試一組數(shù)據(jù)需要1毫秒,一年工作365X24小時(shí),完成所有測

試需5億年。

X

PZ

26

?等價(jià)類劃分方法

?邊界值分析方法

?因果圖方法

?場景法

?正交實(shí)驗(yàn)設(shè)計(jì)方法

?判定表驅(qū)動(dòng)分析方法

?錯(cuò)誤推測方法

?功能圖分析方法

27

?有效等價(jià)類-是指對于程序的規(guī)格說明來說是合理的、有意義的輸

入數(shù)據(jù)構(gòu)成的集合

?無效等價(jià)類-是指對于程序的規(guī)格說明來說是不合理的、沒有意義

的輸入數(shù)據(jù)構(gòu)成的集合

?確定等價(jià)類的原則

1.在輸入釜件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有

效等價(jià)賽和兩個(gè)無效易價(jià)類。

I辟情腦藕瞥霰翻蕊鷲玉瀛程何”的條件的情

3.耍篡叁需集是一個(gè)布爾量的情況下,可以確立一個(gè)有效等價(jià)類和一個(gè)

4.在規(guī)3了看入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對每一個(gè)輸入

值分別處理的情況下,可以確立n個(gè)有效等價(jià)類和一個(gè)無效等價(jià)類。

■翳贏播辭糕翻娥知嬲靛翁效叫

6?髓智翻勰甄駕畬羸窩爵墻歐方式不同的情況E

28

邊界值分析

?根據(jù)經(jīng)驗(yàn)法則,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的

邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各

種邊界情況設(shè)計(jì)測試用例,可以查出更多的錯(cuò)誤。

?使用邊界值分析方法設(shè)計(jì)測試用例,首先應(yīng)確定邊界情

況。通常輸入和輸出等價(jià)類的邊界,就是應(yīng)著重測試的

邊界情況.應(yīng)當(dāng)選取正好等于,剛剛大于或剛剛小于邊界

的值作為測試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任

意值作為測試數(shù)據(jù).

29

邊界值選擇的1式?r1/6

原則1:如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這

個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為

測試輸入數(shù)據(jù)。

?例如,如果程序的規(guī)格說明中規(guī)定:“重量在1。公斤

至5。公斤范圍內(nèi)的郵件,其郵費(fèi)計(jì)算公式為…工作

為測試用例,我們應(yīng)取及5。,還應(yīng)取

10.01,49?99,9?99及5。?。1等0

30

邊界值選擇的康員42/6

原則2:如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù),最

小個(gè)數(shù),比最小個(gè)數(shù)少一,比最大個(gè)數(shù)多一的數(shù)作為測試

數(shù)據(jù)。

?例如,一個(gè)輸入文件應(yīng)包括1?255個(gè)記錄,則測試用例

可取1和255,還應(yīng)取o及256等。

31

邊界值選擇留硬則3/61

原則3:將原則1)和2)應(yīng)用于輸出條件,即設(shè)計(jì)測試

用例使輸出值達(dá)到邊界值及其左右的值。

?例如,某程序的規(guī)格說明要求計(jì)算出“每月保險(xiǎn)金扣

除額為o至116525元“,其測試用例可取0.00及1165.24、

還可取一0.01及1165.26等。

?再如一程序?qū)儆谇閳?bào)檢索系統(tǒng),要求每次”最少顯示1

條、最多顯示4條情報(bào)摘要”,這時(shí)我們應(yīng)考慮的測試

用例包括I和4,還應(yīng)包括。和5等。

32

邊界值選擇弱康則牛6i

?原則4:如果程序的規(guī)格說明給出的輸入域或輸出域是

有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素

作為測試用例。

?原則5:如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)

選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。

?原則6:分析規(guī)格說明,找出其它可能的邊界條件。

33

?下列那組數(shù)據(jù)為對日期2000/1/1?2005/12/31的邊界值

測試用例()

(A)非閏年的2月30/31日(B)非閏年的2月28/eg日

(C)所有年份的12/13日(D)每月的巧日

34

由桌國

?定義:一種利用圖解法分析輸入的各種組合情況,從而

設(shè)計(jì)測試用例的方法,它適合于檢查程序輸入條件的各

種組合情況。

?利用因果圖生成測試用例的基本步驟

】?分析軟件規(guī)格說明描述中哪些是原因,哪些是結(jié)果,并給

每個(gè)原因和結(jié)果賦予一個(gè)標(biāo)識符。

2.分析軟件規(guī)格說明描述的語義。找出原因和結(jié)果之間、原

因和原因之間的關(guān)系,根據(jù)這些關(guān)系,畫出因果圖。

3.在因果圖上用一些記號表明約束或限制條件。

4.把因果圖轉(zhuǎn)換為判定表。

5.把判定表的每一列拿出來作為依據(jù),設(shè)計(jì)測試用例

「囪桌圖基本符喜和約束符號

約束符號

?--------------?

恒等

O<、

唯一''⑥

基本符號約束符號

36

有一個(gè)處理單價(jià)為5角錢的飲料的自動(dòng)售貨機(jī)軟件測試用例的設(shè)

計(jì)。其規(guī)格說明如下:若投入5角錢或1元錢的硬幣,押下

K橙汁』或K啤酒』的按鈕,則相應(yīng)的飲料就送出來。若售

貨機(jī)沒有零錢找,則一個(gè)顯示K零錢找完]的紅燈亮,這時(shí)

在投入1元硬幣并押下按鈕后,飲料不送出來而且1元硬幣也

退出來;若有零錢找,則顯示K零錢找完工的紅燈滅,在送

出飲料的同時(shí)退還5角硬幣。

原因:

售貨機(jī)有零錢找、投入1元硬幣、投入5角硬幣、押下橙汁按

鈕、押下啤酒按鈕

結(jié)果:

售貨機(jī)K零錢找完》燈亮、退還1元硬幣、退還5角硬幣、送

出橙汁飲料、送出啤酒飲料

多貨機(jī)有零錢找售貨機(jī)"零錢找完"燈亮

Q)1、_2_/1)

投入】元硬幣②退還1元硬幣

投入5甬硬幣該找5角找問5甬硬幣

押下按鈿

押下橙汁按鈕送出悔汁飲料

押下啤酒按鈿送出啤酒飲料

38

?定義-一般包含基本流和備用流,從一個(gè)流程開始,通

過描述經(jīng)過的路徑來確定的過程,經(jīng)過遍歷所有的基本

流和備用流來完成整個(gè)場景

?基本流-就是正常的,正確場景

?備選流-一般指中斷操作的

39

?正交表

?定義-是研究多因素多水平的一種設(shè)計(jì)方法,它是根據(jù)

正交性從全面試驗(yàn)中挑選出部分有代表性的點(diǎn)進(jìn)行試驗(yàn),

這些有代表性的點(diǎn)具備了“均勻分散,齊整可比”的特

點(diǎn),正交試驗(yàn)設(shè)計(jì)是一種基于正交表的、高效率、快速、

經(jīng)濟(jì)的試驗(yàn)設(shè)計(jì)方法

?構(gòu)成

?Runs正交表的行數(shù),即實(shí)驗(yàn)的次數(shù)

?Factors正交表的列數(shù),即因素?cái)?shù)

?Levels水平數(shù),任何單個(gè)因素能夠取得的值的最大個(gè)數(shù)

?形式

行數(shù)(水平數(shù)因素?cái)?shù))(A)

?LLrunslevelsfactors

A

?L4(23)3個(gè)變量,每個(gè)變量2個(gè)取值,得到4個(gè)用例

40

7

L8(2):

41

用立女表設(shè)正統(tǒng)j試用例為安琳

1.有哪些因素(變量)

2.每個(gè)因素有哪幾個(gè)水平(變量的取值):用等

價(jià)類劃分出來的

3-選擇一個(gè)合適的正交表

4-把變量的值映射到表中

5-把每一行的各因素水平的組合做為一個(gè)測試用

6.加上你認(rèn)為可疑且沒有在表中出現(xiàn)的組合

42

茹擇正交室^

取行數(shù)最少的一個(gè),情況分三種

1.因素?cái)?shù)(變量)、水平數(shù)(變量值)相符

2.因素?cái)?shù)不相同:取因素?cái)?shù)最接近但略大的實(shí)際值的表

3.水平數(shù)不相同:

?:?有五個(gè)因素(變量)A、B、C>D和E。兩個(gè)因素

有兩個(gè)水平(變量的取值)、兩個(gè)因素有三個(gè)水平,

一個(gè)因素有六個(gè)水平。行數(shù)取最少的一個(gè)(行數(shù)

取最少的一個(gè)(L49(78)、L18(3660

43

?定義:判定表是分析和表達(dá)多邏輯條件下執(zhí)行不同操作

的情況的工具

?構(gòu)成

?條件樁(ConditionStub):列出了問題的所有條件。通常認(rèn)

為列出的條件的次序無關(guān)緊要

?動(dòng)作樁(ActionStub):列出了問題規(guī)定可能采取的操作。

這些操作的排列順序沒有約束

?條件項(xiàng)(ConditionEntry):列出針對它左列條件的取值。

在所有可能情況下的真假值

?動(dòng)作項(xiàng)(ActionEntry):列出在條件項(xiàng)的各種取值情況下應(yīng)

該采取的動(dòng)作

44

45

?錯(cuò)誤推測法:基于經(jīng)驗(yàn)和直覺推測程序中所

有可能存在的各種錯(cuò)誤,從而有針對性的設(shè)

計(jì)測試用例的方法。

?錯(cuò)誤推測方法的基本思想:列舉出程序中所

有可能有的錯(cuò)誤和容易發(fā)生錯(cuò)誤的特殊情況,

根據(jù)它們選擇測試用例。

46

費(fèi)謨蕤測法-第

?測試一個(gè)對線性表(比如數(shù)組)進(jìn)行排序的

程序,可推測列出以下幾項(xiàng)需要特別測試的

情況:

1)輸入的線性表為空表;

2)表中只含有一個(gè)元素;

3)輸入表中所有元素已排好序;

4)輸入表已按逆序排好;

5)輸入表中部分或全部元素相同

47

例方法的琮杳策哈

Myers提出了使用各種測試方法的綜合策略:

1)在任何情況下都必須使用邊界值分析方法。經(jīng)驗(yàn)表明

用這種方法設(shè)計(jì)出測試用例發(fā)現(xiàn)程序錯(cuò)誤的能力最強(qiáng)。

2)必要時(shí)用等價(jià)類劃分方法補(bǔ)充一些測試用例。

3)用錯(cuò)誤推測法再追加一些測試用例。

4)對照程序邏輯,檢查已設(shè)計(jì)出的測試用例的邏輯覆蓋

程度。如果沒有達(dá)到要求的覆蓋標(biāo)準(zhǔn),應(yīng)當(dāng)再補(bǔ)充足

夠的測試用例。

5)如果程序的功能說明中含有輸入條件的組合情況,則

一開始就可選用因果圖法。

48

?對于參數(shù)配置類的軟件,要用()選擇較少的組合

方式達(dá)到最佳效果?

(A)等價(jià)類劃分(B)因果圖法

(C)正交試驗(yàn)法(D)場景法

49

?軟件測試基礎(chǔ)

?黑盒測試方法

?白盒測試方法

?軟件缺陷管理

50

「為何進(jìn)行白食統(tǒng)j試

假設(shè)此時(shí)開發(fā)工作已結(jié)束,程序

送交到測試組,沒有人知道代碼

中有一個(gè)潛在的被0除的錯(cuò)誤。

若測試組采用的測試用例的執(zhí)行

路徑?jīng)]有同時(shí)經(jīng)過x=0和y=5/x進(jìn)

行測試,顯然測試工作似乎非常

完善,測試用例覆蓋了所有執(zhí)行

語句,也沒有被0除的錯(cuò)誤發(fā)生。

51

?白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試,是針對被測

單元內(nèi)部是如何進(jìn)行工作的測試。它根據(jù)程序的控制

結(jié)構(gòu)設(shè)計(jì)測試用例,主要用于軟件或程序驗(yàn)證。

?白盒測試法檢查程序內(nèi)部邏輯結(jié)構(gòu),對所有邏輯路徑

進(jìn)行測試,是一種窮舉路徑的測試方法。但即使每條

路徑都測試過了,仍然可能存在錯(cuò)誤。因?yàn)椋?/p>

>窮舉路徑測試無法檢查出程序本身是否違反了設(shè)計(jì)規(guī)范

即程序是否是一個(gè)錯(cuò)誤的程序。

>窮舉路徑測試不可能查出程序因?yàn)檫z漏路徑而出錯(cuò)。

A窮舉路徑測試發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯(cuò)誤。

節(jié)^瓷旃試原則

白盒測試主要是檢查程序的內(nèi)部結(jié)構(gòu)、邏輯、循環(huán)和路

徑。需要遵循的原則有:

?保證一個(gè)模塊中的所有獨(dú)立路徑至少被測試一次。

?所有邏輯值均需測試真(true)和假(false)兩種情況。

?檢查程序的內(nèi)部數(shù)據(jù)結(jié)構(gòu),保證其結(jié)構(gòu)的有效性。

?在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)。

53

;由盒測試方法

?靜態(tài)測試VS,動(dòng)態(tài)測試

?單元測試

?代碼檢查

?同行評審

?技術(shù)評審

54

靜態(tài)的試和筋態(tài)刎試一

□靜態(tài)測試-不運(yùn)行程序的測試,包括代碼檢查、靜態(tài)結(jié)

構(gòu)分析、代碼質(zhì)量度量,文檔測試等等。它可以由人工

進(jìn)行,充分發(fā)揮人的邏輯思維優(yōu)勢,也可以借助軟件工

具自動(dòng)進(jìn)行。

□動(dòng)態(tài)測試-需要執(zhí)行程序的測試,也是我們用得最多的

一種測試,通過運(yùn)行程序找到問題,包括功能確認(rèn)與接

口測試、覆蓋率分析、性能分析、內(nèi)存分析等。

55

測試覆蓋率j-'—

?測試覆蓋率:用于確定測試所執(zhí)行到的覆蓋項(xiàng)的百分

比。其中的覆蓋項(xiàng)是指作為測試基礎(chǔ)的一個(gè)入口或?qū)?/p>

性,比如語句、分支、條件等。

?測試覆蓋率可以表示出測試的充分性,在測試分析報(bào)

告中可以作為量化指標(biāo)的依據(jù),測試覆蓋率越高效果

越好。但覆蓋率不是目標(biāo),只是一種手段。

■測試覆蓋率包括功能點(diǎn)覆蓋率和結(jié)構(gòu)覆蓋率:

A功能點(diǎn)覆蓋率大致用于表示軟件已經(jīng)實(shí)現(xiàn)的功能與軟件

需要實(shí)現(xiàn)的功能之間的比例關(guān)系。

?結(jié)構(gòu)覆蓋率包括語句覆蓋率、分支覆蓋率、循環(huán)覆蓋率、

路徑覆蓋率等等。

56

?EKM.

覆蓋法

根據(jù)覆蓋目標(biāo)的不同和覆蓋源程序語句的詳盡程度,邏

輯覆蓋又可分為:

?語句覆蓋

*判定覆蓋

*條件覆蓋

*判定/條件覆蓋

?組合覆蓋

*路徑覆蓋

57

各種返輯覆■諉的定義1/歹

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

每個(gè)可執(zhí)行語句至少執(zhí)行一次。

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

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

也就是使程序中的每個(gè)取“真”分支和取“假”分

支至少均經(jīng)歷一次,也稱為“分支覆蓋”。

3)條件覆蓋:設(shè)計(jì)足夠多的測試用例,使得程序中每

個(gè)判定包含的每個(gè)條件的可能取值(真/假)都至少

滿足一次。

58

各種返輯覆建法的定義2/歹

4)判定/條件覆蓋:設(shè)計(jì)足夠多的測試用例,使得程序

中每個(gè)判定包含的每個(gè)條件的所有情況(真/假)至

少出現(xiàn)一次,并且每個(gè)判定本身的判定結(jié)果(真/假)

也至少出現(xiàn)一次。、

>滿足判定/條件覆蓋的測試用例一定同時(shí)滿足判定覆蓋和條

件覆蓋。

5)組合覆蓋:通過執(zhí)行足夠的測試用例,使得程序中

每個(gè)判定的所有可能的條件取值組合都至少出現(xiàn)一

次。

>滿足組合覆蓋的測試用例一定滿足判定覆蓋、條件覆蓋和判

定/條件覆蓋。

6)路徑覆蓋:設(shè)計(jì)足夠多的測試用例,要求覆蓋程序

中所有可能的路徑.

59

a

voidDoWork(intx,inty,intz)

_X>3&&z<lj>

(

intk=o,j=o;c

if((x>3)&&(z<io))執(zhí)行語句塊1

{k=x*y-i;

j=sqrt(k);

〃語句塊

)1e

if((x==4)||(y>5))

執(zhí)行語句塊2

{j=x*y+io;}〃語句塊2

j=j%3;〃語句塊3卜-----

執(zhí)行語句塊3

61

~~'三j_^,~j-^~-.........,*..一,

壽荀覆蓋

要實(shí)現(xiàn)DoWork函數(shù)的語句覆蓋,只需設(shè)計(jì)一個(gè)測試用

例就可以覆蓋程序中的所有可執(zhí)行語句。

?測試用例輸入為:{x=4、y=5、z=5}

?程序執(zhí)行的路徑是:abd

語句覆蓋可以保證程序中的每個(gè)語句都得到執(zhí)行,但發(fā)

現(xiàn)不了判定中邏輯運(yùn)算的錯(cuò)誤,即它并不是一種充分的

檢驗(yàn)方法。例如在第一個(gè)判定((x>3)&&(zvio))中把“&&”

錯(cuò)誤的寫成了“||",這時(shí)仍使用該測試用例,則程序仍

會按照流程圖上的路徑abd執(zhí)行??梢哉f語句覆蓋是最

弱的邏輯覆蓋準(zhǔn)則。

62

判定覆/工7$^^一

要實(shí)現(xiàn)DoWork函數(shù)的判定覆蓋,需要設(shè)計(jì)兩個(gè)測試用

例。

?測試用例的輸入為:{x=4、y=5、z=5};{x=2、y=5、2=5}

?程序執(zhí)行的路徑分別是:abd;ace

上述兩個(gè)測試用例不僅滿足了判定覆蓋,同時(shí)還做到語

句覆蓋。從這點(diǎn)看似乎判定覆蓋比語句覆蓋更強(qiáng)一些,

但仍然無法確定判定內(nèi)部條件的錯(cuò)誤。例如把第二個(gè)判

定中的條件y>5錯(cuò)誤寫為y<5,使用上述測試用例,照樣

能按原路徑執(zhí)行而不影響結(jié)果。因此,需要有更強(qiáng)的邏

輯覆蓋準(zhǔn)則去檢驗(yàn)判定內(nèi)的條件。

63

列克覆蓋2/2

還可以把判定覆蓋準(zhǔn)則擴(kuò)充到多出口判斷(如Case語句)

的情況。因此判定覆蓋更為廣泛的含義應(yīng)該是使得每一

個(gè)判定獲得每一種可能的結(jié)果至少一次。

Er勻

?下面程序有關(guān)某國個(gè)人所得稅的征收標(biāo)準(zhǔn),以下測試

用例能滿足判定覆蓋測試用例的是()

If(income<2ooo)i=o;o

Elseif(income<=3ooo)i=o.O5;

Elseif(income<=5ooo)i=o.io;

Elsei=o.2;

(A)income(2000,3000,5000,5001)

(B)income(2000,32001,4999,5000)

(C)income(1999,2999,5000,5001)

(D)income(2999,2000,4999,5000)

65

在實(shí)際程序代碼中,一個(gè)判定中通常都包含若干條件。

條件覆蓋的目的是設(shè)計(jì)若干測試用例,在執(zhí)行被測程序

后,要使每個(gè)判定中每個(gè)條件的可能值至少滿足一次。

對DoWork函數(shù)的各個(gè)判定的各種條件取值加以標(biāo)記。

對于第一個(gè)判定((x>3)&&(zvio)):

?條件x>3取真值記為Ti,取假值記為-Ti

?條件ZV1O取真值記為T2,取假值記為42

對于第二個(gè)判定((x==4)||(y>5)):

?條件x==4取真值記為T3,取假值記為43

?條件y>5取真值記為T4,取假值記為-T4

66

根據(jù)條件覆蓋的基本思想,要使上述4個(gè)條件可能產(chǎn)生

的8種情況至少滿足一次,設(shè)計(jì)測試用例如下:

測試用例執(zhí)行路徑覆蓋條件覆蓋分支

T1、T2、

x=4、y=6、z=5

abdT3、T4bd

-T1、-T2、

x=2、y=5、z=15acece

-T3、-T4

上面這組測試用例不但覆蓋了4個(gè)條件的全部8種情況,

而且將兩個(gè)判定的4個(gè)分支b、c、d、e也同時(shí)覆蓋了,

即同時(shí)達(dá)到了條件覆蓋和判定覆蓋。

一條件覆蓋3/3

雖然前面的一組測試用例同時(shí)達(dá)到了條件覆蓋和判定覆

蓋,但是,并不是說滿足條件覆蓋就一定能滿足判定覆

蓋。如果設(shè)計(jì)了下表中的這組測試用例,則雖然滿足了

條件覆蓋,但只是覆蓋了程序中第一個(gè)判定的取假分支

c和第二個(gè)判定的取真分支d,不滿足判定覆蓋的要求。

測試用例執(zhí)行路徑覆蓋條件覆蓋分支

-T1、T2、

x=2、y=6>z=5acdcd

-T3、T4

T1、-T2、

x=4、y=5、z=15acdcd

T3、-T4

68

:書一

判斷/條件覆^172

判定/條件覆蓋實(shí)際上是將判定覆蓋和條件覆蓋結(jié)合起

來的一種方法,即:設(shè)計(jì)足夠的測試用例,使得判定中

每個(gè)條件的所有可能取值至少滿足一次,同時(shí)每個(gè)判定

的可能結(jié)果也至少出現(xiàn)一次。

根據(jù)判定/條件覆蓋的基本思想,只需設(shè)計(jì)以下兩個(gè)測

試用例便可以覆蓋4個(gè)條件的8種取值以及4個(gè)判定分支:

測試用例執(zhí)行路徑覆蓋條件覆蓋分支

-T1、T2、

x=2、y=6>z=5acdcd

-T3、T4

T1、-T2、

x=4、y=5、z=15acdcd

T3、-T4

69

:書一

一■一。

一判斷/條件覆震272K

從表面上看,判定/條件覆蓋測試了各個(gè)判定中的所有

條件的取值,但實(shí)際上,編譯器在檢查含有多個(gè)條件的

邏輯表達(dá)式時(shí),某些情況下的某些條件將會被其它條件

所掩蓋。因此,判定/條件覆蓋也不一定能夠完全檢查

出邏輯表達(dá)式中的錯(cuò)誤。

如:對于第一個(gè)判定(x>3)&&(z<io)來說,必須x>3和

zvio這兩個(gè)條件同時(shí)滿足才能確定該判定為真。如果

x>3為假,則編譯器將不再檢查zoo這個(gè)條件,那么即

使這個(gè)條件有錯(cuò)也無法被發(fā)現(xiàn)。對于第二個(gè)判定

(x==4)||(y>5)來說,若條件x==4滿足,就認(rèn)為該判定為

真,這時(shí)將不會再檢查y>5,那么同樣也無法發(fā)現(xiàn)這個(gè)

條件中的錯(cuò)誤。

70

二組合覆蓋1/2

組合覆蓋的目的是要使設(shè)計(jì)的測試用例能覆蓋每一個(gè)判

定的所有可能的條件取值組合。

對DoWork函數(shù)中的各個(gè)判定的條件取值組合加以標(biāo)記:

1)x>3,z<io記做T1T2,第一個(gè)判定的取真分支

2)x>3,z>=io記做T1-T2,第一個(gè)判定的取假分支

3)x<=3,z<io記做-T1T2,第一個(gè)判定的取假分支

4)x<=3,z>=io記做-T1-T2,第一個(gè)判定的取假分支

5)x==4,Y>5記做T3T4第二個(gè)判定的取真分支

6)x==4,Y<=5記做T3-T4,第二個(gè)判定的取真分支

7)X!=4,Y>5記做-

溫馨提示

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

評論

0/150

提交評論