版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第10章黑盒測試 1第10章黑盒測試 1內(nèi)容提要10.1黑盒測試的基本概念10.2等價類劃分10.2.1劃分等價類10.2.2劃分等價類的方法10.2.3設(shè)計測試用例:10.3邊界值分析法10.3.1 邊界條件10.3.2次邊界條件10.3.3其他一些邊界條件10.3.4邊界值的選擇方法2內(nèi)容提要10.1黑盒測試的基本概念2內(nèi)容提要10.4因果圖法10.4.1因果圖設(shè)計方法10.4.2因果圖測試用例10.5功能圖法10.5.1功能圖設(shè)計方法10.5.2功能圖法生成測試用例10.6黑盒測試方法的比較與選擇10.7黑盒測試工具介紹10.7.1WinRunner介紹10.7.2 LoadRunner
2、的使用10.7.3.QuickTest Pro的使用10.9小結(jié)3內(nèi)容提要310.1黑盒測試的基本概念 黑盒測試試圖發(fā)現(xiàn)以下類型的錯誤:功能錯誤或遺漏;界面錯誤;數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤;性能錯誤;初始化和終止錯誤。410.1黑盒測試的基本概念 黑盒測試試圖發(fā)現(xiàn)以下類型的錯誤10.2等價類劃分等價類劃分法是一種黒盒測試的技術(shù),不考慮程序的內(nèi)部結(jié)構(gòu),是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例。該方法是一種重要的,常用的黑盒測試用例設(shè)計方法。用例編號乘數(shù)1乘數(shù)2乘積1111212231334145510.2等價類劃分等價
3、類劃分法是一種黒盒測試的技術(shù),不考慮10.2.1劃分等價類等價類劃分可有兩種不同的情況:有效等價類和無效等價類。有效等價類:是指對于程序的規(guī)格說明來說是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用有效等價類可檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。無效等價類:與有效等價類的定義恰巧相反,不符合需求規(guī)格說明書。610.2.1劃分等價類等價類劃分可有兩種不同的情況:有效等價10.2.2劃分等價類的方法下面給出六條確定等價類的原則。在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,則可以確立一個有效等價類和兩個無效等價類。在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可確立一個有效
4、等價類和一個無效等價類。在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類。在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個),并且程序要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類。在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個有效等價類(符合規(guī)則)和若干個無效等價類(從不同角度違反規(guī)則)。在確知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價類進(jìn)一步的劃分為更小的等價類。710.2.2劃分等價類的方法下面給出六條確定等價類的原則。7等價類表示例 輸入條件有效等價類無效等價類輸入條件有效等價類無效等價類1001.無效等效類2.有效等效類3.
5、無效等效類8等價類表示例 輸入條件有效等價類無效等價類輸入條件有效等價類10.2.3設(shè)計測試用例 先根據(jù)輸入條件確定有效等價類和無效等價類,然后從劃分出的等價類中按以下三個原則設(shè)計測試用例。每一個等價類規(guī)定一個唯一的編號。設(shè)計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重復(fù)這一步。直到所有的有效等價類都被覆蓋為止。設(shè)計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復(fù)這一步,直到所有的無效等價類都被覆蓋為止。用例編號所屬等價類乘數(shù)1乘數(shù)2乘積123206021-102提示“請輸入1100之間的整數(shù)”332003提示“請輸入1100之間的整數(shù)”910.2.3設(shè)計測試用例
6、 先根據(jù)輸入條件確定有效等價類和無效三角形(等價類劃分) 輸入條件有效等價類無效等價類是否三角形的3條邊(A0), (1)(B0), (2)(C0), (3)(A+BC), (4)(B+CA), (5)(A+CB) (6)(A0), (7)(B0), (8)(C0), (9)(A+BC), (10)(B+CA), (11)(A+CB) (12)是否等腰三角形(A=B), (13)(B=C), (14)(C=A), (15)(AB)and(BC)and(CA),(16)是否等邊三角形(A=B)and(B=C)and(C=A),(17)(AB), (18)(BC), (19)(CA), (20)1
7、0三角形(等價類劃分) 輸入條件有效等價類無效等價類是否三角形三角形測試用例(等價類劃分) 用例編號【A,B,C】覆蓋等價類輸出1【3,4,5】(1),(2),(3),(4),(5),(6)一般三角形2【0,1,2】(7)不能構(gòu)成三角形3【1,0,2】(8)4【1,2,0】(9)5【1,2,3】(10)6【1,3,2】(11)7【3,1,2】(12)8【3,3,4】(1),(2),(3),(4),(5),(6),(13)等腰三角形9【3,4,4】(1),(2),(3),(4),(5),(6),(14)10【3,4,3】(1),(2),(3),(4),(5),(6),(15)11【3,4,5】(
8、1),(2),(3),(4),(5),(6),(16)非等腰三角形12【3,3,3】(1),(2),(3),(4),(5),(6),(17)是等邊三角形13【3,4,4】(1),(2),(3),(4),(5),(6),(14),(18)非等邊三角形14【3,4,3】(1),(2),(3),(4),(5),(6),(15),(19)15【3,3,4】(1),(2),(3),(4),(5),(6),(13),(20)11三角形測試用例(等價類劃分) 用例編號【A,B,C】覆蓋10.3邊界值分析法10.3.1 邊界條件我們可以想象一下,如果在懸崖峭壁邊可以自信地安全行走,平地就不在話下了。如果軟件在
9、能力達(dá)到極限時能夠運(yùn)行,那么在正常情況下一般也就不會有什么問題。邊界條件是特殊情況,因?yàn)榫幊虖母旧险f不懷疑邊界有問題。奇怪的是,程序在處理大量中間數(shù)值時都是對的,但是可能在邊界處出現(xiàn)錯誤。1210.3邊界值分析法10.3.1 邊界條件1210.3.2次邊界條件字符ASCII值字符ASCII值字符ASCII值字符ASCII值Null0B66250a97Space32Y89957b98/47Z90:58y1210489164z12214996A651231310.3.2次邊界條件字符ASCII值字符ASCII值字符10.3.3其他一些邊界條件另一種看起來很明顯的軟件缺陷來源是當(dāng)軟件要求輸入時(比
10、如在文本框中),不是沒有輸入正確的信息,而是根本沒有輸入任何內(nèi)容,只按了Enter鍵。這種情況在產(chǎn)品說明書中常常被忽視,程序員也可能經(jīng)常遺忘,但是在實(shí)際使用中卻時有發(fā)生。程序員總會習(xí)慣性地認(rèn)為用戶要么輸入信息,不管是看起來合法的或非法的信息,要么就會選擇Cancel鍵放棄輸入,如果沒有對空值進(jìn)行好的處理的話,恐怕程序員自己都不知道程序會引向何方。正確的軟件通常應(yīng)該將輸入內(nèi)容默認(rèn)為合法邊界內(nèi)的最小值,或者合法區(qū)間內(nèi)的某個合理值,否則,返回錯誤提示信息。因?yàn)檫@些值通常在軟件中進(jìn)行特殊處理,所以不要把它們與合法情況和非法情況混在一起,而要建立單獨(dú)的等價區(qū)間。1410.3.3其他一些邊界條件另一種看起
11、來很明顯的軟件缺陷來10.3.4邊界值的選擇方法對邊界值設(shè)計測試用例,應(yīng)遵循以下幾條原則:如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù)。如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù)、最小個數(shù)、比最小個數(shù)少1、比最大個數(shù)多1的數(shù)作為測試數(shù)據(jù)。根據(jù)規(guī)格說明的每個輸出條件,使用前面的原則。根據(jù)規(guī)格說明的每個輸出條件,應(yīng)用前面的原則。如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個元素和最后一個元素作為測試用例。如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)邊界上的值作為測試用例。分析規(guī)格說明,找出其他可能的邊
12、界條件。1510.3.4邊界值的選擇方法對邊界值設(shè)計測試用例,應(yīng)遵循以10.4因果圖法10.4.1因果圖設(shè)計方法利用因果圖導(dǎo)出測試用例需要經(jīng)過以下幾個步驟:分析程序規(guī)格說明的描述中,哪些是原因,哪些是結(jié)果。原因常常是輸入條件或是輸入條件的等價類,而結(jié)果是輸出條件。分析程序規(guī)格說明的描述中語義的內(nèi)容,并將其表示成連接各個原因與各個結(jié)果的“因果圖”。標(biāo)明約束條件。由于語法或環(huán)境的限制,有些原因和結(jié)果的組合情況是不可能出現(xiàn)的。為表明這些特定的情況,在因果圖上使用若干個標(biāo)準(zhǔn)的符號標(biāo)明約束條件。把因果圖轉(zhuǎn)換成判定表。為判定表中每一列表示的情況設(shè)計測試用例。1610.4因果圖法10.4.1因果圖設(shè)計方法1
13、6因果圖的基本圖形符號 恒等:若原因出現(xiàn),則結(jié)果出現(xiàn);若原因不出現(xiàn),則結(jié)果也不出現(xiàn)。 非():若原因出現(xiàn),則結(jié)果不出現(xiàn);若原因不出現(xiàn),則結(jié)果出現(xiàn)。 或():若幾個原因中有1個出現(xiàn),則結(jié)果出現(xiàn);若幾個原因都不出現(xiàn),則結(jié)果不出現(xiàn)。 與():若幾個原因都出現(xiàn),結(jié)果才出現(xiàn)。若其中有1個原因不出現(xiàn),則結(jié)果不出現(xiàn)。17因果圖的基本圖形符號 恒等:若原因出現(xiàn),則結(jié)果出現(xiàn);若原因果圖的約束符號 E(互斥):表示a、b兩個原因不會同時成立,兩個中最多有一個可能成立。I(包含):表示a、b、c這3個原因中至少有一個必須成立。O(惟一):表示a和b當(dāng)中必須有一個,且僅有一個成立。R(要求):表示當(dāng)a出現(xiàn)時,b必須也
14、出現(xiàn)。a出現(xiàn)時不可能b不出現(xiàn)。M(屏蔽):表示當(dāng)a是1時,b必須是0。而當(dāng)a為0時,b的值不定。18因果圖的約束符號 E(互斥):表示a、b兩個原因不會同時成立10.4.2因果圖測試用例原因c1:投入1元5角硬幣;c2:投入2元硬幣;c3:按“可樂”按鈕;c4:按“雪碧”按鈕;c5:按“紅茶”按鈕中間狀態(tài)11:已投幣12:已按鈕結(jié)果a1:退還5角硬幣;a2:送出“可樂”飲料;a3:送出“雪碧”飲料;a4:送出“紅茶”飲料1910.4.2因果圖測試用例原因c1:投入1元5角硬幣;中間因果圖 20因果圖 20決策表 1234567891011輸入投入1元5角硬幣11110000000投入2元硬幣0
15、0001111000按“可樂”按鈕10001000100按“雪碧”按鈕01000100010按“紅茶”按鈕00100010001中間結(jié)點(diǎn)已投幣11111111000已按鈕11101110111輸出退還5角硬幣00001110000送出“可樂”飲料10001000000送出“雪碧”飲料01000100000送出“紅茶”飲料0010001000021決策表 1234567891011輸投入1元5角硬幣1111乘法器測試用例(等價類劃分) 用例編號測試用例 預(yù)期輸出 1投入1元5角,按“可樂” 送出“可樂”飲料 2投入1元5角,按“雪碧” 送出“雪碧”飲料 3投入1元5角,按“紅茶” 送出“紅茶”飲
16、料 4投入2元,按“可樂”找5角,送出“可樂” 5投入2元,按“雪碧”找5角,送出“雪碧” 6投入2元,按“紅茶”找5角,送出“紅茶” 22乘法器測試用例(等價類劃分) 用例編號測試用例 預(yù)期輸出 110.5功能圖法一個程序的功能說明通常由動態(tài)說明和靜態(tài)說明組成。動態(tài)說明描述了輸入數(shù)據(jù)的次序或轉(zhuǎn)移的次序。靜態(tài)說明描述了輸入條件與輸出條件之間的對應(yīng)關(guān)系。對于較復(fù)雜的程序,由于存在大量的組合情況,因此,僅用靜態(tài)說明組成的規(guī)格說明對于測試來說往往是不夠的,必須用動態(tài)說明來補(bǔ)充功能說明。2310.5功能圖法一個程序的功能說明通常由動態(tài)說明和靜態(tài)說明組10.5.1功能圖設(shè)計方法功能圖方法是用功能圖形象地
17、表示程序的功能說明,并機(jī)械地生成功能圖的測試用例。功能圖模型由狀態(tài)遷移圖和邏輯功能模型構(gòu)成。狀態(tài)遷移圖用于表示輸入數(shù)據(jù)序列以及相應(yīng)的輸出數(shù)據(jù)。在狀態(tài)遷移圖中,由輸入數(shù)據(jù)和當(dāng)前狀態(tài)決定輸出數(shù)據(jù)和后續(xù)狀態(tài)。邏輯功能模型用于表示在狀態(tài)中輸入條件和輸出條件之間的對應(yīng)關(guān)系。邏輯功能模型只適合于描述靜態(tài)說明,輸出數(shù)據(jù)僅由輸入數(shù)據(jù)決定。測試用例則是由測試中經(jīng)過的一系列狀態(tài)和在每個狀態(tài)中必須依靠輸入/輸出數(shù)據(jù)滿足的一對條件組成。功能圖方法實(shí)際上是一種黑盒、白盒混合用例設(shè)計方法。2410.5.1功能圖設(shè)計方法功能圖方法是用功能圖形象地表示程功能圖 25功能圖 25判定表 輸 入口令記錄YNN錯輸入3次NYN輸
18、出M2M3M4消去卡狀 態(tài)S1S2S326判定表 輸 入口令記錄YNN錯輸入3次NYN輸 出M10.5.2功能圖法生成測試用例從功能圖生成測試用例的過程如下。生成局部測試用例:在每個狀態(tài)中,從因果圖生成局部測試用例。局部測試庫由原因值(輸入數(shù)據(jù))組合與對應(yīng)的結(jié)果值(輸出數(shù)據(jù)或狀態(tài))構(gòu)成。測試路徑生成:利用上面的規(guī)則生成從初始狀態(tài)到最后狀態(tài)的測試路徑。測試用例合成:合成測試路徑與功能圖中每個狀態(tài)的局部測試用例。結(jié)果是視狀態(tài)到最后狀態(tài)的一個狀態(tài)序列,以及每個狀態(tài)中輸入數(shù)據(jù)與對應(yīng)輸出數(shù)據(jù)組合。測試用例的合成算法:采用條件構(gòu)造樹。2710.5.2功能圖法生成測試用例從功能圖生成測試用例的過程10.6黑盒測試方法的比較與選擇以下是各種測試方法選擇的綜合策略,可供讀者在實(shí)際應(yīng)用過程中參考。首先進(jìn)行等價類劃分,包括輸入條件和輸出條件的等價劃分,將無限測試變成有限測試,這是減少工作量和提高測試效率最有效的方法。在任何情況下都必須使用邊界值分析方法。經(jīng)驗(yàn)表明,用這種方法設(shè)計出的測試用例發(fā)現(xiàn)程序錯誤的能力最強(qiáng)??梢杂缅e誤推測法追加一些測試用例,這需要依靠測試工程師的智慧和經(jīng)驗(yàn)。對照程序邏輯,檢查已設(shè)計出的測試用例的邏輯覆蓋程度。如果沒有
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職(服裝制作與生產(chǎn)管理)服裝生產(chǎn)流程試題及答案
- 2025年中職(財經(jīng)法規(guī)實(shí)訓(xùn)綜合)強(qiáng)化提升階段測試試題及答案
- 2025年大學(xué)大一(物聯(lián)網(wǎng)工程)物聯(lián)網(wǎng)系統(tǒng)集成試題及答案
- 2025 小學(xué)四年級思想品德下冊情緒調(diào)節(jié)情景模擬課課件
- 【歷史】偉大的歷史轉(zhuǎn)折課件 2025-2026學(xué)年統(tǒng)編版八年級歷史下冊
- 教務(wù)專員培訓(xùn)
- 摩登紅人介紹
- 2025 小學(xué)四年級思想品德下冊公共場合輕聲細(xì)語行動課件
- 養(yǎng)老院老人康復(fù)設(shè)施維修人員福利待遇制度
- 信息技術(shù)安全規(guī)范制度
- GB/T 6003.2-2024試驗(yàn)篩技術(shù)要求和檢驗(yàn)第2部分:金屬穿孔板試驗(yàn)篩
- 離婚協(xié)議標(biāo)準(zhǔn)版(有兩小孩)
- 浙江省臺州市路橋區(qū)2023-2024學(xué)年七年級上學(xué)期1月期末考試語文試題(含答案)
- 假體隆胸后查房課件
- 2023年互聯(lián)網(wǎng)新興設(shè)計人才白皮書
- DB52-T 785-2023 長順綠殼蛋雞
- c語言知識點(diǎn)思維導(dǎo)圖
- 關(guān)于地方儲備糧輪換業(yè)務(wù)會計核算處理辦法的探討
- GB/T 29319-2012光伏發(fā)電系統(tǒng)接入配電網(wǎng)技術(shù)規(guī)定
- GB/T 1773-2008片狀銀粉
- GB/T 12007.4-1989環(huán)氧樹脂粘度測定方法
評論
0/150
提交評論