飛機票訂票系統(tǒng)功能測試項目_第1頁
飛機票訂票系統(tǒng)功能測試項目_第2頁
飛機票訂票系統(tǒng)功能測試項目_第3頁
飛機票訂票系統(tǒng)功能測試項目_第4頁
飛機票訂票系統(tǒng)功能測試項目_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

..項目3飛機票訂票系統(tǒng)功能測試項目項目簡介飛機票訂票軟件項目組完成了系統(tǒng)的集成工作,根據(jù)開發(fā)計劃將要將程序交給測試組進行功能測試。測試小組該如何對該軟件進行功能測試呢?項目目標與要求〔1能制訂飛機票訂票系統(tǒng)功能測試的測試計劃〔2能根系統(tǒng)需求分析報告編制飛機票訂票軟件的功能測試的測試用例〔3能根據(jù)測試用例,熟練地對系統(tǒng)的訂票功能進行手工測試〔4能根據(jù)測試用例,熟練使用QTP工具,完成系統(tǒng)的打開訂票功能的測試〔5能熟練使用Excel工具管理測試中發(fā)現(xiàn)的缺陷〔BUG〔6能寫功能測試報告項目工作任務〔1閱讀飛機票訂票系統(tǒng)的需求分析報告,完成測試小組內(nèi)容的內(nèi)容分工,制訂單元測試計劃〔2根據(jù)飛機票訂票系統(tǒng)的需求分析報告,編寫訂票、查詢、修改、刪除、打印報表功能的測試用例〔3根據(jù)訂票功能的測試用例,用手工的方式進行測試,記錄測試結(jié)果〔4根據(jù)查詢功能的測試用例,使用QTP工具,完成測試工作〔5用Excel軟件完成測試工作日志,用Excel軟件管理測試中發(fā)現(xiàn)的軟件缺陷,并完成功能測試的測試報告功能測試基本過程制訂功能測試計劃制訂功能測試計劃閱讀需求分析報告編寫功能測試用例和測試數(shù)據(jù)確定測試策略手工執(zhí)行測試測試報告BUG跟蹤表錄制測試腳本設置檢查點執(zhí)行測試腳本搭建測試環(huán)境功能測試總結(jié)圖3-1功能測試基本過程模塊一制訂功能測試計劃學習目標 1、理解訂票系統(tǒng)的需求分析報告 2、理解功能測試的一般過程、主要方法和策略工作任務1、閱讀訂票系統(tǒng)的需求分析報告2、選擇功能測試的策略3、編寫訂票系統(tǒng)功能測試的計劃任務1:閱讀訂票系統(tǒng)需求規(guī)格說明書讀一讀:訂票系統(tǒng)需求規(guī)格說明書一、系統(tǒng)登錄功能系統(tǒng)啟動后先顯示登錄窗體,必須通過輸入正確的帳戶和對應的密碼才能進入系統(tǒng),如果不正確則給出相應的提示信息。二、訂票功能1、登錄成功后系統(tǒng)自動進入新增訂票窗體,同時可以通過"新訂票"按鈕,或菜單進入新增訂票窗框體。2、在新增訂票窗體中,依次輸入訂票日期、出發(fā)地、到達地、航班、訂票顧客姓名、訂票張數(shù)、座位類型,系統(tǒng)能夠自動根據(jù)用戶選擇的航班顯示航班號、航空公司、志飛時間到達時間和單價,系統(tǒng)能夠根據(jù)訂票的票數(shù)、類型和單價自動計算出訂單的總計金額。對用戶輸入的訂票日期要進行驗證,對于不滿足條件的給出明確的提示信息。出發(fā)地、到達地、航班系統(tǒng)自動顯示,用戶只要選擇就可以。3、單擊"insertorder"按鈕,系統(tǒng)保存相關信息并生成并顯示此訂單的訂單號,并給出保存是否成功的信息。4、當按了"insertorder"按鈕后,updateorder和deleteorder按鈕可用〔沒有保存前這二個按鈕是不可用的,通過這二個按鈕可以對新增加的訂單進行修改或刪除操作,具體操作同修改訂單和刪除訂單功能。三、查詢訂單功能1、登錄成功后在新增訂票窗體,可以通過單擊"打開訂單"按鈕,或者菜單,進入查詢訂單條件對話框。2、在查詢對話框中提供按"顧客姓名"、"訂票日期"和訂單號三種查詢模式。3、按姓名查詢:輸入顧客姓名〔能夠模糊查詢,只要輸入姓名的一部分,系統(tǒng)以列表方式結(jié)出查詢的結(jié)果紀錄,用鼠標在列表雙擊〔或者選取后,單擊OK按鈕所要的訂單,系統(tǒng)將在訂票主窗口中顯示具體的訂單信息。根據(jù)需要可以進行修改、刪除等操作。如果沒有找到則顯示"沒有發(fā)現(xiàn)訂單,請再試一次"。4、按訂票日期查詢:輸入具體的訂票日期〔只能輸入數(shù)字,日期不完整,"OK"按鈕無效,能夠?qū)θ掌诘暮戏ㄐ赃M行檢查,如果查到對應的訂票則顯示一個"查詢結(jié)果"的列表,用鼠標在列表雙擊〔或者選取后,單擊OK按鈕所要的訂單,系統(tǒng)將在訂票主窗口中顯示具體的訂單信息。根據(jù)需要可以進行修改、刪除等操作。如果沒有找到則顯示"沒有發(fā)現(xiàn)訂單,請再試一次"。5、姓名和日期組合查詢:選擇取姓名和日期,在姓名欄輸入查詢的姓名,在日期欄輸入查詢的日期,操作同4和5。6、按訂單號查詢:輸入指定的訂單號〔只能輸入數(shù)字,單擊"OK"進行查詢,如果查到對應的訂票則系統(tǒng)將在訂票界面上顯示具體的訂單信息,根據(jù)需要可以進行修改、刪除等操作。如果沒有找到則顯示"不存在這個數(shù)字"。四、修改訂單1、打開指定的訂單〔openorder操作,新增訂單單擊"insertorder"按鈕后也可以。2、在訂單主窗口中,修改訂票日期、出發(fā)機場、到達機場、航班信息、顧客姓名和訂票張數(shù)等〔要求與新增訂票中相似3、單擊"updateorder"按鈕保存修改結(jié)果〔不單擊"updateorder"按鈕系統(tǒng)不會保存修改結(jié)果。4、如果對訂單信息進行了修改,沒有單擊"updateorder"按鈕,進行"新建訂單"或"打開訂單"按鈕時系統(tǒng)會提示"信息已修改,是否要保存"。確認后保存,取消則返回訂單主窗口中,不保存則進入"新建訂單"界面或"打開訂單"界面。五、刪除訂單1、打開指定的訂單〔openorder操作,新增訂單單擊"insertorder"按鈕后也可以。2、在訂單主窗口中,單擊"deleteorder"按鈕或者"刪除工具"刪除當前訂單。3、系統(tǒng)給出提示"是否要刪除此訂單?",確認后刪除,取消則不刪除六、報表統(tǒng)計功能1、登錄成功后在新增訂票窗體,單擊"報表"的按鈕或在"Analysis"菜單中選擇"Report"項2、用純文本的方式以行的方式〔二行一條訂單信息,和一行為主要信息,第二為到達時間和到達機場顯示登錄代理帳戶所有訂單的報表,并給出匯總數(shù)據(jù)。七、圖表統(tǒng)計功能1、登錄成功后在新增訂票窗體,單擊"圖表"按鈕或在"Analysis"菜單中選擇"Graph"項2、通過Graph窗體以訂單日期為單位顯示訂單數(shù)量。用戶可以選擇圖表的形式〔三維柱形圖表、二維柱形圖表和三維餅圖顯示按訂單日期的訂票數(shù)量統(tǒng)計。八、系統(tǒng)幫助功能1、登錄成功后在新增訂票窗體,單擊"幫助"按鈕或在"Help"菜單中選擇"contents"項2、系統(tǒng)自動打開"FlightReservationHelpVersion1.0”幫助窗框體,為用戶提供有關系統(tǒng)的操作說明。九、系統(tǒng)版權(quán)說明功能1、登錄成功后在新增訂票窗體,在"Help"菜單中選擇"About……"項2、系統(tǒng)顯示一個窗體,用以顯示本系統(tǒng)的版本說明信息。任務2:制訂訂票系統(tǒng)的功能測試計劃做一做:功能測試也叫黑盒子測試或數(shù)據(jù)驅(qū)動測試,根據(jù)產(chǎn)品特征、操作描述和用戶方案,測試一個產(chǎn)品的特性和可操作行為以確定它們滿足設計需求。軟件的功能測試,用于驗證應用程序或網(wǎng)站對目標用戶能正確工作,使用適當?shù)钠脚_、瀏覽器和測試腳本,以保證目標用戶的體驗將足夠好,就像應用程序是專門為該市場開發(fā)的一樣。功能測試只需考慮各個功能,不需要考慮整個軟件的內(nèi)部結(jié)構(gòu)及代碼.一般從軟件產(chǎn)品的界面、架構(gòu)出發(fā),按照用戶需求編寫出來的測試用例,輸入數(shù)據(jù)在預期結(jié)果和實際結(jié)果之間進行評測,進而提出更加使產(chǎn)品達到用戶使用的要求。根據(jù)系統(tǒng)的需求規(guī)格說明書,可以看出這是一個規(guī)模比較小的系統(tǒng),可以采用手工測試和自動化測試相結(jié)合的方式進行測試。可以采用場景法、成效價類劃分法、邊界類法和常見錯誤法來編寫測試用例。本系統(tǒng)有8個功能點要測試,比較復雜的功能點是新增訂票、查詢訂票和修改訂票三個功能點,每個功能點大約需求10個測試用例,其它均為2-5個測試用例,初步估計有50個測試用例,約有3人天的工作量,執(zhí)行測試則有8人天的工作量〔包括編寫測試腳本。所需求人員和工作計劃如下〔回歸測試不包括在內(nèi):訂票系統(tǒng)功能測試項目小組成員:甲:測試小組組長乙:測試工程師丙:測試員?。簻y試員訂票系統(tǒng)功能測試計劃:序號安排日期工作內(nèi)容負責人備注1星期一上午編寫測試計劃測試項目會議分配工作任務確定測試策略甲全體參與項目培訓軟件開發(fā)項目經(jīng)理2星期一下午至星期二下午閱讀需求分析編寫測試數(shù)據(jù)編寫測試用例乙3星期一下午至星期二下午搭建測試環(huán)境輸入部分測試數(shù)據(jù)丙、丁4周三上午測試用例評審會測試環(huán)境驗收甲全體參加軟件開發(fā)項目經(jīng)理5周四、周五、第二周周一、第二周周二全天執(zhí)行測試記錄測試缺陷丙、丁乙進行指導6第二周三測試分析撰寫功能測試報告乙7第二周周四上午提交測試報告甲交軟件開發(fā)項目經(jīng)理8第二周周四下午項目小結(jié)甲全體人員參與模塊二編寫功能測試的測試用例學習目標 1、掌握等價類劃分、邊界值、場景等編寫功能測試測試用例的方法 2、掌握測試用例的主要內(nèi)容、編寫格式工作任務1、根據(jù)需求報告編寫登錄功能的測試用例2、根據(jù)需求報告編寫訂票功能的測試用例3、根據(jù)需求報告編寫查詢功能的測試用例任務1:編寫登錄功能的測試用例做一做:根據(jù)系統(tǒng)需求規(guī)格說明書的要求,采用場景法設計測試用例,在訂票系統(tǒng)中可以設置登錄、新增訂票、查詢、修改訂票、刪除訂票、打印報表、顯示統(tǒng)計圖表和幫助等8個大的應用場景。同時考慮不同的運行環(huán)境,如win98/win2000/winXP/winvastar/win7等不同的操作系統(tǒng),對于不同的操作系統(tǒng),可以使用相同的測試用例〔操作系統(tǒng)地欄不同。對于登錄場景可以采用有效等價類法編寫測試用例,將測試用例分成錯誤和正確二大類,在正確類中設立用戶名和密碼小寫和大寫都正確的2個測試用例。在錯誤類中采用邊界值法設立用戶名和密碼為空、用戶名小于4個字符、密碼小于4個字符、用戶名不正確、密碼不正確等6個測試用例。通過采用等價類法和邊界值法可以保證測試用例能夠覆蓋到所有的測試項,測試用例匯總表如下:測試用例編號主要測試內(nèi)容預期結(jié)果測試結(jié)果F_L_1用戶名、密碼為空顯示帳戶或者密碼不對F_L_2用戶名少于4個字符,密碼正確顯示姓名字符不少于4個字符F_L_3用戶名正確,密碼少于4個字符顯示密碼字符不少于4個字符F_L_4用戶名不正確,密碼正確顯示帳戶或者密碼不對F_L_5用戶名正確,密碼不正確顯示帳戶或者密碼不對F_L_6用戶名正確、密碼不對顯示帳戶或者密碼不對F_L_7用戶名、密碼正確<小寫>成功,顯示訂票窗體F_L_7用戶名、密碼正確<大寫>成功,顯示訂票窗體注:這是一個測試用例的匯總表,在Excel中放在第一個工作表中,表的名稱為"登錄功能測試用例匯總表",最后一欄是測試完成后填寫,用于總后的統(tǒng)計。根據(jù)測試用例匯總表,編寫測試數(shù)據(jù),具體如下:輸入項目測試數(shù)據(jù)正確的用戶名和密碼test和mercury錯誤的用戶名和密碼admin和admin不足4個字符的用戶名和密碼te和mer根據(jù)測試用例匯總表、CMMI3對測試用例的格式要求和測試數(shù)據(jù)表,在Excel中逐個編寫測試用例〔以用例編號作為工作表的表名。下面是F_L_2測試用例的具體內(nèi)容:測試用例編號F_L_2編寫人趙航濤編寫日期2011-1-20測試內(nèi)容用戶名少于4個字符,密碼正確項目名稱登錄功能操作系統(tǒng)winXP操作過程:1、雙擊C:\ProgramFiles\MercuryInteractive\QuickTestProfessional\samples\flight\app目錄下的Flight4a.exe2、在代理帳戶欄中輸入"te",在密碼欄中輸入"Mercury"3、單擊OK按鈕預期結(jié)果顯示錯誤對話框"Agentnamemustbeatleast4characterslong"實際運行結(jié)果測試人測試時間是否有缺陷缺陷描述下面是F_L_7測試用例的具體內(nèi)容:測試用例編號F_L_7編寫人趙航濤編寫日期2011-1-20測試內(nèi)容用戶名密碼正確項目名稱登錄功能操作系統(tǒng)winXP操作過程:1、雙擊C:\ProgramFiles\MercuryInteractive\QuickTestProfessional\samples\flight\app目錄下的Flight4a.exe2、在代理帳戶欄中輸入"test",在密碼欄中輸入"Mercury"3、單擊OK按鈕預期結(jié)果自動進入系統(tǒng)訂票窗體實際運行結(jié)果測試人測試時間是否有缺陷缺陷描述測試用例的重點是操作過程和預期運行結(jié)果,操作過程根據(jù)需求規(guī)格說明書、常規(guī)應用程序的操作過程和編寫的測試數(shù)據(jù)來編寫,要求操作過程明確,先操作什么后操作什么,在哪兒輸入,輸入什么都要十分明確,測試人員可以根據(jù)這個操作步驟完成登錄工作。在F_L_2中操作過程的三個步驟是一般有軟件登錄的操作過程,操作過程中輸入的te,mercury則來自測試數(shù)據(jù)表。預期結(jié)果是根據(jù)規(guī)格說明書和常用軟件開發(fā)中慣例和系統(tǒng)界面設計而確定的〔提示信息的具體內(nèi)容是根據(jù)系統(tǒng)界面設計來確定的。實際運行結(jié)果、測試人、測試時間、是否是缺陷和缺陷描述是由執(zhí)行測試的人填寫的。練一練:參考上述的二個例子,根據(jù)測試用例匯總表和測試數(shù)據(jù)表自己完成F_L_1、F_L_4、F_L_7。讀一讀:1、等價類劃分等價類劃分是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分〔子集,然后從每一個子集中選取少數(shù)具有代表性的數(shù)據(jù)作為測試用例.該方法是一種重要的,常用的黑盒測試用例設計方法。劃分等價類等價類是指某個輸入域的子集合.在該子集合中,各個輸入數(shù)據(jù)對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數(shù)據(jù)合理劃分為若干等價類,在每一個等價類中取一個數(shù)據(jù)作為測試的輸入條件,就可以用少量代表性的測試數(shù)據(jù).取得較好的測試結(jié)果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類。有效等價類:是指對于程序的規(guī)格說明來說是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合.利用有效等價類可檢驗程序是否實現(xiàn)了規(guī)格說明中所規(guī)定的功能和性能。無效等價類:與有效等價類的定義恰巧相反。設計測試用例時,要同時考慮這兩種等價類.因為,軟件不僅要能接收合理的數(shù)據(jù),也要能經(jīng)受意外的考驗.這樣的測試才能確保軟件具有更高的可靠性。設計測試用例在確立了等價類后,可建立等價類表,列出所有劃分出的等價類:輸入條件有效等價類、無效等價類……,然后從劃分出的等價類中按以下三個原則設計測試用例:①為每一個等價類規(guī)定一個唯一的編號。②設計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋地有效等價類,重復這一步.直到所有的有效等價類都被覆蓋為止。③設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重復這一步.直到所有的無效等價類都被覆蓋為止。2、邊界值分析法邊界值分析方法是對等價類劃分方法的補充?!?邊界值分析方法的考慮:長期的測試工作經(jīng)驗告訴我們,大量的錯誤是發(fā)生在輸入或輸出范圍的邊界上,而不是發(fā)生在輸入輸出范圍的內(nèi)部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤.使用邊界值分析方法設計測試用例,首先應確定邊界情況.通常輸入和輸出等價類的邊界,就是應著重測試的邊界情況.應當選取正好等于,剛剛大于或剛剛小于邊界的值作為測試數(shù)據(jù),而不是選取等價類中的典型值或任意值作為測試數(shù)據(jù).〔2基于邊界值分析方法選擇測試用例的原則: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如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應當選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試用例。7分析規(guī)格說明,找出其它可能的邊界條件。任務2:編寫訂票功能的測試用例根據(jù)需求規(guī)格說明書,可以看出訂票功能界面和內(nèi)部邏輯都比較復雜,為了提高測試的覆蓋度,可以采用法設計測試用例,主要包括正確類和不正確類,對于日期欄應采用邊界值法來設計測試用例,對于出發(fā)地、到達地和航班采用場景法來設計測試用例。測試用例的匯總表如下:測試用例編號主要測試內(nèi)容預期結(jié)果測試結(jié)果F_N_1輸入非法日期〔日超過31顯示"InvaliddayEntered.Thedaybevalidforthegivenmonth."對話框F_N_2輸入非法月份<月超過12>顯示"InvalidmonthEntered.Themonthbegreaterthan01andlessthan12."對話框F_N_3輸入今天以前的日期顯示"Validflightdatesareafter02/10/11"對話框F_N_4輸入正確日期,保存沒有選擇出發(fā)地F_N_5輸入正確日期和出發(fā)地,保存沒有選擇到達地F_N_6輸入正確日期、出發(fā)地和到達地,保存沒有選擇航班F_N_7輸入正確日期、出發(fā)地、到達地和航班,保存沒有輸入姓名F_N_8輸入正確日期、出發(fā)地、到達地、航班和顧客姓名,保存成功保存F_N_9修改顧客姓名、票數(shù),保存總價變化,成功保存F_N_10修改座位類別,保存單價、總價變化,成功保存F_N_11修改航班,保存單價、總價變化,成功保存F_N_12修改到達地,保存航班信息清空,沒有選擇航班F_N_13修改出發(fā)地,保存航班信息清空,沒有選擇到達地F_N_14修改日期,保存航班信息清空,沒有選擇到達地F_N_15修改日期、出發(fā)地、到達地、航班、票數(shù)、顧客姓名和座位類別,保存成功保存根據(jù)訂票測試用例匯總表,編寫測試數(shù)據(jù),具體如下:輸入項目輸入數(shù)據(jù)修改數(shù)據(jù)1<沒保存>修改數(shù)據(jù)2〔保存用戶名test密碼mercury日期03/02/1103/03/1103/03/11日期〔日錯誤03/32/11日期〔月錯誤13/02/11日期〔在今天之前02/02/11出發(fā)地DenverParisParis到達地LondonLosAngelesDenver航班號〔自動顯示202622025317077起發(fā)時間〔自動顯示10:21AM8:12AM10:24AM降落時間〔自動顯示05:23PM03:23PM12:54AM航空公司名稱〔自動顯示AAAAAF顧客姓名MarkJonMarkLi票數(shù)12座位類別EconomyBusiness單價〔自動顯示$112.20$224.40$222.94總金額〔自動顯示$112.20$448.80$445.88訂單號〔自動顯示,保存后才顯示11注:由于系統(tǒng)日期不同,在具體測試時要根據(jù)實際情況對日期進行調(diào)整,或者將系統(tǒng)日期改為02/05/11,這樣才能保證測試數(shù)據(jù)是有效的。根據(jù)測試用例匯總表、CMMI3對測試用例的格式要求和測試數(shù)據(jù)表,在Excel中逐個編寫測試用例〔以用例編號作為工作表的表名。下面是F_N_1測試用例的具體內(nèi)容:測試用例編號F_N_1編寫人趙航濤編寫日期2011-1-20測試內(nèi)容日期輸入錯誤〔日超過31項目名稱登錄功能操作系統(tǒng)winXP操作過程:啟動Flight4a.exe程序,帳戶名輸入test,密碼輸入mercury,進入訂票系統(tǒng)窗體在dateofflight中輸入:03/32/10在FlyFrom中選擇"Denver"預期結(jié)果顯示"InvaliddayEntered.Thedaybevalidforthegivenmonth."對話框?qū)嶋H運行結(jié)果測試人測試時間是否有缺陷缺陷描述下面是F_N_8測試用例的具體內(nèi)容:測試用例編號F_N_8編寫人趙航濤編寫日期2011-1-20測試內(nèi)容成功訂票項目名稱登錄功能操作系統(tǒng)winXP操作過程:啟動Flight4a.exe程序,帳戶名輸入test,密碼輸入mercury,進入訂票系統(tǒng)窗體在dateofFlight中輸入:03/02/11在FlyFrom中選擇"Denver"在FlyTo:中選擇"London"單擊Flights按鈕,選擇"20262"航班在name欄中輸入:MarkJon在Tickets欄中輸入:1在Class欄中選擇:Economy單擊"insertorder"按鈕預期結(jié)果單價和總價顯示:$112.20,狀態(tài)欄顯示:InsertDone,OrderN0顯示:11顯示"insertingorder."對話框<此對話框大約5秒鐘后自動消失>數(shù)據(jù)庫中增加相應的訂單記錄實際運行結(jié)果測試人測試時間是否有缺陷缺陷描述下面是F_N_12測試用例的具體內(nèi)容:測試用例編號F_N_12編寫人趙航濤編寫日期2011-1-20測試內(nèi)容保存后修改到達地項目名稱登錄功能操作系統(tǒng)winXP操作過程:接著F_N_11的界面在FlyTo:中選擇"LosAngeles"單擊"Updateorder"按鈕預期結(jié)果到達地、航班信息、座位類別、單價和合計清空彈出"請選擇到達城市"實際運行結(jié)果測試人測試時間是否有缺陷缺陷描述練一練:參照上面二個測試用例,自己課后完成F_N_3、F_N_7、F_N_15測試用例。讀一讀:場景法:通過運用場景來對系統(tǒng)的功能點或業(yè)務流程的描述,從而提高測試效果。場景法一般包含基本流和備用流,從一個流程開始,通過描述經(jīng)過的路徑來確定的過程,經(jīng)過遍歷所有的基本流和備用流來完成整個場景。下面是場景法的基本設計步驟1.根據(jù)說明,描述出程序的基本流及各項備選流2.根據(jù)基本流和各項備選流生成不同的場景3.對每一個場景生成相應的測試用例4.對生成的所有測試用例重新復審,去掉多余的測試用例,測試用例確定后,對每一個測試用例確定測試數(shù)據(jù)值。任務3:編寫查詢訂票功能的測試用例根據(jù)需求規(guī)格說明書,可以看出查詢訂票功能界面和內(nèi)部邏輯都比較復雜,為了提高測試的覆蓋度,可以采用場景法設計測試用例,主要包括按姓名查詢、按日期查詢、按訂單號查詢和按姓名日期聯(lián)合查詢4種場景。對于日期查詢用可用有效類和邊界值法來設計具體的測試用例,對于姓名和訂單號查詢應采用等價類法來設計測試用例,對于日期和姓名組合查詢要采用判定表法設計測試用例。測試用例的匯總表如下:測試用例編號主要測試內(nèi)容預期結(jié)果測試結(jié)果F_O_1按姓名查詢〔數(shù)據(jù)庫中沒有的姓名顯示"沒有記錄"對話框F_O_2按姓名查詢〔正確的姓名顯示滿足條件的"訂票記錄"列表框F_O_3按姓名查詢〔姓名的一部分顯示滿足條件的"訂票記錄"列表框F_O_4按日期查詢〔輸入錯誤天數(shù)顯示日期錯誤對話框F_O_5按日期查詢〔輸入錯誤月份顯示日期錯誤對話框F_O_6按日期查詢〔輸入以前的正確日期,有記錄顯示滿足條件的"訂票記錄"列表框F_O_7按日期查詢〔輸入以后的正確日期,有記錄顯示滿足條件的"訂票記錄"列表框F_O_8按日期查詢〔輸入以后的正確日期,無記錄顯示"沒有記錄"對話框F_O_9按訂單號查詢〔輸入不存在的訂單號顯示"沒有記錄"對話框F_O_10按訂單號查詢〔輸入存在的訂單號顯示滿足條件的"訂票記錄"列表框F_O_11按日期與姓名組合查詢〔輸入正確的姓名和日期顯示滿足條件的"訂票記錄"列表框F_O_12按日期與姓名組合查詢〔輸入不存在的姓名和日期顯示"沒有記錄"對話框F_O_13按日期與姓名組合查詢〔輸入正確的姓名和沒有訂票的日期顯示"沒有記錄"對話框根據(jù)訂票測試用例匯總表,編寫測試數(shù)據(jù),具體如下:輸入項目輸入數(shù)據(jù)能查詢到的顧客姓名BobJohnson能查詢到的顧客姓名的一部分John不能查詢到的顧客姓名ZhaoHangtao日期〔天錯誤03/32/11日期〔月錯誤13/02/11可以查到記錄的日期〔在今天之前02/12/11可以查到記錄的日期〔在今天之后03/02/11不能查到記錄的合法日期04/02/11存在的訂單號2不存在的訂單號30組合查詢1〔可查到記錄JonBaker,02/12/11組合查詢2〔姓名對日期不對Jon,04/02/11組合查詢3〔姓名不對日期對ZhaoHangtao,02/12/11注:由于系統(tǒng)日期不同,在具體測試時要根據(jù)軟件的安裝情況對日期進行調(diào)整,這樣才能保證測試數(shù)據(jù)是有效的。根據(jù)測試用例匯總表、CMMI3對測試用例的格式要求和測試數(shù)據(jù)表,在Excel中逐個編寫測試用例〔以用例編號作為工作表的表名。下面是F_N_1測試用例的具體內(nèi)容:測試用例編號F_O_1編寫人趙航濤編寫日期2011-1-20測試內(nèi)容日期輸入錯誤〔日超過31項目名稱登錄功能操作系統(tǒng)winXP操作過程:啟動Flight4a.exe程序,帳戶名輸入test,密碼輸入mercury,進入訂票系統(tǒng)窗體單擊"openorder"按鈕在"openorder"對話框中,選擇"CustomerName"選項在CustomerName欄中輸入:ZhaoHangtao,單擊"OK"按鈕預期結(jié)果顯示"Noordersfound.Pleasetryagain"實際運行結(jié)果測試人測試時間是否有缺陷缺陷描述下面是F_O_7測試用例的具體內(nèi)容:測試用例編號F_O_7編寫人趙航濤編寫日期2011-1-20測試內(nèi)容成功訂票項目名稱登錄功能操作系統(tǒng)winXP操作過程:啟動Flight4a.exe程序,帳戶名輸入test,密碼輸入mercury,進入訂票系統(tǒng)窗體單擊"openorder"按鈕在"openorder"對話框中,選擇"FlightDate"選項在FlightDate欄中輸入:03/02/11,單擊"OK"按鈕預期結(jié)果彈出"SearchResults"列表框,其中包含Markjon和zhaohang等4條訂票記錄實際運行結(jié)果測試人測試時間是否有缺陷缺陷描述下面是F_O_10測試用例的具體內(nèi)容:測試用例編號F_O_10編寫人趙航濤編寫日期2011-1-20測試內(nèi)容保存后修改到達地項目名稱登錄功能操作系統(tǒng)winXP操作過程:啟動Flight4a.exe程序,帳戶名輸入test,密碼輸入mercury,進入訂票系統(tǒng)窗體單擊"openorder"按鈕在"openorder"對話框中,選擇"OrderNo"選項在OrderNo欄中輸入2,單擊"OK"按鈕預期結(jié)果彈出"SearchResults"列表框,其中包含Markjon和zhaohang等4條訂票記錄其中包含F(xiàn)redSmith在2011/2/12訂的3張4295航班的機票。實際運行結(jié)果測試人測試時間是否有缺陷缺陷描述練一練:參照上面三個測試用例,自己課后完成F_O_3、F_N_6、F_N_110測試用例。讀一讀:判定表法:判定表〔DecisionTable,它是分析和表達多邏輯條件下執(zhí)行不同操作的情況下的工具。在程序設計發(fā)展的初期,判定表就已被當做編寫程序的輔助工具了。由于判定表測試嚴格,能夠?qū)碗s的邏輯關系和多種條件組合的情況表達得既具體又明確,針對不同的邏輯條件組合值,分別執(zhí)行不同的操作,因此,使用判定表能夠設計出完整的測試用例集合。判定表是一種針對存在條件、動作關系或者因果關系的特性測試的用例設計方法。判定表通常由4個部分組成。1條件樁〔ConditionStub:列出了問題的所有條件,列出條件的次序沒有約束。2動作樁〔ActionStub:列出問題規(guī)定可能采取的操作,這些操作的排列順序無關緊要。3條件項〔ConditionEntry:列出條件樁給出的條件并列出所有可能的取值。針對條件樁的條件和條件項的取值,判斷在整個程序模塊中的所有可能的情況下其結(jié)果的真假值。4動作項〔ActionEntry:列出在條件項的各種取值情況下應該采取的動作。判定表的建立步驟如下:1確定規(guī)則的個數(shù),例如,有n個條件,那么決策表中就有2n個規(guī)則〔每個條件取真、假值。2列出所有的條件樁和動作樁。3填入條件項。4填入動作項,得到初始判定表。5簡化判定表,合并相似規(guī)則。模塊三手工方式進行功能測試學習目標 1、掌握測試環(huán)境的建立方法 2、掌握根據(jù)測試用例進行手工測試的方法 3、掌握正確填寫測試用例工作任務搭建測試環(huán)境根據(jù)測試用例進行功能測試任務1:測試環(huán)境〔Testingenvironment=軟件+硬件+網(wǎng)絡+數(shù)據(jù)準備+測試工具。測試環(huán)境是指為了完成軟件測試工作所必需的計算機硬件、軟件、網(wǎng)絡設備、歷史數(shù)據(jù)的總稱。毫無疑問,穩(wěn)定和可控的測試環(huán)境,可以使測試人員花費較少的時間就完成測試用例的執(zhí)行,也無需為測試用例、測試過程的維護花費額外的時間,并且可以保證每一個被提交的缺陷都可以在任何時候被準確的重現(xiàn)。測試環(huán)境的搭建主要包括如下內(nèi)容:操作系統(tǒng):根據(jù)測試用例中操作系統(tǒng)的要求安裝操作系統(tǒng)。數(shù)據(jù)庫管理系統(tǒng):根據(jù)系統(tǒng)設計說明書安裝數(shù)據(jù)庫管理系統(tǒng)。運行環(huán)境安裝:根據(jù)系統(tǒng)設計說明書安裝系統(tǒng)開發(fā)平臺。不同開發(fā)平臺開發(fā)的軟件需求安裝特點的運行環(huán)境,如JAVA類軟件要安裝JDK,對于VB開發(fā)的軟件要安裝VB運行環(huán)境,對于.NET開發(fā)的軟件要安裝.NETFramework。對于B/S模式的系統(tǒng),還要安裝WEB服務器和相關的插件等,如IIS,APACHE,TOMCAT等。測試工具試對象的安裝:根據(jù)被測試系統(tǒng)的系統(tǒng)安裝手冊。測試對象系統(tǒng)配置:根據(jù)被測試系統(tǒng)的系統(tǒng)使用手冊對系統(tǒng)進行一定的配置,保證其能夠正確運行。做一做:1、操作系統(tǒng)安裝:安裝winXP〔SP3,請參考其它資料。2、數(shù)據(jù)庫系統(tǒng)安裝:安裝Office2003〔系統(tǒng)使用的是ACCESS數(shù)據(jù)庫,請參考其它資料。3、運行環(huán)境安裝:安裝.NETFramework2.0,請參考后面的閱讀材料。4、測試工具安裝:安裝QTP9.2,請參考后面的閱讀材料。5、測試對象系統(tǒng)安裝:QTP9.2安裝的過程中會自動安裝Flight應用軟件。6、測試對象系統(tǒng)配置:QTP9.2安裝的過程中自動配置ODBC任務2:手工執(zhí)行測試用例按照測試計劃,根據(jù)測試用例進行測試,根據(jù)運行結(jié)果填寫測試用例。對比測試結(jié)果與預期結(jié)果,確定是否存在缺陷,如果發(fā)現(xiàn)顯示的結(jié)果與操作過程中定義的不同,或者界面上出現(xiàn)錯誤,或者沒有顯示規(guī)定的對話框,就要認定出現(xiàn)了缺陷。如果發(fā)現(xiàn)實際結(jié)果與預期結(jié)果不符的異常情況,首先要對異常情況進行初步的分析,排除人為因素、環(huán)境因素的影響,重新執(zhí)行這個測試用例,如果出現(xiàn)同樣的異常問題,就可以確認為一個缺陷,要在測試用例中記錄這個缺陷并上報測試組長。做一做:1、手動執(zhí)行F_N_1測試用例測試用例編號F_N_1編寫人趙航濤編寫日期2011-1-20測試內(nèi)容日期輸入錯誤〔日超過31項目名稱登錄功能操作系統(tǒng)winXP操作過程:啟動Flight4a.exe程序,帳戶名輸入test,密碼輸入mercury,進入訂票系統(tǒng)窗體在dateofflight中輸入:03/32/10在FlyFrom中選擇"Denver"預期結(jié)果顯示"InvaliddayEntered.Thedaybevalidforthegivenmonth."對話框?qū)嶋H運行結(jié)果測試人測試時間是否有缺陷缺陷描述根據(jù)F_N_1測試用例中的操作過程,依次執(zhí)行相關的操作。啟動系統(tǒng),在登錄對話框的用戶名、密碼中輸入用戶名和密碼〔有專門的測試用例測試登錄功能,在此不要仔細核對在訂票窗體中仔細檢查:文字是否有錯誤,圖片是否有錯誤,顯示效果是否合理等。在訂票窗框體的日期欄中輸入03/32/11,在出發(fā)地中選擇"Denver"觀察是否彈出"InvaliddayEntered.Thedaybevalidforthegivenmonth."對話框,對話框中的提示信息是否存在錯誤等,如圖3-2:圖3-2F_N_1測試用例運行圖根據(jù)運行的情況和測試用例預期結(jié)果進行對比,確認本次測試是否通過,有沒有發(fā)現(xiàn)錯誤,將結(jié)果填寫到測試用例中。2、手動執(zhí)行F_N_8測試用例測試用例編號F_N_8編寫人趙航濤編寫日期2011-1-20測試內(nèi)容成功訂票項目名稱登錄功能操作系統(tǒng)winXP操作過程:啟動Flight4a.exe程序,帳戶名輸入test,密碼輸入mercury,進入訂票系統(tǒng)窗體在dateofFlight中輸入:03/02/11在FlyFrom中選擇"Denver"在FlyTo:中選擇"London"單擊Flights按鈕,選擇"20262"航班在name欄中輸入:MarkJon在Tickets欄中輸入:1在Class欄中選擇:Economy單擊"insertorder"按鈕預期結(jié)果單價和總價顯示:$112.20,狀態(tài)欄顯示:InsertDone,OrderN0顯示:11顯示"insertingorder."對話框<此對話框大約5秒鐘后自動消失>數(shù)據(jù)庫中增加相應的訂單記錄實際運行結(jié)果測試人測試時間是否有缺陷缺陷描述根據(jù)F_N_8測試用例中的操作過程,依次執(zhí)行相關的操作。啟動Flight4a.exe〔開始菜單—程序—QuickTestProfessional—sampleapplication—flight,根據(jù)測試用例的要求,在login窗體中輸入test和Mercury,如圖3-3:圖3-3F_N_8測試用例運行單擊"確認"按鈕,如圖3-4:圖3-4F_N_8測試用例運行根據(jù)要求依次輸入相關的內(nèi)容,如圖3-4:單擊"insertorder"按鈕,顯示如圖3-5:圖3-5F_N_8測試用例運行測試結(jié)果與測試用例中的預期結(jié)果相同,使用ACCESS打開"C:\ProgramFiles\MercuryInteractive\QuickTestProfessional\samples\flight\app\flight.mdb"文件,選擇orders表,此表中增加了MarkJon訂的2011年3月2練一練:參照上面的二個例子,執(zhí)行F_L_2和F_L_6二個測試用例。模塊四QTP自動化功能測試學習目標1、掌握QTP的基礎操作 2、掌握根據(jù)測試用例錄制QTP測試腳本 2、掌握根據(jù)測試用例在QTP測試腳本中添加檢查點工作任務1、在QTP中錄制新增訂票的測試腳本2、在新增訂票的測試腳本中設置檢查點3、執(zhí)行新增訂票測試腳本并分析QTP測試報告任務1:在QTP中錄制新增訂票的測試腳本在QTP,根據(jù)F_L_6、F_N_1、F_N_2、F_N_3、F_N_4、F_N_5、F_N_6、F_N_7、F_N_8測試用例,錄制增加訂票的測試腳本。學一學:1、測試腳本〔Testingscript:一般指的是一個特定測試的一系列指令,這些指令可以被自動化測試工具執(zhí)行。為了提高測試腳本的可維護性和可復用性,必須在執(zhí)行測試腳本之前對它們進行構(gòu)建?;蛟S會發(fā)現(xiàn)這樣的情況,即有的操作將出現(xiàn)在幾個測試過程中。因此,應有目的地確定這些操作的目標,這樣就可以復用它們的實施。測試腳本是自動執(zhí)行測試過程〔或部分測試過程的計算機可讀指令。測試腳本可以被創(chuàng)建〔記錄或使用測試自動化工具自動生成,或用編程語言編程來完成,也可綜合前三種方法來完成。測試腳本可以分為:線性腳本:是錄制手工執(zhí)行的測試實力得到的腳本。這種腳本包括所有的擊鍵、功能鍵、箭頭、控制測試軟件的控制鍵及輸入數(shù)據(jù)的數(shù)字鍵。結(jié)構(gòu)化腳本:類似于結(jié)構(gòu)化程序設計,結(jié)構(gòu)化腳本中含有控制腳本設計的指令。這些指令或為控制結(jié)構(gòu)或為調(diào)用結(jié)構(gòu)。共享腳本:腳本可能被多個測試事例使用。數(shù)據(jù)驅(qū)動腳本技術(shù):將測試輸入存儲在獨立的文件中,而不是存儲在腳本中。關鍵字驅(qū)動腳本:較復雜的數(shù)據(jù)驅(qū)動技術(shù)的邏輯擴展。2、關鍵字驅(qū)動:關鍵字驅(qū)動實際上是比較復雜的數(shù)據(jù)驅(qū)動技術(shù)的邏輯擴展。將數(shù)據(jù)文件變成測試用例的描述,用一系列關鍵字指定要執(zhí)行的任務。主要關鍵字包括三類:被操作對象〔Item、操作〔Operation和值〔value,用面向?qū)ο笮问娇蓪⑵浔憩F(xiàn)為Item.Operation<Value>,將測試邏輯按照這些關鍵字進行分解,形成數(shù)據(jù)文件。用關鍵字的形式將測試邏輯封裝在數(shù)據(jù)文件中,測試工具只要能夠解釋這些關鍵字即可對其應用自動化。在關鍵字驅(qū)動技術(shù)中,假設測試者具有某些被測系統(tǒng)的知識,所以不必告訴測試者如何進行詳細的動作,只是說明測試用例做什么,而不是如何做。這樣在腳本中使用的是說明性方法和描述性方法。描述性方法將被測軟件的知識建立在測試自動化環(huán)境中,這種知識包含在支持腳本中。例如,為完成在網(wǎng)頁瀏覽時輸入網(wǎng)址,一般的腳本需要說明在某某窗口的某某控件中輸入什么字符;而在關鍵字驅(qū)動腳本中,可以直接是在地址欄中輸入網(wǎng)址什么什么;甚至更簡單,僅說明輸入網(wǎng)址什么。關鍵字驅(qū)動腳本的數(shù)量不隨測試用例的數(shù)量變化,而僅隨軟件規(guī)模而增加。這種腳本還可以實現(xiàn)跨平臺的用例共享,只需要更改支持腳本即可。做一做:操作過程:1、啟動QTP:WIN系統(tǒng)的開始菜單\程序\QuickTestProfessional\QuickTestProfessional2、錄制測試腳本=1\*GB3①設置測試程序:在QTP窗體中單擊工具欄中的"Record"按鈕,彈出RecordandRunSetting對話框,在對話框中單擊"WindowsApplication"項,單擊"新增"按鈕,在彈出的文件對話框中單擊OK按鈕〔系統(tǒng)默認打開C:\ProgramFiles\MercuryInteractive\QuickTestProfessional\samples\flight\app\flight4a.exe"文件,如果要測試其它程序在此對話框中選擇相應的程序文件,效果如圖3-6:單擊"確定"按鈕,系統(tǒng)自動啟動flight4a程序,顯示flight系統(tǒng)的登錄界面,如圖3-7。圖3-6QTP中設置被測試應用程序=2\*GB3②根據(jù)F_L_6測試用例的操作步驟,在登錄界面中分別輸入test和mercury,單擊"確認"按鈕,如圖3-7:圖3-7QTP測試腳本錄制=3\*GB3③根據(jù)F_N_1測試用例的操作步驟,在訂票窗體的dateofelight欄中輸入:02/01/10,然后在FlyFrom欄中選擇"Denver",系統(tǒng)彈出"Validflightdatesareafter02/10/11”警告對話框,單擊"確認"按鈕=4\*GB3④根據(jù)F_N_2測試用例的操作步驟,在訂票窗體的dateofelight欄中輸入:13/01/11,然后在FlyFrom欄中選擇"Denver",系統(tǒng)彈出"InvalidmonthEntered.Themonthbegreaterthan01andlessthan12."警告對話框,單擊"確認"按鈕=5\*GB3⑤根據(jù)F_N_3測試用例的操作步驟,在訂票窗體的dateofelight欄中輸入:03/32/11,然后在FlyFrom欄中選擇"Denver",系統(tǒng)彈出"InvaliddayEntered.Thedaybevalidforthegivenmonth."警告對話框,單擊"確認"按鈕。=6\*GB3⑥根據(jù)F_N_8測試用例的操作步驟,在訂票窗體的dateofelight欄中輸入:03/02/11,然后在FlyFrom欄中選擇"Denver",在FlyTo:中選擇"London",單擊"Flight"航班按鈕,選擇"20253”航班,在name欄中輸入:MarkJon,在Tickets欄中輸入:1,在Class欄中選擇:Economy,單擊"insertorder"按鈕。=7\*GB3⑦關閉"Flight"程序。3、單擊工具欄中的"Stop"按鈕,結(jié)束腳本的錄制過程。 4、單擊工具欄的"SAVE"按鈕,在彈出的SAVE對話框中,選擇保存的位置〔本例為:D盤根目錄,輸入保有存的文件名〔f_q_1,單擊"保存"按鈕完成保存操作。任務2:在新增訂票的測試腳本中設置檢查點學一學:QTP檢查點:標準檢查點:數(shù)據(jù)庫檢查點:做一做: 1、根據(jù)F_L_6測試用例的預期結(jié)果,在關鍵字腳本窗體中,單擊"FlightReservation",單擊系統(tǒng)主菜單欄中的"Insert",在子菜單中選擇"CheckPoint"項,選擇"StandardCheckPoint"項,在彈出的"CheckpointProperties"對話框中單擊"OK"按鈕,如圖3-8:圖3-8QTP中設置標準檢查點 2、根據(jù)F_N_1測試用例的預期結(jié)果,在關鍵字腳本窗體中,單擊"FlightReservations",如圖3-9,單擊系統(tǒng)主菜單欄中的"Insert",在子菜單中選擇"CheckPoint"項,選擇"StandardCheckPoint"項,在彈出的"CheckpointProperties"對話框中單擊"OK"按鈕。圖3-9QTP中F_N_1設置標準檢查點 3、根據(jù)F_N_2測試用例的預期結(jié)果,在關鍵字腳本窗體中,單擊"FlightReservations",如圖3-10,單擊系統(tǒng)主菜單欄中的"Insert",在子菜單中選擇"CheckPoint"項,選擇"StandardCheckPoint"項,在彈出的"CheckpointProperties"對話框中單擊"OK"按鈕。圖3-10QTP中F_N_2設置標準檢查點 4、根據(jù)F_N_3測試用例的預期結(jié)果,在關鍵字腳本窗體中,單擊"FlightReservations",單擊系統(tǒng)主菜單欄中的"Insert",在子菜單中選擇"CheckPoint"項,選擇"StandardCheckPoint"項,在彈出的"CheckpointProperties"對話框中單擊"OK"按鈕。5、根據(jù)F_N_8測試用例的預期結(jié)果,在關鍵字腳本窗體中,單擊"FlightsTable",單擊系統(tǒng)主菜單欄中的"Insert",在子菜單中選擇"CheckPoint"項,選擇"StandardCheckPoint"項,在彈出的"CheckpointProperties"對話框中單擊"OK"按鈕。 6、根據(jù)F_N_8測試用例的預期結(jié)果,在關鍵字腳本窗體中,單擊"FlightReservations",單擊系統(tǒng)主菜單欄中的"Insert",在子菜單中選擇"CheckPoint"項,選擇"DdatebaseCheckPoint"項,彈出"DatabaseQueryWizard"對話框,選取"SpecifySQLatatmentmanually"項,單擊"下一步"按鈕,如圖3-11:圖3-11QTP中設置數(shù)據(jù)庫檢查點在"DdataBaseQueryWizard"對話框中單擊"Create"按鈕,彈出"選擇數(shù)據(jù)源"對話框,單擊"機器數(shù)據(jù)源"項,在列表中選擇"QT_Flight2”,單擊確認按鈕,如圖3-12:圖3-12QTP中設置數(shù)據(jù)庫檢查點系統(tǒng)打開"DatabaseCheckpointProperties"對話框,單擊表格左上角的"全選"按鈕,單擊"取消選擇"按鈕,如下左圖,單擊20行的行標記,選取19行〔測試用例F_N_4新增加的訂單,單擊"OK"按鈕,如圖3-13:圖3-13QTP中設置數(shù)據(jù)庫檢查點 7、單擊工具欄的"SAVE"按鈕,保存腳本。任務3:執(zhí)行新增訂票測試腳本并分析測試報告在QTP主窗體上單擊工具欄中的"RUN"按鈕,在彈出的對話框中單擊"確認",系統(tǒng)自動啟動Flight,根據(jù)腳本自動進行測試〔本腳本的運行時間大約是1分鐘,如圖3-14,腳本運行結(jié)束后關閉Flight系統(tǒng)。.圖3-14QTP腳本運行圖腳本執(zhí)行完成后,自動打開"TestResults"功能測試報告窗體,如圖3-15:圖3-15QTP自動測試測試報告"TestResults"功能測試報告窗體的右側(cè)為檢查總結(jié),顯示本腳本的名稱,運行時間及腳本中名檢查點的通過、失敗、出錯的數(shù)量。失敗和出錯的數(shù)量就是軟件缺陷的數(shù)量。"TestResults"功能測試報告窗體的左側(cè)為"腳本的測試關鍵字",單擊+號可以展開,在每個檢查點的前面有一個鉤或叉,鉤代表這個檢查點通過測試,叉代表這個檢查沒有通過測試,也就是在這個檢查點上軟件存在缺陷。對于每個失敗或者出錯均可以在此單擊。察看或者出錯的詳細信息,以便我們進一步確認缺陷。讀一讀:一、自動化測試自動化測試是把以人為驅(qū)動的測試行為轉(zhuǎn)化為機器執(zhí)行的一種過程。通常,在設計了測試用例并通過評審之后,由測試人員根據(jù)測試用例中描述的規(guī)程一步步執(zhí)行測試,得到實際結(jié)果與期望結(jié)果的比較。在此過程中,為了節(jié)省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。二、自動化測試的實施條件實施自動化測試之前需要對軟件開發(fā)過程進行分析,以觀察其是否適合使用自動化測試。通常需要同時滿足以下條件:1>軟件需求變動不頻繁。測試腳本的穩(wěn)定性決定了自動化測試的維護成本。如果軟件需求變動過于頻繁,測試人員需要根據(jù)變動的需求來更新測試用例以及相關的測試腳本,而腳本的維護本身就是一個代碼開發(fā)的過程,需要修改、調(diào)試,必要的時候還要修改自動化測試的框架,如果所花費的成本不低于利用其節(jié)省的測試成本,那么自動化測試便是失敗的。項目中的某些模塊相對穩(wěn)定,而某些模塊需求變動性很大。我們便可對相對穩(wěn)定的模塊進行自動化測試,而變動較大的仍是用手工測試。2>項目周期足夠長。由于自動化測試需求的確定、自動化測試框架的設計、測試腳本的編寫與調(diào)試均需要相當長的時間來完成。這樣的過程本身就是一個測試軟件的開發(fā)過程,需要較長的時間來完成。如果項目的周期比較短,沒有足夠的時間去支持這樣一個過程,那么自動化測試便成為笑談。3>自動化測試腳本可重復使用。如果費盡心思開發(fā)了一套近乎完美的自動化測試腳本,但是腳本的重復使用率很低,致使其間所耗費的成本大于所創(chuàng)造的經(jīng)濟價值,自動化測試便成為了測試人員的練手之作,而并非是真正可產(chǎn)生效益的測試手段了。另外,在手工測試無法完成,需要投入大量時間與人力時也需要考慮引入自動化測試。比如性能測試、配置測試、大數(shù)據(jù)量輸入測試等。通常適合于軟件測試自動化的場合:<1>回歸測試,重復單一的數(shù)據(jù)錄入或是擊鍵等測試操作造成了不必要的時間浪費和人力浪費;<2>此外測試人員對程序的理解和對設計文檔的驗證通常也要借助于測試自動化工具;<3>采用自動化測試工具有利于測試報告文檔的生成和版本的連貫性;<4>自動化工具能夠確定測試用例的覆蓋路徑,確定測試用例集對程序邏輯流程和控制流程的覆蓋;三、主流的自動化測試工具1、HP公司<前身是Mercury>:qtp,winrunner

:QTP和WinRunner是企業(yè)級的功能測試工具,用于檢測應用程序是否能夠達到預期的功能及正常運行,自動執(zhí)行重復任務并優(yōu)化測試工作,從而縮短測試時間。通過自動錄制、檢測和回放用戶的應用操作,從而提高測試效率。2、IBM公司<前身是Rational>:robotrft<rationalfunctionaltest>

:Robot屬于RationalTestSuite中的一員,對于Visualstudio6編寫的程序支持的非常好,同時還支持JavaApplet、HTML、OracleForms、PeopleTools應用程序的支持。要支持Delphi程序的測試還必須下載插件。RationalRobot的語法使用Basic語法,它的語言使用SQABasic。

FunctionalTester它是Robot的Java實現(xiàn)版本,在Rational被IBM收購后發(fā)布的。在Java的浪潮下,Robot被移植到了Eclipse平臺,并完全支持Java和.net。可以使用VB.net和Java進行腳本的編寫,當然了錄下腳本讓后做做修改是最爽的事情了。由于支持Java,那么對測試腳本進行測試也變成了可能。更多的信息請到IBMdeveloperworks上查看,另外還提供試用版本下載。3、Borland公司<前身是segue>:silktest:SilkTest是面向Web應用、Java應用和傳統(tǒng)的C/S應用,進行自動化的功能測試和回歸測試的工具。它提供了用于測試的創(chuàng)建和定制的工作流設置、測試計劃和管理、直接的數(shù)據(jù)庫訪問及校驗等功能,使用戶能夠高效率地進行軟件自動化測試。為提高測試效率,SilkTest提供多種手段來提高測試的自動化程度,包括:從測試腳本的生成、測試數(shù)據(jù)的組織、測試過程的自動化、測試結(jié)果的分析等方面。在測試腳本的生成過程中,SilkTest通過動態(tài)錄制技術(shù),錄制用戶的操作過程,快速生成測試腳本。在測試過程中,SilkTest還提供了獨有的恢復系統(tǒng)<RecoverySystem>,允許測試可在24×7×365全天候無人看管條件下運行。在測試過程中一些錯誤導致被測應用崩潰時,錯誤可被發(fā)現(xiàn)并記錄下來,之后,被測應用可以被恢復到它原來的基本狀態(tài),以便進行下一個測試用例的測試。SilkTest是一種用于目前全球企業(yè)應用的先進的基于標準的測試平臺。憑借SilkTest,Segue通過為用戶提供跨多語言、多平臺和多個Web瀏覽器實施單個腳本、對本地化應用進行同步測試的能力,使其領先的SilkTest?功能測試產(chǎn)品的功能得到了擴展。4、Compuware公司:QArun

:QARun一款自動回歸測試工具,與Winrunner比較學習成本要低很多。不過要安裝QARun必須安裝.net環(huán)境,另外它還提供與TestTrackPro的集成。5、360WebTester是一款Web功能測試和回歸測試工具,以ruby作為腳本語言,可以作為watirIDE,簡單易用,學習成本低,中文文檔豐富,擁有強大的web對象查看器??梢酝ㄟ^自動錄制、檢測和回放用戶的應用操作,也可以編寫測試腳本實現(xiàn)復雜的測試邏輯。6、AutoIT這是一個使用類似BASIC腳本語言的免費軟件,它設計用于WindowsGUI<圖形用戶界面>中進行自動化操作.它利用模擬鍵盤按鍵,鼠標移動和窗口/控件的組合來實現(xiàn)自動化任務.而這是其它語言不可能做到或無可靠方法實現(xiàn)的<例如VBScript和SendKeys>。7、TestComplete是AutomatedQA公司開發(fā)的一套支持自動測試軟件的工具,為Windows、.NET、Java和Web應用程序提供了一個特性全面的自動測試環(huán)境。將開發(fā)人員和QA部門人員從繁瑣耗時的人工測試中解脫出來,TestComplete測試具有系統(tǒng)化、自動化和結(jié)構(gòu)化特性,支持.NET,Java,VisualC++,VisualBasic,Delphi,C++Builder和web應用程序。8、Selenium

基于Web的開源的功能測試工具,有三種方式或者工具:SeleniumIDE,SeleniumCore和SeleniumRemoteControl;SeleniumIDE,一個FireFoxplugin,能自動記錄用戶的操作,生成測試腳本。生成的測試腳本可以用SeleniumCore手工執(zhí)行,也能基于SeleniumRC放入Java,C#,Ruby的單元測試用例中自動運行。四、QTP功能簡介QTP〔QuickTestProfessional是HP公司〔原為Mercury公司推出的自動化功能測試軟件,用于創(chuàng)建功能和回歸測試。它自動捕獲、驗證和重放用戶的交互行為。QTP采用了關鍵詞驅(qū)動〔Keyword-Driven測試的理念,能完全簡化測試的創(chuàng)建和維護工作。QTP關鍵詞驅(qū)動方式獨有之處在于,測試自動化專家可以通過一個整合的腳本和糾錯環(huán)境,擁有對基礎測試腳本

溫馨提示

  • 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

提交評論