軟件測(cè)試技術(shù)第2章_第1頁(yè)
軟件測(cè)試技術(shù)第2章_第2頁(yè)
軟件測(cè)試技術(shù)第2章_第3頁(yè)
軟件測(cè)試技術(shù)第2章_第4頁(yè)
軟件測(cè)試技術(shù)第2章_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章第二章 軟件測(cè)試基礎(chǔ)軟件測(cè)試基礎(chǔ) 本章要點(diǎn)本章要點(diǎn) 軟件測(cè)試基礎(chǔ)知識(shí); 白盒測(cè)試和黑盒測(cè)試的定義; 常見(jiàn)的白盒和黑盒測(cè)試設(shè)計(jì)技術(shù); 白盒測(cè)試與黑盒測(cè)試的區(qū)別; 測(cè)試計(jì)劃和測(cè)試報(bào)告的編制; 測(cè)試用例的定義和編制方法。 本章目標(biāo)本章目標(biāo) u掌握有關(guān)測(cè)試的一些數(shù)學(xué)知識(shí),包括集合、函數(shù)和圖論基礎(chǔ)等;u理解并掌握白盒測(cè)試和黑盒測(cè)試,以及二者的優(yōu)缺點(diǎn)和各自的應(yīng)用范圍;u能夠熟練使用幾種常見(jiàn)測(cè)試用例設(shè)計(jì)技術(shù);u了解測(cè)試計(jì)劃和測(cè)試文檔的作用,以及應(yīng)該包含的內(nèi)容和制定方法;u了解測(cè)試報(bào)告的基本內(nèi)容,以及測(cè)試用例的基本內(nèi)容和編制方法。 2.12.1用于測(cè)試的離散數(shù)學(xué)和圖論基礎(chǔ)用于測(cè)試的離散數(shù)學(xué)和圖論基礎(chǔ) 一

2、般而言,在功能性測(cè)試中,通常要用到離散數(shù)學(xué)知識(shí),而在結(jié)構(gòu)性測(cè)試領(lǐng)域中,則要用到一些關(guān)于圖論的知識(shí)。 2.1.1 2.1.1集合論集合論 集合論可分為:自然和不言自明兩種。自然的集合論把集合看作是基本術(shù)語(yǔ),我們把集合看作一個(gè)單位,或一個(gè)整體引用多個(gè)事物。 集合的表示法有以下兩種: 1、將集合所有元素一一列出的表示法叫做“枚舉法”,但有時(shí)也可以只列出一部分元素。 2、用一個(gè)集合所具有的共同性質(zhì)來(lái)刻畫(huà)這個(gè)集合。 2.1.2 2.1.2函數(shù)函數(shù) 簡(jiǎn)而言之,函數(shù)是將唯一的輸出值賦予每一輸入的“法則”。 2.1.3 2.1.3關(guān)系關(guān)系 通俗的講,關(guān)系就是客觀世界一定范圍的對(duì)象之間的某種特定聯(lián)系。 集合之間

3、的關(guān)系集合之間的關(guān)系 定義: : 給定兩個(gè)集合A和B,關(guān)系R是笛卡兒積A B的一個(gè)子集。 如果希望描述整個(gè)關(guān)系,則通常只寫(xiě)RAB。對(duì)于特定元素aiA、biB,我們記做aiRbi 。 關(guān)系的表示關(guān)系的表示 關(guān)系關(guān)系表示事物之間的某種聯(lián)系,二元關(guān)系表示兩個(gè)事物之間的關(guān)系,如果把這兩個(gè)事物分別放在一邊,如果某兩個(gè)元素有關(guān)系,那么就在它們之間畫(huà)一條有向線,用這種方式表示關(guān)系,稱作關(guān)系圖。 這里我們必須對(duì)“勢(shì)”進(jìn)行解釋。勢(shì)在用于集合時(shí),是指集合中的元素的個(gè)數(shù)。 定義定義: : 給定兩個(gè)集合A和B,一個(gè)關(guān)系RAB,關(guān)系R的勢(shì)是: 1)一對(duì)一勢(shì) 2)多對(duì)一勢(shì) 3)一對(duì)多勢(shì) 4)多對(duì)多勢(shì) 單個(gè)集合上的關(guān)系單個(gè)

4、集合上的關(guān)系 首先,我們對(duì)關(guān)系進(jìn)行定義。設(shè)A是一個(gè)集合,RAA是定義在A上的一個(gè)關(guān)系,、R。關(guān)系具有四個(gè)特殊屬性: 定義定義: : 關(guān)系RAA是: 1)自反的 2)對(duì)稱的 3)反對(duì)稱的 4)傳遞的 2.1.4 2.1.4命題邏輯命題邏輯 凡是能分辨其真假的語(yǔ)句都叫做命題。我們通常采用小寫(xiě)字母p,q和r表示命題。 命題邏輯有著和集合論相似的操作,表達(dá)式和標(biāo)識(shí)。命題的真值只有兩種,T代表真,而F代表假。 命題公式的分類:命題公式的分類: 如果命題公式A在任意的真值賦值函數(shù)t : U0, 1下的真值t(A)都為1,則稱命題公式A為永真式(tautology)(或稱重言式); 如果命題A在任意的真值賦

5、值函數(shù)下的真值都為0,則稱A為矛盾式(contradiction); 如果A不是矛盾式,則稱為可滿足式。 2.1.52.1.5概率論概率論 概率是隨機(jī)事件發(fā)生的可能性的數(shù)量指標(biāo)。 在獨(dú)立隨機(jī)事件中,如果某一事件在全部事件中出現(xiàn)的頻率,在更大的范圍內(nèi)比較明顯的穩(wěn)定在某一固定常數(shù)附近。就可以認(rèn)為這個(gè)事件發(fā)生的概率為這個(gè)常數(shù)。對(duì)于任何事件的概率值一定介于 0和 1之間。 2.1.6 2.1.6用于測(cè)試的圖用于測(cè)試的圖 測(cè)試中使用兩種基本圖:無(wú)向圖和有向圖。這里我們給出一些概念。 圖(又叫做線性圖)是一種由兩種集合定義的抽象數(shù)據(jù)結(jié)構(gòu),即一個(gè)節(jié)點(diǎn)集合和一個(gè)構(gòu)成節(jié)點(diǎn)之間連接的集合。 圖中節(jié)點(diǎn)的度節(jié)點(diǎn)的度是

6、以該節(jié)點(diǎn)作為端點(diǎn)的邊的條數(shù)。 在本節(jié)中將介紹的三種圖:程序圖、有限狀態(tài)機(jī)、狀態(tài)圖。 1、程序圖 經(jīng)過(guò)改進(jìn)的程序圖定義:節(jié)點(diǎn)要么是整個(gè)語(yǔ)句,要么是語(yǔ)句的一部分,邊表示控制流(從節(jié)點(diǎn)i到節(jié)點(diǎn)j有一條邊,當(dāng)且僅當(dāng)對(duì)應(yīng)節(jié)點(diǎn)j的語(yǔ)句或語(yǔ)句的一部分,可以立即在節(jié)點(diǎn)i對(duì)應(yīng)的語(yǔ)句或語(yǔ)句的一部分之后執(zhí)行)。 程序的有向圖公式化能夠非常準(zhǔn)確地描述程序的測(cè)試方面的問(wèn)題?;窘Y(jié)構(gòu)化程序設(shè)計(jì)的構(gòu)造,例如:串行、選擇和循環(huán)等可以用如圖 2-1所示的有向圖表示。串行If-Then-ElseIf-Then條件前測(cè)試環(huán)路后測(cè)試環(huán)路圖2-1 結(jié)構(gòu)化程序設(shè)計(jì)構(gòu)造的有向圖 2、有限狀態(tài)機(jī) 有限狀態(tài)機(jī)已經(jīng)成為需求規(guī)格說(shuō)明的一種相當(dāng)標(biāo)準(zhǔn)

7、的表示方法。有限狀態(tài)機(jī)是一種有向圖,其中狀態(tài)是節(jié)點(diǎn),轉(zhuǎn)移是邊。 圖2-2是一個(gè)簡(jiǎn)單的自動(dòng)柜員機(jī)(SATM)系統(tǒng)。該圖描述了用于個(gè)人標(biāo)識(shí)編號(hào)PIN嘗試部分的有限狀態(tài)機(jī)。這種機(jī)器包含5 個(gè)狀態(tài)(空閑、等待第一次PIN嘗試等等)和8個(gè)用邊表示的轉(zhuǎn)移。轉(zhuǎn)移上的標(biāo)簽所遵循的規(guī)則是,“分子”是引起轉(zhuǎn)移的事件,“分母”是與該轉(zhuǎn)移關(guān)聯(lián)的行為??臻e等待第一次PIN輸入嘗試等待事務(wù)選擇等待第三次PIN輸入嘗試等待第二次PIN輸入嘗試合法卡顯示屏幕S2正確PIN顯示屏幕S5不正確的PIN顯示屏幕S4非法卡顯示屏幕S1;退卡不正確的PIN顯示屏幕S3不正確的PIN顯示屏幕S3正確PIN顯示屏幕S5圖2-2 用于PIN

8、嘗試的有限狀態(tài)機(jī) 3、狀態(tài)圖 狀態(tài)圖現(xiàn)在被Rational公司選為統(tǒng)一建模語(yǔ)言,即UML的控制模型。圖2-3 狀態(tài)圖的團(tuán)點(diǎn) Harel使用與方法無(wú)關(guān)的術(shù)語(yǔ)“團(tuán)點(diǎn)”表示狀態(tài)圖的基本構(gòu)建塊。在圖2-3中,團(tuán)點(diǎn)A包含兩個(gè)團(tuán)點(diǎn)B和C,通過(guò)邊連接。團(tuán)點(diǎn)A通過(guò)邊與團(tuán)點(diǎn)D連接。 根據(jù)Harel的意圖,我們可以把團(tuán)點(diǎn)解釋為狀態(tài),把邊解釋為轉(zhuǎn)移。 在圖2-4中,狀態(tài)A是初始狀態(tài),當(dāng)進(jìn)入到這個(gè)狀態(tài)時(shí),也進(jìn)入低層狀態(tài)B。當(dāng)進(jìn)入某個(gè)狀態(tài)時(shí),我們可以認(rèn)為該狀態(tài)是活動(dòng)的,這可與Petri網(wǎng)中的被標(biāo)記地點(diǎn)類比。狀態(tài)圖工具采用色彩表示哪個(gè)狀態(tài)活動(dòng)的,并等效于Petri網(wǎng)中的標(biāo)記地點(diǎn)。 圖2-4中有一些微妙的地方,從狀態(tài)A轉(zhuǎn)移

9、到狀態(tài)D初看起來(lái)是有歧義的,因?yàn)樗鼪](méi)有區(qū)分狀態(tài)B和C。約定是,邊必須開(kāi)始和結(jié)束于狀態(tài)的周?chē)?。如果狀態(tài)包含子狀態(tài),就像圖中的A一樣,邊會(huì)“引用”所有的子狀態(tài)。 因此,從A到D的邊意味著轉(zhuǎn)移可以從狀態(tài)B或從狀態(tài)C發(fā)生。如果有從狀態(tài)D到狀態(tài)A的邊,如圖2-5所示,則用B來(lái)表示初始狀態(tài)這個(gè)事實(shí),意味著轉(zhuǎn)移實(shí)際上是從狀態(tài)D到狀態(tài)B。這種約定可以大大減緩有限狀態(tài)機(jī)向“空心代碼”發(fā)展的趨勢(shì)。 圖2-4 狀態(tài)圖中的初始狀態(tài) 圖2-5 進(jìn)入自狀態(tài)的默認(rèn)入口 我們最后要討論的一個(gè)狀態(tài)圖的特性就是并發(fā)狀態(tài)圖概念。圖2-6中狀態(tài)D的虛線用于表示狀態(tài)D實(shí)際上引用兩個(gè)并發(fā)狀態(tài)E和F。圖2-6 并發(fā)狀態(tài) 2.2 2.2白盒

10、測(cè)試白盒測(cè)試 白盒測(cè)試是一種可視的測(cè)試軟件的方法,即它把測(cè)試對(duì)象看作一個(gè)透明的盒子,測(cè)試人員要了解程序結(jié)構(gòu)和處理過(guò)程,按照程序內(nèi)部邏輯測(cè)試程序,檢查程序中的每條通路是否按照預(yù)定要求正確工作。白盒測(cè)試的過(guò)程如圖2-7所示: 源程序測(cè)試用例被測(cè)程序執(zhí)行路徑分析覆蓋情況分析圖2-7 白盒測(cè)試過(guò)程示意圖 那么,在對(duì)被測(cè)軟件進(jìn)行白盒測(cè)試時(shí),主要對(duì)程序進(jìn)行哪些方面的檢查呢?有如下幾點(diǎn): ()保證一個(gè)模塊中的所有獨(dú)立執(zhí)行路徑至少測(cè)試一次; ()對(duì)所有邏輯判定取值“true”和“false”的兩種情況都至少測(cè)試一次; ()在循環(huán)邊界和運(yùn)行界限內(nèi)執(zhí)行循環(huán)體; ()測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。 在軟件測(cè)試領(lǐng)域,有六

11、種基本的測(cè)試類型:?jiǎn)卧獪y(cè)試,集成測(cè)試,功能測(cè)試/系統(tǒng)測(cè)試,可接受性測(cè)試,回歸測(cè)試和Beta測(cè)試。白盒測(cè)試可以用在其中的三種測(cè)試類型中: 1、單元測(cè)試 2、集成測(cè)試 3、回歸測(cè)試 2.2.12.2.1白盒測(cè)試與調(diào)試的異同白盒測(cè)試與調(diào)試的異同 白盒測(cè)試和調(diào)試有哪些不同點(diǎn)呢? 1、從承擔(dān)的任務(wù)來(lái)看,白盒測(cè)試同其他類型測(cè)試一樣,它的任務(wù)是發(fā)現(xiàn)所開(kāi)發(fā)的項(xiàng)目中的缺陷;但是,調(diào)試不屬于測(cè)試,其任務(wù)是糾正軟件中的缺陷。 2、從最終的結(jié)果來(lái)看,白盒測(cè)試有預(yù)知的結(jié)果,不可預(yù)知的只是程序是否通過(guò)測(cè)試,并且成功測(cè)試的結(jié)果是發(fā)現(xiàn)錯(cuò)誤的癥狀,從而引起調(diào)試的進(jìn)行;而調(diào)試的結(jié)果是消除項(xiàng)目中的錯(cuò)誤。 3、從執(zhí)行的過(guò)程來(lái)看,測(cè)試

12、是一個(gè)發(fā)現(xiàn)錯(cuò)誤、改正錯(cuò)誤、重新測(cè)試的過(guò)程;而調(diào)試是一個(gè)推理過(guò)程。 4、從準(zhǔn)備工作來(lái)看,測(cè)試從已知的條件開(kāi)始,使用預(yù)先定義的程序;調(diào)試一般是以不可知的內(nèi)部條件開(kāi)始,做統(tǒng)一性調(diào)試 。 5、從執(zhí)行的計(jì)劃性來(lái)看,測(cè)試是有計(jì)劃的并要進(jìn)行測(cè)試設(shè)計(jì);而調(diào)試則不受時(shí)間約束。 6、從執(zhí)行的人員來(lái)看,測(cè)試經(jīng)常是由獨(dú)立的測(cè)試組在不了解軟件設(shè)計(jì)的條件下完成的,而調(diào)試必須由程序員來(lái)完成。 7、從所使用的工具來(lái)看,大多數(shù)白盒測(cè)試的執(zhí)行和設(shè)計(jì)可有工具支持,而調(diào)試程序員能利用的工具主要是調(diào)試器。 2.2.2 2.2.2白盒測(cè)試的用例設(shè)計(jì)白盒測(cè)試的用例設(shè)計(jì) 白盒測(cè)試用例設(shè)計(jì)技術(shù)就是研究如何用最少的測(cè)試用例最大限度地發(fā)現(xiàn)軟件中的

13、錯(cuò)誤,目前主要有基本路徑測(cè)試、等價(jià)類劃分/邊界值分析測(cè)試、覆蓋測(cè)試、循環(huán)測(cè)試、數(shù)據(jù)流測(cè)試、程序插樁測(cè)試、變異測(cè)試等等方法。下面主要對(duì)幾種常見(jiàn)的方法加以介紹: 一、基本路徑測(cè)試 二、等價(jià)類劃分/邊界值分析(Equivalence partitioning/boundary value analysis) 三、控制流/覆蓋測(cè)試(Control-flow/Coverage Testing) 方法覆蓋 方法覆蓋可用于衡量測(cè)試用例所覆蓋的方法的百分比。 語(yǔ)句覆蓋(Statement Coverage) 語(yǔ)句覆蓋是一種衡量測(cè)試所覆蓋的程序語(yǔ)句百分比的措施。通過(guò)測(cè)試應(yīng)該達(dá)到100%程序語(yǔ)句覆蓋的目標(biāo),可以標(biāo)

14、識(shí)圈數(shù),然后執(zhí)行最少的一組測(cè)試用例就可以達(dá)到語(yǔ)句覆蓋的目標(biāo)。 判斷/分支覆蓋 判斷/分支覆蓋是為了衡量在測(cè)試過(guò)程中覆蓋了多少個(gè)程序中的布爾表達(dá)式。簡(jiǎn)單循環(huán)嵌套循環(huán)串接循環(huán)無(wú)結(jié)構(gòu)循環(huán)圖2-11 各種循環(huán)圖 四、循環(huán)測(cè)試是一種白盒測(cè)試技術(shù),注重于循環(huán)構(gòu)造的有效性。n 循環(huán)結(jié)構(gòu)測(cè)試用例的設(shè)計(jì)循環(huán)可以劃分為以下幾種模式,如圖2-11: 可以使用如下方法設(shè)計(jì)循環(huán)測(cè)試用例: 一、簡(jiǎn)單循環(huán): 二、嵌套循環(huán): 三、串接循環(huán): 四、無(wú)結(jié)構(gòu)循環(huán): 五、數(shù)據(jù)流測(cè)試: 六、程序插裝: 程序插裝(Program Instrumentation)是指在程序中設(shè)置斷點(diǎn)或打印語(yǔ)句,在執(zhí)行過(guò)程中了解程序的一些動(dòng)態(tài)特性。 七、變

15、異測(cè)試 變異測(cè)試(Mutation Testing)的提出始于70年代末期,是一種錯(cuò)誤驅(qū)動(dòng)測(cè)試,即針對(duì)某類特定程序錯(cuò)誤而進(jìn)行的測(cè)試,也是一種比較成熟的排錯(cuò)性測(cè)試方法(排錯(cuò)性測(cè)試方法的基本思想是通過(guò)檢驗(yàn)測(cè)試數(shù)據(jù)集的排錯(cuò)能力來(lái)判斷軟件測(cè)試的充分性)。 2.2.32.2.3白盒測(cè)試舉例(略)白盒測(cè)試舉例(略) 2.32.3黑盒測(cè)試黑盒測(cè)試 黑盒測(cè)試也稱作功能測(cè)試和行為測(cè)試,主要是根據(jù)功能需求來(lái)測(cè)試程序是否按照預(yù)期工作。 黑盒測(cè)試的目的是盡量發(fā)現(xiàn)代碼所表現(xiàn)的外部行為的錯(cuò)誤,主要有以下幾類: 功能不正確或不完整; 接口錯(cuò)誤; 接口所使用的數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤; 行為或性能錯(cuò)誤; 初始化和終止錯(cuò)誤。 黑盒測(cè)試的示

16、意圖如圖2-14 所示。從圖2-14中,我們可以看出黑盒測(cè)試只考慮程序的輸入和輸出,無(wú)須考慮程序的內(nèi)部代碼。 圖2-14 黑盒測(cè)試示意圖2.3.12.3.1黑盒測(cè)試和白盒測(cè)試的異同黑盒測(cè)試和白盒測(cè)試的異同 本書(shū)歸納出以下幾點(diǎn):執(zhí)行測(cè)試人員不同 黑盒測(cè)試通常由用戶以及非開(kāi)發(fā)人員來(lái)進(jìn)行;而白盒測(cè)試通常要有了解軟件內(nèi)部結(jié)構(gòu)的開(kāi)發(fā)人員來(lái)做。測(cè)試覆蓋目標(biāo)不同 如果我們用一個(gè)盒子來(lái)代替整個(gè)軟件系統(tǒng),那么黑盒測(cè)試可以看成是一種系統(tǒng)測(cè)試。而對(duì)盒子內(nèi)部的多個(gè)單元的測(cè)試就可以稱作為白盒測(cè)試。 另外一種區(qū)別就是,二者的覆蓋目標(biāo)不同。黑盒測(cè)試的目標(biāo)是覆蓋所有的用戶需求;而白盒測(cè)試的目標(biāo)是覆蓋所有的代碼。3、測(cè)試動(dòng)機(jī)不

17、同 有效的安全測(cè)試有時(shí)也需要詳細(xì)了解代碼以及系統(tǒng)結(jié)構(gòu),此時(shí)把這些技術(shù)稱作白盒測(cè)試。 另外一種風(fēng)險(xiǎn)測(cè)試的目標(biāo)可能就只是測(cè)試軟件是否能夠?yàn)橛脩籼峁╊A(yù)期輸出??捎眯詼y(cè)試就是如此,所以被稱作黑盒測(cè)試。 4、測(cè)試方法不同 一個(gè)最普通的區(qū)別就是行為測(cè)試設(shè)計(jì)是基于功能需求來(lái)定義測(cè)試,而結(jié)構(gòu)測(cè)試則是基于代碼本身來(lái)定義測(cè)試的。這就是兩種設(shè)計(jì)測(cè)試的方法。因?yàn)樾袨闇y(cè)試是基于外部功能定義的,所以稱作黑盒測(cè)試;結(jié)構(gòu)測(cè)試則是基于代碼內(nèi)部結(jié)構(gòu)來(lái)定義的,所以稱作白盒測(cè)試。 5、評(píng)估測(cè)試方法不同 一些技術(shù)是使用代碼工具來(lái)跟蹤軟件內(nèi)部的工作過(guò)程,因此稱為白盒測(cè)試技術(shù)。與之相比,黑盒測(cè)試技術(shù)只是簡(jiǎn)單的觀察程序的正常輸出。 2.3.

18、22.3.2黑盒測(cè)試的用例設(shè)計(jì)黑盒測(cè)試的用例設(shè)計(jì) 常用的黑盒測(cè)試用例設(shè)計(jì)方法主要有以下幾種:功能圖分析方法,等價(jià)類劃分方法,邊界值分析方法,錯(cuò)誤推測(cè)方法,因果圖方法,判定表驅(qū)動(dòng)分析方法,正交實(shí)驗(yàn)設(shè)計(jì)方法和功能圖分析方法等。 下面對(duì)上述方法分別作以簡(jiǎn)要介紹。 一、基于用戶需求的測(cè)試 黑盒測(cè)試用例就是基于用戶需求的,也是從研究客戶需求工作開(kāi)始的。 二、對(duì)等區(qū)間劃分 對(duì)等區(qū)間劃分是一種黑盒測(cè)試方法,該方法也稱為等價(jià)類劃分,是一種設(shè)計(jì)測(cè)試用例的非常形式化的方法。 三、邊界值分析法 邊界值分析方法是對(duì)等價(jià)類劃分方法的補(bǔ)充。長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)告訴我們,大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在

19、輸入輸出范圍的內(nèi)部。 四、狀態(tài)轉(zhuǎn)換測(cè)試 狀態(tài)轉(zhuǎn)換測(cè)試適用于軟件被設(shè)計(jì)成一個(gè)狀態(tài)機(jī)或?qū)崿F(xiàn)了一種被建模成一種狀態(tài)機(jī)的情況??梢栽O(shè)計(jì)測(cè)試用例測(cè)試狀態(tài)間轉(zhuǎn)換,測(cè)試用例創(chuàng)建引起轉(zhuǎn)換的事件??梢栽O(shè)計(jì)負(fù)面測(cè)試的測(cè)試用例用于測(cè)試狀態(tài)與事件的非法組合。 五、分支測(cè)試 在分支測(cè)試中,測(cè)試用例用于測(cè)試單元的控制流分支或決策點(diǎn)。通常用于實(shí)現(xiàn)決策覆蓋(Decision Coverage)的測(cè)試目標(biāo)。 六、錯(cuò)誤推測(cè)法 錯(cuò)誤推測(cè)法就是根據(jù)經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中所有可能存在的各種錯(cuò)誤,借助邊界值分析等方法有針對(duì)性的設(shè)計(jì)測(cè)試用例的方法。 七、因果圖方法 因果圖方法適合于檢查程序輸入條件的各種組合情況。使用該方法首先要理解軟件所表

20、示的對(duì)象及其關(guān)系,然后,定義一組保證“所有對(duì)象與其他對(duì)象都具有所期望的關(guān)系”的測(cè)試序列。 2.3.3 2.3.3黑盒測(cè)試舉例(略)黑盒測(cè)試舉例(略) 2.4 2.4白盒測(cè)試和黑盒測(cè)試的比較白盒測(cè)試和黑盒測(cè)試的比較 1、白盒測(cè)試只關(guān)注軟件產(chǎn)品的測(cè)試,不能夠確保產(chǎn)品已經(jīng)實(shí)現(xiàn)了規(guī)格說(shuō)明中的所有功能。黑盒測(cè)試則只關(guān)注規(guī)格說(shuō)明中的功能測(cè)試,不能夠保證已經(jīng)實(shí)現(xiàn)的各個(gè)部分都被測(cè)試到。 2、與黑盒測(cè)試相比,白盒測(cè)試的成本要高一些。 3、黑盒測(cè)試故意不考慮控制結(jié)構(gòu),而只注意信息域。白盒測(cè)試只考慮測(cè)試軟件產(chǎn)品,它不保證完整的需求規(guī)格是否被滿足。黑盒測(cè)試是一種確認(rèn)技術(shù),回答“我們?cè)跇?gòu)造一個(gè)正確的系統(tǒng)嗎?白盒測(cè)試是一

21、種驗(yàn)證技術(shù),回答“我們?cè)谡_地構(gòu)造一個(gè)系統(tǒng)嗎?” 總之,建議測(cè)試人員在進(jìn)行測(cè)試的過(guò)程中,可以考慮先使用黑盒測(cè)試,然后統(tǒng)計(jì)相應(yīng)的覆蓋率,再設(shè)計(jì)適當(dāng)?shù)陌缀袦y(cè)試用例作為補(bǔ)充以保證測(cè)試的完整性。 2.4.12.4.1白盒測(cè)試的優(yōu)缺點(diǎn)白盒測(cè)試的優(yōu)缺點(diǎn) 1)優(yōu)點(diǎn)可構(gòu)成測(cè)試數(shù)據(jù)對(duì)特定程序部分測(cè)試,可以檢測(cè)代碼中的每條分支和路徑;揭示隱藏在代碼中的錯(cuò)誤;對(duì)代碼的測(cè)試比較徹底;有較多工具支持;有一定的充分性度量手段。 2)缺點(diǎn)工作量大, 成本高。通常只用于單元測(cè)試,有應(yīng)用局限;無(wú)法檢測(cè)代碼中遺漏的路徑和數(shù)據(jù)敏感性錯(cuò)誤;不能驗(yàn)證規(guī)格說(shuō)明的正確性;無(wú)法對(duì)規(guī)格說(shuō)明中未實(shí)現(xiàn)的部分進(jìn)行測(cè)試;不易生成測(cè)試數(shù)據(jù)(通常)。2.

22、4.22.4.2黑盒測(cè)試的優(yōu)缺點(diǎn)黑盒測(cè)試的優(yōu)缺點(diǎn)優(yōu)點(diǎn)對(duì)于較大的代碼單元來(lái)說(shuō),效率高;測(cè)試人員不需要了解實(shí)現(xiàn)的細(xì)節(jié),包括具體的編程語(yǔ)言;測(cè)試員和程序員可以由不同的人員來(lái)?yè)?dān)任;從用戶的角度進(jìn)行測(cè)試,容易被理解和接受;有助于暴露任何規(guī)格不一致或有歧義的問(wèn)題;測(cè)試用例的設(shè)計(jì)可以在規(guī)格說(shuō)明完成之后馬上進(jìn)行;容易入手生成測(cè)試數(shù)據(jù);1. 適用于各階段測(cè)試。缺點(diǎn)實(shí)際上,只有一小部分可能的輸入被測(cè)試到,某些代碼得不到測(cè)試;如果沒(méi)有清晰、簡(jiǎn)潔的規(guī)格說(shuō)明,難以設(shè)計(jì)測(cè)試用例;如果測(cè)試人員不知道開(kāi)發(fā)人員已經(jīng)執(zhí)行過(guò)該測(cè)試用例,會(huì)存在不必要的重復(fù)測(cè)試;會(huì)有很多程序路徑?jīng)]有被測(cè)試到;不能直接針對(duì)可能隱蔽了許多問(wèn)題的特定程序段

23、進(jìn)行測(cè)試,;如果規(guī)格說(shuō)明有誤,則無(wú)法發(fā)現(xiàn);不易進(jìn)行充分性測(cè)試。2.4.32.4.3灰盒測(cè)試灰盒測(cè)試 灰盒測(cè)試介于白盒測(cè)試和黑盒測(cè)試之間,是現(xiàn)代測(cè)試的一種理念。就是指,在白盒測(cè)試中交叉使用黑盒測(cè)試的方法;在黑盒測(cè)試中交叉使用白盒測(cè)試的方法。2.52.5測(cè)試方法的選擇測(cè)試方法的選擇 一、單元測(cè)試 測(cè)試方法:白盒測(cè)試 參考規(guī)范:詳細(xì)設(shè)計(jì)說(shuō)明和代碼結(jié)構(gòu) 二、集成測(cè)試 測(cè)試方法:黑盒和白盒測(cè)試 參考規(guī)范:詳細(xì)設(shè)計(jì)說(shuō)明和概要設(shè)計(jì)說(shuō)明 2.6 2.6測(cè)試計(jì)劃與測(cè)試文檔測(cè)試計(jì)劃與測(cè)試文檔 最常見(jiàn)的測(cè)試文檔包括測(cè)試計(jì)劃,測(cè)試規(guī)范,測(cè)試用例和測(cè)試時(shí)發(fā)現(xiàn)缺陷后要寫(xiě)的缺陷報(bào)告等。 那么,測(cè)試計(jì)劃和測(cè)試文檔在測(cè)試過(guò)程中

24、能夠發(fā)揮什么樣的作用呢? 1、測(cè)試文檔有助于測(cè)試任務(wù)的完成。 2、使用測(cè)試文檔可以更好的協(xié)調(diào)測(cè)試任務(wù)與測(cè)試過(guò)程。 3、測(cè)試文檔為測(cè)試項(xiàng)目的組織、規(guī)劃與管理提供了一個(gè)架構(gòu)。 2.6.1 2.6.1測(cè)試計(jì)劃的制定測(cè)試計(jì)劃的制定為了給讀者一個(gè)宏觀的認(rèn)識(shí),首先請(qǐng)看測(cè)試計(jì)劃活動(dòng)圖,如圖2-20所示。 在制定測(cè)試計(jì)劃過(guò)程中,核心活動(dòng)就是: 一、確定測(cè)試策略 通常,可以采用以下幾個(gè)方法來(lái)制定測(cè)試策略: 1、確定測(cè)試的范圍 2、確定測(cè)試的方法 3、確定測(cè)試標(biāo)準(zhǔn)和質(zhì)量檢查點(diǎn) 4、確定自動(dòng)化測(cè)試策略 二、確定測(cè)試系統(tǒng)(硬件和軟件) 1、測(cè)試架構(gòu) 測(cè)試架構(gòu)指的就是測(cè)試用例的組織結(jié)構(gòu)。 取得需求文檔:需求定義文檔需求

25、規(guī)格說(shuō)明文檔需求追蹤矩陣確定測(cè)試策略:測(cè)試的范圍測(cè)試方法測(cè)試入口自動(dòng)化測(cè)試策略確定測(cè)試系統(tǒng):測(cè)試架構(gòu)測(cè)試環(huán)境測(cè)試配置預(yù)估測(cè)試工作量:確定任務(wù) 按人天和工作周來(lái)預(yù)估工作量 得到時(shí)間進(jìn)度計(jì)劃和里程碑 評(píng)估進(jìn)度風(fēng)險(xiǎn)并制定風(fēng)險(xiǎn)化解計(jì)劃準(zhǔn)備并復(fù)查測(cè)試計(jì)劃:編寫(xiě)策略、系統(tǒng)、工作量和時(shí)間進(jìn)度文檔與項(xiàng)目團(tuán)隊(duì)一起復(fù)查測(cè)試計(jì)劃圖2-20 測(cè)試計(jì)劃活動(dòng) 2、測(cè)試工具 3、測(cè)試環(huán)境 測(cè)試環(huán)境的組成包括物理測(cè)試設(shè)施,產(chǎn)品運(yùn)行的操作系統(tǒng)、產(chǎn)品運(yùn)行的計(jì)算平臺(tái)等。 4、測(cè)試配置情況 需要排列配置的優(yōu)先級(jí),然后決定哪些配置需要全面測(cè)試,哪些可以進(jìn)行部分測(cè)試。 三、預(yù)估測(cè)試工作量(資源和時(shí)間進(jìn)度計(jì)劃) 對(duì)項(xiàng)目進(jìn)行預(yù)估有5個(gè)準(zhǔn)備步

26、驟: 1、確定要完成的任務(wù)。 2、確定每項(xiàng)任務(wù)所需的工作量和整個(gè)測(cè)試生命周期的工作量。 3、確定完成每項(xiàng)任務(wù)以及整個(gè)測(cè)試生命周期所需的時(shí)間。 4、為測(cè)試工作建立詳細(xì)的時(shí)間進(jìn)度計(jì)劃和里程碑表。 5、評(píng)估時(shí)間進(jìn)度風(fēng)險(xiǎn)并準(zhǔn)備緩解風(fēng)險(xiǎn)計(jì)劃。 四、準(zhǔn)備并復(fù)查測(cè)試計(jì)劃文檔。 1、測(cè)試計(jì)劃格式 2、測(cè)試計(jì)劃復(fù)查 2.6.2 2.6.2測(cè)試報(bào)告測(cè)試報(bào)告 測(cè)試報(bào)告是測(cè)試階段最后的文檔產(chǎn)出物,優(yōu)秀的測(cè)試經(jīng)理應(yīng)該具備良好的文檔編寫(xiě)能力,一 份詳細(xì)的測(cè)試報(bào)告包含足夠的信息,包括產(chǎn)品質(zhì)量和測(cè)試過(guò)程的評(píng)價(jià),測(cè)試報(bào)告基于測(cè)試中的數(shù)據(jù)采集以及對(duì)最終測(cè)試結(jié)果的分析。 2.6.3 2.6.3測(cè)試用例的編制測(cè)試用例的編制 本節(jié)我們

27、首先討論幾個(gè)和測(cè)試用例相關(guān)的幾個(gè)問(wèn)題,然后探討如何編制一個(gè)有效的測(cè)試用例。 一、為什么做測(cè)試用例 主要原因有如下幾點(diǎn):完全測(cè)試是不可能的;輸入量太大;輸出結(jié)果太多;軟件實(shí)現(xiàn)途徑太多;軟件說(shuō)明書(shū)沒(méi)有客觀標(biāo)準(zhǔn)。從不同角度看,軟件缺陷的標(biāo)準(zhǔn)不同。 二、什么是測(cè)試用例 比較通常的說(shuō)法是:為達(dá)到最佳的測(cè)試效果或高效的揭露隱藏的錯(cuò)誤而精心設(shè)計(jì)的少量測(cè)試數(shù)據(jù),稱之為測(cè)試用例。 三、使用測(cè)試用例的好處 在開(kāi)始實(shí)施測(cè)試之前設(shè)計(jì)好測(cè)試用例,可以避免盲目測(cè)試并提高測(cè)試效率。 測(cè)試用例的使用令軟件測(cè)試的實(shí)施重點(diǎn)突出、目的明確。 在軟件版本更新后只需修正少部分的測(cè)試用例便可展開(kāi)測(cè)試工作,降低工作強(qiáng)度、縮短項(xiàng)目周期。 功

28、能模塊的通用化和復(fù)用化使軟件易于開(kāi)發(fā),而 用于功能模塊測(cè)試的測(cè)試用例的通用化和復(fù)用化則會(huì)使軟件測(cè)試易于開(kāi)展,并隨著測(cè)試用例的不斷精化其效率也不斷攀升。 四、測(cè)試用例在軟件測(cè)試中的作用 指導(dǎo)測(cè)試的實(shí)施 規(guī)劃測(cè)試數(shù)據(jù)的準(zhǔn)備 評(píng)估測(cè)試結(jié)果的度量基準(zhǔn) 分析缺陷的標(biāo)準(zhǔn) 編寫(xiě)測(cè)試腳本的設(shè)計(jì)規(guī)格說(shuō)明書(shū) 五、測(cè)試用例文檔的編制 首先,在編寫(xiě)測(cè)試用例之前需要準(zhǔn)備以下幾個(gè)編寫(xiě)的依據(jù):需求說(shuō)明以及相關(guān)文檔;相關(guān)的設(shè)計(jì)說(shuō)明(概要設(shè)計(jì),詳細(xì)設(shè)計(jì)等);與開(kāi)發(fā)組交流對(duì)需求理解的記錄(可以是開(kāi)發(fā)人員的一個(gè)解釋);已經(jīng)基本成型的UI(可以有針對(duì)性地補(bǔ)充一些用例)。 其次,編寫(xiě)測(cè)試用例文檔應(yīng)有文檔模板,須符合內(nèi)部的規(guī)范要求。 最

29、后一點(diǎn)就是,測(cè)試用例文檔應(yīng)該由簡(jiǎn)介和測(cè)試用例兩部分組成。那么,下面從測(cè)試用例的設(shè)置、設(shè)計(jì)、評(píng)審、修改以及管理等幾方面來(lái)詳細(xì)討論測(cè)試用例文檔的編制問(wèn)題: 1、測(cè)試用例的設(shè)置 2、測(cè)試用例的設(shè)計(jì) 測(cè)試用例可以分為基本事件、備選事件和異常事件。軟件測(cè)試常用的設(shè)計(jì)測(cè)試用例的基本方法有:等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測(cè)法、因果圖法、邏輯覆蓋法等。視軟件的不同性質(zhì)采用不同的方法。如何靈活運(yùn)用各種基本方法來(lái)設(shè)計(jì)完整的測(cè)試用 例,并最終實(shí)現(xiàn)暴露隱藏的缺陷,則要憑測(cè)試設(shè)計(jì)人員的豐富經(jīng)驗(yàn)和精心設(shè)計(jì)。 3、測(cè)試用例的評(píng)審 4、測(cè)試用例的修改更新 5、測(cè)試用例的管理 測(cè)試管理軟件的主要功能有三個(gè): 能將測(cè)試用例文檔的關(guān)鍵內(nèi)容; 可供測(cè)試實(shí)施時(shí)及時(shí)輸入測(cè)試情況; 最終實(shí)現(xiàn)自動(dòng)生成測(cè)試結(jié)果文檔

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論