黑盒測(cè)試的五種典型方法_第1頁(yè)
黑盒測(cè)試的五種典型方法_第2頁(yè)
黑盒測(cè)試的五種典型方法_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、黑盒測(cè)試(blackboxtesting)又稱(chēng)功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試或基于規(guī)范的測(cè)試。用這種方法進(jìn)行測(cè)試時(shí),被測(cè)程序被當(dāng)作看不見(jiàn)內(nèi)部的見(jiàn)盒。在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者僅依據(jù)程序功能的需求規(guī)范考慮確定測(cè)試用例和推斷測(cè)試結(jié)果的正確性。因此黑盒測(cè)試是從用戶(hù)觀點(diǎn)出發(fā)的測(cè)試,黑盒測(cè)試直觀的想法就是既然程序被規(guī)定做某些事,那我們就看看它是不是在任何情況下都做的對(duì)。完整的“任何情況”是無(wú)法驗(yàn)證的,為此黑盒測(cè)試也有一套產(chǎn)生測(cè)試用例的方法,以產(chǎn)生有限的測(cè)試用例而覆蓋足夠多的“任何情況”。由于黑盒測(cè)試不需要了解程序內(nèi)部結(jié)構(gòu),所以許多高層的測(cè)試如確認(rèn)測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試都采用黑盒測(cè)試。黑

2、盒測(cè)試首先是程序通常的功能性測(cè)試。要求:每個(gè)隹住特性必須被一個(gè)測(cè)試用例或一個(gè)被認(rèn)可的異常所覆蓋;用數(shù)據(jù)類(lèi)型和數(shù)據(jù)值的最小集測(cè)試;用一系列真實(shí)的數(shù)據(jù)類(lèi)型和數(shù)據(jù)值運(yùn)行,測(cè)試超負(fù)荷、飽和及其他“最壞情況”的結(jié)果;用假想的數(shù)據(jù)類(lèi)型和數(shù)據(jù)值運(yùn)行,測(cè)試排斥不規(guī)則輸入的能力;對(duì)影響性能的關(guān)鍵模塊,如基本算法、應(yīng)測(cè)試單元性能(包括精度、時(shí)間、容量等)。不僅要考核“程序是否做了該做的?”還要考察“程序是否沒(méi)做不該做的2同時(shí)還要考察程序在其他一些情況下是否正常。這些情況包括數(shù)據(jù)類(lèi)型和數(shù)據(jù)值的異常等等。下述幾種方法:(a)等價(jià)類(lèi)劃分,(b)因果圖方法,(c)邊值分析法,(d)猜錯(cuò)法,(e)隨機(jī)數(shù)法,就是從更廣泛的角

3、度來(lái)進(jìn)行黑盒測(cè)試。每一個(gè)方法都力圖能涵蓋更多的“任何情況”,但又各有長(zhǎng)處,綜合使用這些方法,會(huì)得到一個(gè)較好的測(cè)試用例集。1 .等價(jià)類(lèi)劃分等價(jià)類(lèi)劃分是一種典型的黑盒測(cè)試方法。等價(jià)類(lèi)是指某個(gè)輸入域的集合。它表示對(duì)揭露程序中的錯(cuò)誤來(lái)說(shuō),集合中的每個(gè)輸入條件是等效的。因此我們只要在一個(gè)集合中選取一個(gè)測(cè)試數(shù)據(jù)即可。等價(jià)類(lèi)劃分的辦法是把程序的輸入域劃分成若干等價(jià)類(lèi),然后從每個(gè)部分中選取少數(shù)代表性數(shù)據(jù)當(dāng)作測(cè)試用例。這樣就可使用少數(shù)測(cè)試用例檢驗(yàn)程序在一大類(lèi)情況下的反映。在考慮等價(jià)類(lèi)時(shí),應(yīng)該注意區(qū)別以下兩種不同的情況:有效等價(jià)類(lèi):有效等價(jià)類(lèi)指的是對(duì)程序的規(guī)范是有意義的、合理的輸入數(shù)據(jù)所構(gòu)成的集合。在具體問(wèn)題中,

4、有效等價(jià)類(lèi)可以是一個(gè),也可以是多個(gè)。無(wú)效等價(jià)類(lèi):無(wú)效等價(jià)類(lèi)指對(duì)程序的規(guī)范是不合理的或無(wú)意義的輸入數(shù)據(jù)所構(gòu)成的集合。對(duì)于具體的問(wèn)題,無(wú)效等價(jià)類(lèi)至少應(yīng)有一個(gè),也可能有多個(gè)。確定等價(jià)類(lèi)有以下幾條原則:如果輸入條件規(guī)定了取值范圍或值的個(gè)數(shù),則可確定一個(gè)有效等價(jià)類(lèi)和兩個(gè)無(wú)效等價(jià)類(lèi)。例如,程序的規(guī)范中提到的輸入條包括”,項(xiàng)數(shù)可以從1到999,”,則可取有效等價(jià)類(lèi)為“1考項(xiàng)數(shù)999”,無(wú)效等價(jià)類(lèi)為“項(xiàng)數(shù)l,及“項(xiàng)數(shù)999”。輸入條件規(guī)定了輸入值的集合,或是規(guī)定了“必須如何”的條件,則可確定一個(gè)有效等價(jià)類(lèi)和一個(gè)無(wú)效等價(jià)類(lèi)。如某程序涉及標(biāo)識(shí)符,其輸入條件規(guī)定“標(biāo)識(shí)符應(yīng)以字母開(kāi)頭,”則“以字母開(kāi)頭者”作為有效等價(jià)

5、類(lèi),“以非字母開(kāi)頭”作為無(wú)效等價(jià)類(lèi)。如果我們確知,已劃分的等價(jià)類(lèi)中各元素在程序中的處理方式是不同的,則應(yīng)將此等價(jià)類(lèi)進(jìn)一步劃分成更小等價(jià)類(lèi)。輸入條件有效等價(jià)類(lèi)無(wú)效等價(jià)類(lèi)000000000000000000000000000000000000根據(jù)已列出的等價(jià)類(lèi)表,按以下步驟確定測(cè)試用例:為每個(gè)等價(jià)類(lèi)規(guī)定一個(gè)唯一的編號(hào);設(shè)計(jì)一個(gè)測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類(lèi)。重復(fù)這一步,最后使得所有有效等價(jià)類(lèi)均被測(cè)試用例所覆蓋;設(shè)計(jì)一個(gè)新的測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類(lèi)。重復(fù)這一步,使所有無(wú)效等價(jià)類(lèi)均被覆蓋。這里強(qiáng)調(diào)每次只覆蓋一個(gè)無(wú)效等價(jià)類(lèi)。這是因?yàn)橐粋€(gè)測(cè)試用例中如果含有多個(gè)缺陷,有可能在測(cè)試

6、中只發(fā)現(xiàn)其中的一個(gè),另一些被忽視。等價(jià)類(lèi)劃分法能夠全面、系統(tǒng)地考慮黑盒測(cè)試的測(cè)試用例設(shè)計(jì)問(wèn)題,但是沒(méi)有注意選用一些“高效的”、“有針對(duì)性的”測(cè)試用例。后面介紹的邊值分析法可以彌補(bǔ)這一缺點(diǎn)。2 .因果圖等價(jià)類(lèi)劃分法并沒(méi)有考慮到輸入情況的各種組合。這樣雖然各個(gè)輸入條件單獨(dú)可能出錯(cuò)的情況已經(jīng)看到了,但多個(gè)輸入情況組合起來(lái)可能出錯(cuò)的情況卻被忽略。采用因果圖方法能幫助我們按一定步驟選擇一組高效的測(cè)試用例,同時(shí),還能為我們指出程序規(guī)范的描述中存在什么問(wèn)題。利用因果圖導(dǎo)出測(cè)試用例需要經(jīng)過(guò)以下幾個(gè)步驟:分析程序規(guī)范的描述中哪些是原因,哪些是結(jié)果。原因常常是輸入條件或是輸入條件的等價(jià)類(lèi)。結(jié)果是輸出條件。分析程序

7、規(guī)范的描述中語(yǔ)義的內(nèi)容,并將其表示成連接各個(gè)原因與各個(gè)結(jié)果的“因果圖”。由于語(yǔ)法或環(huán)境的限制,有些原因和結(jié)果的組合情況是不可能出現(xiàn)的。為表明這些特定的情況,在因果圖上使用持殊的符號(hào)標(biāo)明約束條件。把因果圖轉(zhuǎn)換成判定表。把判定表的每一列寫(xiě)成一個(gè)測(cè)試用例。3 .邊值分析法邊值分析法是列出單元功能、輸入、狀態(tài)及控制的合法邊界值和非法邊界值,設(shè)計(jì)測(cè)試用例,包含全部邊界值的方法。典型地包括IF語(yǔ)句中的判別值,定義域、值域邊界,空或畸形輸入,末受控狀態(tài)等。邊值分析法不是一類(lèi)找一個(gè)例子的方法,而是以邊界情況的處理作為主要目標(biāo)專(zhuān)門(mén)設(shè)計(jì)測(cè)試用例的方法。另外,邊值分析不僅考查輸入的邊值,也要考慮輸出的邊值。這是從人

8、們的經(jīng)驗(yàn)得出的一種有效方法。人們發(fā)現(xiàn)許多軟件錯(cuò)誤只是在下標(biāo)、數(shù)據(jù)結(jié)構(gòu)和標(biāo)量值的邊界值及其上、下出現(xiàn),運(yùn)行這個(gè)區(qū)域的測(cè)試用例發(fā)現(xiàn)錯(cuò)誤的概率很高。用邊值分析法設(shè)計(jì)測(cè)試用例時(shí),有以下幾條原則:如果輸入條件規(guī)定了取值范圍,或是規(guī)定了值的個(gè)數(shù),則應(yīng)以該范圍的邊界內(nèi)及剛剛超出范圍的邊界外的值,或是分別對(duì)最大、最小及稍小于最小、稍大于最大個(gè)數(shù)作為測(cè)試用例。如有規(guī)范“某文件可包含l至255”個(gè)記錄,“,則測(cè)試用例可選1和255及0和256等。針對(duì)規(guī)范的每個(gè)輸出條件使用原則a。如果程序規(guī)范中提到的輸入或輸出域是個(gè)有序的集合(如順序文件、表格等)就應(yīng)注意選取有序集的第一個(gè)和最后一個(gè)元素作為測(cè)試用例。分析規(guī)范,盡可

9、能找出可能的邊界條件。一個(gè)典型的邊值分析例子是三角形分類(lèi)程序。選取a,b,c構(gòu)成三角形三邊,”任意兩邊之和大于第三邊”為邊界條件。邊值分析相等價(jià)類(lèi)劃分側(cè)重不同,對(duì)等價(jià)類(lèi)劃分是一個(gè)補(bǔ)充。如上述三角形問(wèn)題,選取a=3,b=4,c=5,a=2,b=4,c=7則覆蓋有效和無(wú)效等價(jià)類(lèi)。如果能在等價(jià)類(lèi)劃分中注入邊值分析的思想。在每個(gè)等價(jià)類(lèi)中不只選取一個(gè)覆蓋用例,而是進(jìn)而選取該等價(jià)類(lèi)的邊界值等價(jià)類(lèi)劃分法將更有效,最后可以用邊值分析法再補(bǔ)充一些測(cè)試用例。4 .猜錯(cuò)法猜錯(cuò)法在很大程度上是憑經(jīng)驗(yàn)進(jìn)行的,是憑人們對(duì)過(guò)去所作的測(cè)試工作結(jié)果的分析,對(duì)所揭示的缺陷的規(guī)律性作直覺(jué)的推測(cè)來(lái)發(fā)現(xiàn)缺陷的。一個(gè)采用兩分法的檢索程序,典型地可以列出下面幾種測(cè)試情況:被檢索的表只有一項(xiàng)或?yàn)榭毡恚槐淼捻?xiàng)數(shù)恰好是2的幕次;表的項(xiàng)數(shù)比2的幕次多1等。猜錯(cuò)法充分發(fā)揮人的經(jīng)驗(yàn),在一個(gè)測(cè)試小組中集思

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論