測試用例設計詳解課件_第1頁
測試用例設計詳解課件_第2頁
測試用例設計詳解課件_第3頁
測試用例設計詳解課件_第4頁
測試用例設計詳解課件_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 軟件測試2022年8月1日第3章:測試用例設計學習目標:了解測試用例的內(nèi)容和作用了解白盒測試用例方法掌握等價類劃分、邊界值分析了解因果圖和判定表法熟悉場景法 掌握測試用例的編寫什么是測試用例?測試用例(Test Case)是為特定目標開發(fā)的測試輸入、執(zhí)行條件和預期結(jié)果的集合。需要在開發(fā)的早期準備測試用例。測試用例的完成并非一勞永逸,因為測試用例是來源于測試需求,而測試需求的來源包括了軟件需求、系統(tǒng)設計、詳細設計,甚至包括了軟件發(fā)布后,在軟件產(chǎn)品生命周期結(jié)束前發(fā)現(xiàn)的所有軟件錯誤。3.2 開發(fā)測試用例確定測試用例之所以很重要,原因有以下幾方面。 1、測試用例構(gòu)成了設計和制定測試過程的基礎(chǔ)。2、測

2、試的“深度”與測試用例的數(shù)量成比例。由于每個測試用例反映不同的場景、條件或經(jīng)由產(chǎn)品的事件流,因而,隨著測試用例數(shù)量的增加,您對產(chǎn)品質(zhì)量和測試流程也就越有信心。3、判斷測試是否完全的一個主要評測方法是基于需求的覆蓋,而這又是以確定、實施和/或執(zhí)行的測試用例的數(shù)量為依據(jù)的。類似下面這樣的說明:“95%的關(guān)鍵測試用例已得以執(zhí)行和驗證”,遠比“我們已完成 95%的測試”更有意義。4、測試工作量與測試用例的數(shù)量成比例。根據(jù)全面且細化的測試用例,可以更準確地估計測試周期各連續(xù)階段的時間安排。5、測試設計和開發(fā)的類型以及所需的資源主要都受控于測試用例。6、測試用例通常根據(jù)它們所關(guān)聯(lián)關(guān)系的測試類型或測試需求來

3、分類,而且將隨類型和需求進行相應地改變。什么是好的測試用例?容易發(fā)現(xiàn)軟件錯誤可重復性清晰定義測試通過/失敗標準沒有冗余。3.2 開發(fā)測試用例用例覆蓋程度 毫無疑問,這一點應該是最重要的,無需多說,覆蓋率最大化是一套測試用例的最重要評價標準,如果漏測就杯具了。用例是否已經(jīng)達到工作量最小化 在滿足用例覆蓋程度最大化的前提下,應該盡量減小執(zhí)行用例所需要的工作量。這些方面的方法有不少,如條件覆蓋,分支覆蓋等方法。面對不同的測試對象,也有不同的方法來保證:對于網(wǎng)頁背后的php邏輯,可以通過在網(wǎng)頁上測試后,用一些工具比如xdebug來統(tǒng)計代碼覆蓋率;對于向外提供接口的server,采用的方式就是分析在外面

4、暴露的接口設計用例,大致的通過接口參數(shù)來估計一下分支判斷的情況。用例的分類以及描述是否足夠清晰 用例的分類,在這里是指相同類型的用例是否放在一起了。例如:接口類的用例,參數(shù)的取值范圍是1-3,但是現(xiàn)在卻傳入4;數(shù)據(jù)類用例,狀態(tài)機現(xiàn)在位于狀態(tài)2,卻要求狀態(tài)跳轉(zhuǎn)到無法到達的4;邏輯類用例,正常功能的產(chǎn)出等。將相同類型的用例放在一起,有助于理清思路,清楚了解用例設計是否完備。 用例的描述,是指描述的清晰程度是否能夠形成文檔。例如上面參數(shù)取值范圍的例子,用例這樣寫:“傳入錯誤的值”或者“傳入非1-3的值”,明顯沒有寫成“傳入值4”有效。用例是否表明了測試目的 寫明用例的測試目的,對文檔的易于理解性和工

5、作交接的好處不言而喻,現(xiàn)代軟件工程不可能只有一個人在做事情,項目于人員的變動也是難免的。在過程中留下足夠的信息,可以在后續(xù)工作提高很多效率。 測試用例需要很詳細嗎?如果對產(chǎn)品不熟悉的人來執(zhí)行系統(tǒng)測試,測試用例中測試過程應該寫得較為詳細,以確保測試步驟能正確執(zhí)行。如果測試人員對產(chǎn)品有較多的了解,測試用例中測試過程就不必寫得太詳細。測試用例的作用指導測試的實施。測試用例主要在實施測試時作為測試的標準,測試人員按照測試用例嚴格執(zhí)行用例和測試步驟,逐一實施測試。作為編寫測試腳本的“設計規(guī)格說明書”。有利于編寫自動測試的腳本。評估測試結(jié)果的度量基準。分析缺陷的標準。如何確定測試用例中預期結(jié)果項目專家或其

6、他方面的專家(主要的程序員、設計者、項目經(jīng)理等)將知道如何確定輸出結(jié)果。用戶文檔可以包含一些用戶場景范例。需求文檔也可以提供必要的信息。其他相關(guān)文檔也可以提供相關(guān)線索。最終用戶也許能夠描述所期望的響應結(jié)果。談談如何寫好測試用例在測試的過程中,打交道最多的是測試用例,從需求開始到方案,到形成用例,執(zhí)行過程中與實際的出入,測試完成后用例的修改,維護等,沒有一個過程可以說不需要測試用例之說。如何寫“好”測試用例。讓人看了一目了然,就看有新人拿到這個用例,能對程序有一點點基本的了解,就可以按照用例完完整整的執(zhí)行下去。需要關(guān)注以下幾點:1、對功能的理解。這個是最重要的,也是能反映出每個人對同一功能描述而

7、有不同的理解方式,故一定要深刻理解功能。2、編寫用例永遠要考慮兩面性。事物都是兩面的,只有一面的事物那是“怪物”,所以在編寫測試用例時先要心中有數(shù)。3、確定測試用例的目的。如果不了解為何要寫這個用例,那你達到的目的就是按需求或者按任務來完成而已,這樣的用例是否適用還有待于商榷;只有了解這個功能的來源,為什么要做這樣的功能,希望最后的結(jié)果是什么,這些通通考慮清楚了,就不會為了完成任務而去編寫出“普通”的測試用例,而是一份優(yōu)秀合格的測試用例,這樣會大大提高工作效率及審核打回的次數(shù)。4、測試用例所包含的內(nèi)容:最基本最簡單的測試用例應該包含四項內(nèi)容,即描述、預置條件、操作步驟、預期結(jié)果。一般為更好的管

8、理及維護測試用例,我們會增加測試用例的編號及功能。1)測試用例的描述項,一般人在寫的時候根本不去關(guān)心這到底有何用,有的甚至為空,更有甚者把需求中的幾個字直接復制過來,不管是否通順與否都放在那里認為就可以了,預置條件可以說是一個總結(jié)語,即你要明白這個用例是要驗證什么的,因為一個功能有很多用例,你不可能每個描述都是一樣的,那這樣還不如不要描述。2)預置條件項,任何一個事務都有起源,有始有終才是一個完整的過程,預置條件也可以說是一個基礎(chǔ),基礎(chǔ)打好了,一切才能順利動工。預置條件是為操作步驟服務的,當然有些可能說不需要預置條件,其實任何用例都是有預置條件的,我們說沒有預置條件只是隱藏了本身的特點而已。簡

9、單來說,發(fā)送一條命令測試用例,前期不需要預置條件,但其隱藏的就是有號,且通信正常,還要有MONEY用來發(fā)送短信;但實際中我們并不需要寫這些預置條件,因為是這是本身特點決定的。3)操作步驟是非常重要的一環(huán),與預期結(jié)果是等同的地位。測試用例設計是否高效,由預置條件及操作步驟決定,在操作步驟中,按正常步驟來測試,好像都不會出問題,但真正出問題的就是你想不到的,不是按常規(guī)則出牌的才會發(fā)現(xiàn)真正有價值的缺陷,所以在設計測試用例時,不要嫌麻煩,認為那一項就好了,別的都應該能檢測到,認為寫某一項是不必要的,多余的,其實這些想法是錯誤的,問題就往往出現(xiàn)在你認為這無關(guān)功能上。設計操作步驟還依賴于測試經(jīng)驗是否豐富,

10、有些經(jīng)驗豐富的人員設計的測試用例往往會出乎意料,也是在測試階段最容易發(fā)現(xiàn)問題的用例。比如很簡單的一個編輯功能,要求其內(nèi)容不能重復,一般人在寫用例的時候都在編輯中去修改成別的名字,而有經(jīng)驗的測試人員會直接編輯一下而不改變內(nèi)容,一般的程序員是不會考慮到此問題的,如果說出現(xiàn)提示錯誤一般都是程序邏輯問題。4)預期結(jié)果,此項是驗證所寫用例是結(jié)果如何,所以如果沒有預期結(jié)果,在測試時則無任何可參照的,預期結(jié)果與操作步驟的關(guān)系相當大,一般來說,不同的操作步驟能生成不同的預期結(jié)果,因此在測試測試用例的時候,盡可能的考慮不同的操作步驟,是否會產(chǎn)生同一個結(jié)果,有時在設定測試用例的時候,根據(jù)結(jié)果來推斷操作步驟,這也應

11、該是設計用例時的一種參照方法。在測試時,預期結(jié)果直接導致著測試是否通過。測試用例文檔由簡介和測試用例兩部分組成。簡介部分描述了測試目的、測試范圍、定義術(shù)語、參考文檔、概述等。測試用例部分逐一列示各測試用例。 測試用例的基本元素:測試索引,測試環(huán)境,測試輸入,測試操作,預期結(jié)果,評價標準。測試索引包括用例編號、用例名稱等信息。測試環(huán)境說明執(zhí)行該測試用例的軟硬件及數(shù)據(jù)環(huán)境。3.2.5 測試用例內(nèi)容測試用例示例一 說明 測試用例ID: TC-001 軟件版本: 子系統(tǒng): 用戶名字段測試 操作系統(tǒng): 測試人員姓名: 測試日期: 初始設置 1打開注冊會話框 2在用戶名字段放入字符“王” 3確保所有其他輸

12、入字段為空輸入 1將光標置于用戶名字段 2輸入字符“帥”預期結(jié)果 用戶名字段出現(xiàn)字符“王帥”實際結(jié)果 通過 失敗測試用例示例二說明 測試用例ID: TC-002 子系統(tǒng): 彩色版本 被測系統(tǒng) 開發(fā)版本: 02.13 操作系統(tǒng)版本: windows 2000 硬件平臺: PC Pentium 初始設置: 將圖像系統(tǒng)配置為處理256X1024的圖像輸入 1加載并顯示圖像Flip1024.bmp 2輸入命令 3預期結(jié)果 1屏幕顯示圖像Flip1024.bmp 2實際結(jié)果測試記錄 測試日期: 結(jié)果: 通過 失敗 測試人員姓名: 問題報告號: 測試機器: 測試用例示例三不同組織會定義自己內(nèi)部的測試用例格

13、式。測試用例ID: TC-003測試用例作者: Henry測試位置(路徑):TestServer:CTestProjectTestSuit.最后版本日期: mm/dd/yy需求編號: SC001測試配置號: ST02測試用例依賴: 運行該測試前需要先運行測試用例TC-001測試目標: 驗證系統(tǒng)能進行有效的用戶注冊,對無效的用戶注冊給出錯誤提示。 測試過程測試設置 None N/A詳細步驟 期望結(jié)果 通過()1在主菜單中點擊“注冊” 界面上顯示用戶注冊窗口 2在用戶名字段輸入 3 測試清除 None N/A 測試結(jié)果測試人:XuFang 測試日期:mm/dd/yy 測試結(jié)果(P/F/B):F沒有

14、將測試數(shù)據(jù)和測試邏輯分開的測試用例可能顯得非常龐大,不利于測試人員理解。將測試用例參數(shù)化,可以簡化用例,使測試用例邏輯清晰,數(shù)據(jù)與邏輯的關(guān)系明了,易于理解;有利于提高測試用例的復用性。測試用例中數(shù)據(jù)需要和過程分離嗎 ?白盒測試作為結(jié)構(gòu)測試方法,是按照程序內(nèi)部的結(jié)構(gòu)測試程序,對軟件的過程性細節(jié)做細致的檢查,測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設計或選擇測試用例。 3.2 白盒測試用例設計測試如下程序該如何選擇測試數(shù)據(jù)?Procedure(VAR A,B,X:REAL);BEGIN IF (A1) AND (B=0) THEN Y:=X/A ; IF (A=2) OR (X1) THEN Z

15、:=X+1END;程序邏輯結(jié)構(gòu)Procedure(VAR A,B,X:REAL); BEGIN IF(A1) AND (B=0) THEN X:=X/A ; IF (A=2) OR (X1) THEN X:=X+1 END;A1ANDB=0X:=X/AA=2OR X1X:=X+1YNYN白盒測試用例設計方法白盒法又稱為邏輯覆蓋法,其測試用例選擇,是按照不同覆蓋標準確定的。語句覆蓋判定覆蓋條件覆蓋條件組合覆蓋弱強判定條件覆蓋路徑覆蓋1、語句覆蓋: 選擇足夠的測試用例,使得程序中每個語句至少都能被執(zhí)行一次。2、判定覆蓋: 執(zhí)行足夠的測試用例,使得程序中每個判定至少都獲得一次“真”值和“假”值。3、

16、條件覆蓋:執(zhí)行足夠的測試用例,使得判定中的每個條件獲得各種可能的結(jié)果。白盒法常用的覆蓋標準4、判定/條件覆蓋: 執(zhí)行足夠的測試用例,使得判定中每個條件取到各種可能的值,并使每個判定取到各種可能的結(jié)果。5、條件組合覆蓋: 執(zhí)行足夠的例子,使得每個判定中條件的各種可能組合都至少出現(xiàn)一次。 6、路徑覆蓋: 執(zhí)行足夠的例子,覆蓋程序中所有可能的路徑。白盒法常用的覆蓋標準語句覆蓋:使得程序中每個語句至少都能被執(zhí)行一次A1ANDB=0Y:=X/AA=2OR X1Z:=X+1abcde應執(zhí)行路徑:ace選擇用例:(2,0,4),(2,0,3) 用例格式:輸入(A,B,X),輸出(A,B,X)YNYN判定覆蓋

17、:使得程序中每個判定至少為TRUE或FALSE各一次A1ANDB=0Y:=X/AA=2OR X1Z:=X+1abcde應執(zhí)行路徑:ace abd或: acd abe選擇用例(其一): (2,0,4),(2,0,3) ace (1,1,1),(1,1,1) abd (2,1,1),(2,1,2) abe (3,0,3),(3,1,1) acdYYNNA1ANDB=0Y:=X/AA=2OR X1Z:=X+1abcde條件覆蓋:使得每個判定判定中的每個條件獲得各種可能的結(jié)果應滿足以下情況:判定一: A1, A1, B=0, B0判定二: A=2, A2, X1, X1選擇用例: (2,0,4) (1

18、,1,1) NNYY2A1A20B=04X11A1A=21B01X1注意:(1,0,3)(2,1,1)思考:該測試數(shù)據(jù)能完成測試前面的一、二?判定/條件覆蓋:使得判定中的每個判定至少為TRUE或FALSE各一次并且每個條件獲得各種可能的結(jié)果A1ANDB=0Y:=X/AA=2OR X1Z:=X+1abcde應滿足以下情況: 條件: A1, A1, B=0, B0 A=2, A2, X1, X1 應執(zhí)行路徑ace abd或: acd abe選擇用例: (2,0,4),(2,0,3)(ace) (1,1,1),(1,1,1) (abd)YYNN條件組合覆蓋:使得每個判定中條件的各種可能組合都至少出現(xiàn)

19、一次A1Y:=X/AA=2Z:=X+1abcdeB=0X1YNYNYNYN滿足以下情況: A1, B =0 A1, B0 A1, B =0 A1, B0 A=2, X1 A=2, X1 A2, X1 A2, X1選擇用例:(2,0,4),(2,0,3) (2,1,1),(2,1,2) (1,0,3),(1,0,4) (1,1,1),(1,1,1) 路徑覆蓋:執(zhí)行過程序中所有可能的路徑A1ANDB=0Y:=X/AA=2OR X1Z:=X+1abcdeYYNNA B X執(zhí)行路徑2 0 31 0 12 1 13 0 1a c e a b da b e a c d白盒法步驟:1)選擇邏輯覆蓋標準。2)

20、按照覆蓋標準列出所有情況。3)選擇確定測試用例。4)驗證分析運行結(jié)果與預期結(jié)果。白盒測試和單元測試單元測試是測試的一個階段,白盒測試時測試用例設計的一種方法。在單元測試中經(jīng)常采用白盒測試方法。單元測試過程中,測試者需要模擬被測單元與其他模塊間的管理,因此需要設置一些輔助的測試模塊。輔助測試模塊分為兩種:一種是驅(qū)動模塊(Driver),另一種是樁模塊(Stub)。黑盒測試不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性設計測試用例。黑盒測試方法主要等價類劃分邊值分析因果圖判定表法場景法錯誤推測3.2.7 黑盒測試用例設計保險費率計算程序功能 該程序計算保險費,計算方式為投保額保險率 ,

21、保險率又依點數(shù)不同而有別 ,10 點以上費率為0.6 % ,10點以下費率為 0.1% 測試如下程序該如何選擇測試數(shù)據(jù)?保費計算點數(shù)規(guī)則如下:年齡:一或兩位數(shù)字。性別:以英文Male、 Female、 M、 F表示?;橐觯?已婚、 未婚。撫養(yǎng)人數(shù):空白或一位數(shù)字。程序輸入數(shù)據(jù)要求:1 等價分類法等價類:指某個輸入域的子集合,在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的?;舅枷耄焊鶕?jù)程序的I/O特性,將程序的定義域劃分為有限個等價區(qū)段 “等價類”,從等價類中選擇出的用例,具有“代表性”。等價類分為: 有效等價類 對于程序的規(guī)格說明是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。 無效等價類

22、對于程序的規(guī)格說明,是不合理的,是沒有意義的輸入數(shù)據(jù)構(gòu)成的集合。等價分類法步驟 應按照輸入條件(如輸入值的范圍,值的個數(shù),值的集合,輸入條件必須如何)劃分為有效等價類和無效等價類。例如:每個學生可選修1-3門課程 可以劃分一個有效等價類:選修1-3門課程。 可以劃分兩個無效等價類:未選修課,選修課超過3門。又如:標識符的第一個字符必須是字母。 可以劃分為一個有效等價類:第一個字符是字母。 可以劃分一個無效等價類:第一個字符不是字母。 劃分“等價類” 顯然,關(guān)鍵是如何劃分等價類等價分類法步驟等價分類法步驟A、為每個等價類編號;B、使一個測試用例盡可能覆蓋多個有效等價類C、特別要注意的是:一個測試

23、用例只能覆蓋一個無效等價類。 選擇測試用例等價分類法步驟保險費率計算程序根據(jù)輸入數(shù)據(jù)值域劃分等價類保險費率計算程序根據(jù)輸入數(shù)據(jù)值域劃分等價類(續(xù))繼續(xù)分析細分有效等價類和無效等價類 有效等價類無效等價類無效等價類年齡2039任選一個(1)年齡4059任選一個(2)年齡60歲以上(3);20歲以下任選一個(4)大于60(5);小于20任選一個(6)大于99選一個(7)性別英文Male(8);M(9)任選一個非英文字,如“男”(10)非Male、M、Female、F任意英文字,如“Child”(11)性別英文Female(12);F任選一個(13)婚姻已婚(14)非“已婚”或“未婚”之任意字符。如

24、“離婚”(15)繼續(xù)分析細分有效等價類和無效等價類 有效等價類無效等價類無效等價類婚姻未婚(16)撫養(yǎng)人數(shù)空白(17)撫養(yǎng)人數(shù)16(18)小于1選一個(19)撫養(yǎng)人數(shù)79(20)大于9選一個(21)保險費率10點以上(0.6%)(22)保險費率10點以下(0.1%)(23)根據(jù)等價類選擇測試用例目標:覆蓋所有等價類用例編號年齡性別婚姻撫養(yǎng)人數(shù)保險費率覆蓋等價類127Female未婚空白0.6%(1)、(11)、(15)、(16)、(21)250Male已婚20.6%(2)、(7)、(13)、(17)、(21)370F未婚70.1%(3)、(12)、(15)、(19)、(22)415M未婚空白0

25、.6%(4)、(8)、(15)、(16)、(21)50M已婚4無法推算(5)6100Female未婚5無法推算(6)用例編號年齡性別婚姻撫養(yǎng)人數(shù)保險費率覆蓋等價類71男已婚6無法推算(9)899Child未婚1無法推算(10)930Male離婚3無法推算(14)1075Female未婚0無法推算(18)1117Male已婚10無法推算(20)2 邊值分析法 基本思想:選擇等價類的邊緣值作為測試用例,讓每個等價類的邊界都得到測試,選擇測試用例既考慮輸入亦考慮輸出。采用邊界值分析測試的基本思想是:故障往往出現(xiàn)在輸入變量的邊界值附近。 因此,邊界值分析法利用輸入變量的最小值(min)、略大于最小值(

26、min+)、輸入值域內(nèi)的任意值(nom)、略小于最大值(max-)和最大值(max)來設計測試用例。 分析步驟: A、先劃分等價類。 B、選擇測試用例,測試等價類邊界。為什么使用邊界值分析法?無數(shù)的測試實踐表明,大量的故障往往發(fā)生在輸入定義域或輸出值域的邊界上,而不是在其內(nèi)部。因此,針對各種邊界情況設計測試用例,通常會取得很好的測試效果。怎樣用邊界值分析法設計測試用例?(1)首先確定邊界情況。通常輸入或輸出等價類的邊界就是應該著重測試的邊界情況。(2)選取正好等于、剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值。舉例 常見的邊界值對16-bit 的整數(shù)而言 3276

27、7 和 -32768 是邊界屏幕上光標在最左上、最右下位置報表的第一行和最后一行數(shù)組元素的第一個和最后一個循環(huán)的第 0 次、第 1 次和倒數(shù)第 2 次、最后一次舉例 利用邊界值作為測試數(shù)據(jù)項邊界值測試用例的設計思路字符起始-1個字符/結(jié)束+1個字符假設一個文本輸入?yún)^(qū)域允許輸入1個到255個 字符,輸入1個和255個字符作為有效等價類;輸入0個和256個字符作為無效等價類,這幾個數(shù)值都屬于邊界條件值。數(shù)值最小值-1/最大值+1假設某軟件的數(shù)據(jù)輸入域要求輸入5位的數(shù)據(jù)值,可以使用10000作為最小值、99999作為最大值;然后使用剛好小于5位和大于5位的 數(shù)值來作為邊界條件。空間小于空余空間一點/

28、大于滿空間一點例如在用U盤存儲數(shù)據(jù)時,使用比剩余磁盤空間大一點(幾KB)的文件作為邊界條件。選擇測試用例的原則(1) 如果輸入條件規(guī)定了值的范圍,則應取剛達到這個范圍的邊界值以及剛剛超過這個范圍邊界的值作為測試輸入數(shù)據(jù)。(2) 如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù)、最小個數(shù)和比最大個數(shù)多1個、比最小個數(shù)少1個的數(shù)作為測試數(shù)據(jù)。(3) 根據(jù)程序規(guī)格說明的每個輸出條件,使用原則 (1)。(4) 根據(jù)程序規(guī)格說明的每個輸出條件,使用原則 (2) 。(5) 如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合 (如有序表、順序文件等),則應選取集合中的第一個和 最后一個元素作為測試用例。(6) 如果程

29、序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應當選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。(7) 分析程序規(guī)格說明,找出其它可能的邊界條件。 A、按照輸入值范圍的邊界。 例如:輸入值的范圍是-1.0至1.0,則可選擇用例 1.0、1.0、-1.001、1.001。 B、按照輸入/輸出值個數(shù)的邊界。 例如:輸入文件可有1-255個記錄,則 設計用例:文件的記錄數(shù)為 0個、1個、255個、256個。 C、輸出值域的邊界。 例如:檢索文獻摘要,最多4篇。設計用例:可檢索0篇、1篇、4篇,和5篇(錯誤)。 D、輸入/輸出有序集(如順序文件、線性表)的邊界。 應選擇第一個元素和最后一個元素。邊值分析法舉例3 因果

30、圖法 一種黑盒測試方法方法的依據(jù):需求規(guī)格說明中的因果關(guān)系。把輸入條件視為“因”,把輸出條件視為“果”,將黑盒看成是從因到果的網(wǎng)絡圖,采用邏輯圖的形式來表達功能說明書中輸入條件的各種組合與輸出的關(guān)系。根據(jù)這種關(guān)系可選擇高效的測試用例。因果圖符號恒等c1=1e1=1c1=0e1=0非c1c2c3c1e1c1e1e1c1c2e1c1=1e1=0c1=0e1=1c1=1 或c=1 或c=1 e1=e1=0否則c1=1 且c=1e1=e1=0否則或與a輸入條件的約束bEacIbabOE約束(異):a,b中至多有一個可能為,即a和b不能同時為約束(或):a,b和c中至少有一個必須是1,即a、b和c不能同

31、時為0O約束(唯一):a和b中必須有一個 且僅有一個為abRR約束(要求):a是時,b必須是 即不可能a是時b為輸出條件的約束abMM約束(強制):若結(jié)果a是時, 則結(jié)果b強制為因果圖方法舉例某程序要求:第一列字符必須是或,第二列字符必須是一個數(shù)字,在此情況下對文件進行修改。若第一列字符不正確,則給出信息;若第二列字符不是一個數(shù)字,則給出信息。分析原因第一列字符是第一列字符是第二列字符是一個數(shù)字結(jié)果21修改文件22給出信息23給出信息因果圖21222311E分析規(guī)范,即將問題分為若干可工作的步驟。標識出規(guī)范中的原因與結(jié)果。原因輸入條件 結(jié)果輸出或系統(tǒng)變換分析規(guī)范語義、內(nèi)容,轉(zhuǎn)換為因果圖。將因果

32、圖轉(zhuǎn)換為判斷表。將判斷表的每一列,轉(zhuǎn)換為一個測試用例??偨Y(jié):因果圖法的步驟4 判定表法 一種黑盒測試方法系統(tǒng)功能要求: 訂購單的檢查。如果金額超過500元,又未過期,則發(fā)出批準單和提貨單;如果金額超過500元,但過期了,則不發(fā)批準單;如果金額低于500元,則不論是否過期都發(fā)出批準單和提貨單,過期還要發(fā)出通知單。訂購單檢查判定表金額 500 500 =500 =500 狀態(tài) 未過期 已過期 未過期 已過期 發(fā)出批準單 發(fā)出提貨單 發(fā)出通知單 條件動作可簡化把判定表轉(zhuǎn)換為測試用例判定表里每一個條件項和對應的動作項都是一條規(guī)則。判定表里每一條規(guī)則都可以轉(zhuǎn)化為測試用例。5 場景法需要進行銀行ATM機取

33、款功能測試。利用黑盒方法該如何設計測試用例?問題布置面對實際系統(tǒng)測試如何入手?場景:從用戶的角度來描述系統(tǒng)的運行行為,反映系統(tǒng)的期望運行方式,是由一系列的相關(guān)活動組成的。學會使用系統(tǒng)該功能,熟悉操作步驟和使用場景考慮系統(tǒng)實現(xiàn)該功能的具體約束和要求(業(yè)務需求和規(guī)則)1、分析用戶操作步驟和使用場景取款成功步驟如下:插入卡輸入密碼輸入取款金額取款成功,錢輸出退卡2、結(jié)合業(yè)務需求和規(guī)則系統(tǒng)只能對加入銀聯(lián)的當前能正常工作的銀行卡辦理取款業(yè)務。包括本行銀行卡、非本行銀行卡。必須是活動的帳號才能取款,凍結(jié)的帳號不能取款。成功辦理取款業(yè)務必須輸入正確的銀行卡密碼。密碼連續(xù)輸入三次不正確,ATM機器警告后吞卡。ATM機中金額不足取款金額,系統(tǒng)給出提示,不能完成取款操作。若銀行卡帳內(nèi)金額不足取款金額,系統(tǒng)給出提示,不能完成取款操作。3、根據(jù)場景設計測試用例測試用例ID場景

溫馨提示

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

最新文檔

評論

0/150

提交評論