軟件測試自動化_第1頁
軟件測試自動化_第2頁
軟件測試自動化_第3頁
軟件測試自動化_第4頁
軟件測試自動化_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件測試自動化第1頁,共60頁,2023年,2月20日,星期二8.1軟件測試自動化的意義1、軟件測試與軟件測試自動化(1)軟件測試(2)軟件測試自動化利用測試工具自動完成或輔助完成測試任務。利用軟件來測試軟件。這里所用的軟件主要是自動測試腳本。第2頁,共60頁,2023年,2月20日,星期二8.1軟件測試自動化的意義2、手工測試——優(yōu)勢測試用例的設計界面和用戶體驗測試邏輯判斷的正確性檢查第3頁,共60頁,2023年,2月20日,星期二8.1軟件測試自動化的意義2、手工測試——局限性通過手工測試無法做到覆蓋所有代碼路徑;

許多與時序、死鎖、資源沖突、多線程等有關的錯誤通過手工測試很難捕捉到在系統(tǒng)負載、性能測試時,需要模擬大量數(shù)據(jù)、或大量并發(fā)用戶等各種應用場合時,也很難通過手工測試來進行在進行系統(tǒng)可靠性時,需要模擬系統(tǒng)運行十年、幾十年,以驗證系統(tǒng)能否穩(wěn)定運行,也是手工測試無法模擬的。如果有大量(幾千)的測試用例,需要在短時間內(nèi)完成,手工測試又怎么辦呢?測試可以發(fā)現(xiàn)錯誤,并不能表明程序的正確性。第4頁,共60頁,2023年,2月20日,星期二8.1軟件測試自動化的意義3、軟件測試自動化的優(yōu)勢(1)自動運行的速度快。(2)測試結(jié)果準確。(3)高復用性。(4)永不疲勞(5)可靠(6)獨特的能力第5頁,共60頁,2023年,2月20日,星期二8.1軟件測試自動化的意義4、軟件測試自動化帶來的好處(1)對程序的新版本回歸測試時,開銷小。(2)可以在較少的時間內(nèi)運行更多的測試。(3)可執(zhí)行一些手工測試困難或不可能做的測試。(4)代替人完成重復性工作,更好地利用人力資源。(5)測試具有一致性和重復性。(6)縮短了測試時間,使產(chǎn)品更快推向市場。(7)好的測試軟件可以增加軟件信任度。第6頁,共60頁,2023年,2月20日,星期二8.1軟件測試自動化的意義5、軟件測試自動化的局限性(1)不能取代手工測試。(2)手工測試比自動測試發(fā)現(xiàn)的錯誤更多。(3)自動測試腳本可能包含錯誤。(4)測試自動化可能會制約軟件開發(fā)。第7頁,共60頁,2023年,2月20日,星期二8.1軟件測試自動化的意義6、對軟件測試自動化的誤解(1)希望將所有測試活動自動化。(2)購買一個測試工具,滿足所有自動化測試需求。(3)馬上減輕測試工作負擔。(4)在縮短進度上立竿見影。(5)期望自動產(chǎn)生測試計劃。(6)達到100%的測試覆蓋率。第8頁,共60頁,2023年,2月20日,星期二8.2測試自動化的原理和方法1、測試自動化的原理

軟件測試自動化實現(xiàn)的基礎是通過設計的特殊程序模擬測試人員對計算機的操作過程、操作行為,或者類似于編譯系統(tǒng)那樣對程序進行靜態(tài)檢查。第9頁,共60頁,2023年,2月20日,星期二8.2測試自動化的原理和方法2、測試自動化實現(xiàn)的方法1)直接對代碼進行靜態(tài)和動態(tài)分析2)測試過程的捕獲和回放(錄制——回放)3)腳本技術4)自動比較

第10頁,共60頁,2023年,2月20日,星期二1)代碼分析代碼分析類似于高級語言編譯系統(tǒng),一般針對不同的高級語言去構(gòu)造分析工具,在工具中定義類、對象、函數(shù)、變量等定義規(guī)則、語法規(guī)則;在分析時對代碼進行語法掃描,找出不符合編碼規(guī)范的地方;根據(jù)某種質(zhì)量模型評價代碼質(zhì)量,生成系統(tǒng)的調(diào)用關系圖等。第11頁,共60頁,2023年,2月20日,星期二2)捕獲和回放捕獲和回放是一種黑盒測試的自動化方法。

捕獲是將用戶每一步操作都記錄下來。這種記錄的方式有兩種:程序用戶界面的像素坐標或程序顯示對象(窗口、按鈕、滾動條等)的位置,以及相對應的操作、狀態(tài)變化或是屬性變化。所有的記錄轉(zhuǎn)換為一種腳本語言所描述的過程,以模擬用戶的操作。

回放時,將腳本語言所描述的過程轉(zhuǎn)換為屏幕上的操作,然后將被測系統(tǒng)的輸出記錄下來同預先給定的標準結(jié)果比較。第12頁,共60頁,2023年,2月20日,星期二3)腳本技術腳本是一種特殊的計算機程序。包括:數(shù)據(jù)和指令。(2)腳本的產(chǎn)生(1)什么是腳本?直接用腳本語言編寫通過錄制測試的操作產(chǎn)生第13頁,共60頁,2023年,2月20日,星期二3)腳本技術(續(xù))(3)自動化功能測試腳本的開發(fā)方式——錄制手工執(zhí)行的測試用例得到的腳本?!愃平Y(jié)構(gòu)化程序設計,有各種邏輯結(jié)構(gòu)?!汛響贸绦蛐袨榈哪_本在其他腳本之間共享。線性腳本結(jié)構(gòu)化腳本共享腳本第14頁,共60頁,2023年,2月20日,星期二3)腳本技術(續(xù))(3)自動化功能測試腳本的開發(fā)方式——把檢查點和執(zhí)行操作的控制都維護在外部數(shù)據(jù)文件中?!褱y試數(shù)據(jù)從腳本中分離出去,存儲在外部文件中。數(shù)據(jù)驅(qū)動腳本關鍵字驅(qū)動腳本第15頁,共60頁,2023年,2月20日,星期二線性腳本第16頁,共60頁,2023年,2月20日,星期二結(jié)構(gòu)化腳本第17頁,共60頁,2023年,2月20日,星期二數(shù)據(jù)驅(qū)動腳本第18頁,共60頁,2023年,2月20日,星期二3)腳本技術(續(xù))(4)測試腳本的開發(fā)流程P238第19頁,共60頁,2023年,2月20日,星期二3)腳本技術(續(xù))(5)測試腳本應具備以下特性:結(jié)構(gòu)化可讀性復用性可維護性第20頁,共60頁,2023年,2月20日,星期二4)自動比較的類型(1)靜態(tài)比較和動態(tài)比較(3)敏感性比較和健壯性比較(2)簡單比較和復雜比較(4)比較過濾器第21頁,共60頁,2023年,2月20日,星期二8.3自動化測試的引入和應用1、引入軟件測試自動化的策略(1)從組織的需要出發(fā)考慮投資自動化測試工具。(2)在項目的預算和時間約束條件下(3)確定項目中適合自動化執(zhí)行的測試任務。(4)確定購買或自主開發(fā)(5)通過小范圍試用確定是否需要工具第22頁,共60頁,2023年,2月20日,星期二8.3自動化測試的引入和應用2、適合自動化執(zhí)行的任務單元測試、集成測試、系統(tǒng)負載測試、性能測試、穩(wěn)定性測試、可靠性測試等比較適合采用自動化測試。自動化測試工具在進行功能測試時,其準確的含義是回歸測試工具,這時工具不能發(fā)現(xiàn)更多的新問題,但可以保證對已經(jīng)測試過部分的準確性和客觀性。第23頁,共60頁,2023年,2月20日,星期二8.4軟件測試工具的分類1、按照測試方法分為:(1)白盒測試工具(2)黑盒測試工具2、按照測試的對象和目的,可以分為:

單元測試工具、功能測試工具、負載測試工具、

性能測試工具、Web測試工具、數(shù)據(jù)庫測試工具、

回歸測試工具、嵌入式測試工具、

頁面鏈接測試工具、測試設計與開發(fā)工具、

測試執(zhí)行和評估工具、測試管理工具等。第24頁,共60頁,2023年,2月20日,星期二8.4軟件測試工具的分類3、按照測試工具的收費方式分為:(1)商業(yè)測試工具(2)開源測試工具(3)免費測試工具(4)自主開發(fā)測試工具第25頁,共60頁,2023年,2月20日,星期二8.5如何選擇測試工具

測試人員在選擇和使用自動化測試工具時,可以從以下角度來考慮:按照用途選擇匹配的測試工具在適當?shù)纳芷谶x擇測試工具按照測試人員的實際技能選擇匹配的測試工具第26頁,共60頁,2023年,2月20日,星期二8.6目前市場上主流的測試工具

目前市場上專業(yè)開發(fā)軟件測試工具的公司有很多,比如MI公司和Rational公司。1、MI公司的產(chǎn)品(1)LoadRunner

(2)WinRunner

(3)TestDirector

(4)QTP(quicktestProfessional)第27頁,共60頁,2023年,2月20日,星期二2、IBMRational公司的產(chǎn)品(1)RationalTestmanager

(2)RationalClearQuest

(3)RationalRobot

(4)RationalPurify3、Telelogic公司產(chǎn)品

最有名的logiscope白盒測試工具4、Parasoft公司產(chǎn)品

JTest白盒測試工具

C++Test白盒測試工具第28頁,共60頁,2023年,2月20日,星期二8.7QTP工具介紹

QTP的全稱是QuickTestProfessional,是MI公司繼WinRunner之后開發(fā)的一款功能測試工具。

QTP能夠測試Windows標準程序、各種Web對象、ActiveX控件、VisualBasic應用程序等。第29頁,共60頁,2023年,2月20日,星期二8.7QTP工具介紹1、QTP簡介

QTP的全稱是QuickTestProfessional,是MI公司繼WinRunner之后開發(fā)的一款功能測試工具。

QTP能夠測試Windows標準程序、各種Web對象、ActiveX控件、VisualBasic應用程序等。第30頁,共60頁,2023年,2月20日,星期二8.7QTP工具介紹2、QTP測試方法使用QTP執(zhí)行測試與人工測試一樣。QTP會仿真鼠標的動作與鍵盤的輸入,會將應用程序的所有操作都記錄下來,比如點擊一個鏈接、選擇一個復選框等操作都會被QTP捕獲,并自動將窗體中的各個控件對象記錄下來,存儲在對象倉庫中。不過QTP比人工測試快得多,可以加速整個測試的過程。第31頁,共60頁,2023年,2月20日,星期二8.7QTP工具介紹3、QTP的測試過程(1)編寫測試計劃(2)錄制測試腳本(3)編輯測試腳本(4)運行測試(5)結(jié)果分析第32頁,共60頁,2023年,2月20日,星期二8.7QTP工具介紹4、QTP的安裝用戶可以選擇的安裝版本有:

演示版單機版網(wǎng)絡版第33頁,共60頁,2023年,2月20日,星期二8.7QTP工具介紹4、QTP的界面介紹

在QTP界面中包含標題欄、菜單欄、文件工具欄、測試工具欄、調(diào)試工具欄、測試腳本管理窗口、數(shù)據(jù)表窗口、活動窗口和狀態(tài)欄。第34頁,共60頁,2023年,2月20日,星期二QTP界面第35頁,共60頁,2023年,2月20日,星期二測試案例

QTP中自帶了兩個測試案例:(1)Flight是單機版的軟件,用來管理民航系統(tǒng)的訂票記錄,具有新建訂單和查詢訂單的功能(2)MercuryToursWebsite是MI公司開發(fā)的一個B/S結(jié)構(gòu)的小型網(wǎng)站第36頁,共60頁,2023年,2月20日,星期二錄制/執(zhí)行測試腳本錄制前的準備(1)已經(jīng)在MercuryTours示范網(wǎng)站上注冊了一個新的使用者賬號;(2)在正式錄制一個測試之前,關閉所有已經(jīng)打開的IE窗口;(3)關閉所有與測試不相關的程序窗口;第37頁,共60頁,2023年,2月20日,星期二錄制/執(zhí)行測試腳本(續(xù))在這里我們使用QTP錄制一個測試腳本,在MercuryTours示范網(wǎng)站上預定一張從紐約(NewYork)到舊金山(SanFrancisco)的機票。第38頁,共60頁,2023年,2月20日,星期二錄制腳本的步驟:

(1)執(zhí)行QTP并開啟一個全新的測試腳本(2)開始錄制測試腳本(3)登錄MercuryTours網(wǎng)站(4)輸入訂票數(shù)據(jù)(5)選擇飛機航班(6)輸入必填字段(7)完成定制流程(8)停止錄制(9)保存腳本第39頁,共60頁,2023年,2月20日,星期二RecordandRunSettings對話框第40頁,共60頁,2023年,2月20日,星期二RecordandRunSettings對話框第41頁,共60頁,2023年,2月20日,星期二分析測試腳本在測試過程中,QTP會在測試管理腳本管理窗口中產(chǎn)生對每一個操作的相應記錄。并在關鍵字視圖中一類似Excel工作表的方式顯示所錄制的測試腳本。測試腳本管理窗口顯示的內(nèi)容如圖所示:第42頁,共60頁,2023年,2月20日,星期二測試腳本管理窗口第43頁,共60頁,2023年,2月20日,星期二在關鍵字視圖中的每一個字段的意義:Item:以階層式圖標表示這個操作步驟所作用的組件Operation:要在作用到的組件上執(zhí)行的操作Value:執(zhí)行動作的參數(shù)Documentation:自動產(chǎn)生用來描述此操作步驟的英文解釋第44頁,共60頁,2023年,2月20日,星期二執(zhí)行測試腳本

當運行錄制好的測試腳本時,QTP會打開被測試程序,執(zhí)行在測試中錄制的每一步操作。步驟:(1)打開錄制的Flight測試腳本(2)在工具欄上點擊“Run”按鈕,打開“Run”對話框,詢問本次測試運行結(jié)果保存到何處(3)點擊“OK”按鈕開始執(zhí)行測試腳本第45頁,共60頁,2023年,2月20日,星期二Run對話框第46頁,共60頁,2023年,2月20日,星期二分析測試結(jié)果

測試運行結(jié)束后,QTP會顯示本次運行的結(jié)果。

測試結(jié)果窗口如下圖所示:第47頁,共60頁,2023年,2月20日,星期二測試結(jié)果窗口第48頁,共60頁,2023年,2月20日,星期二

在這個測試結(jié)果窗口中分兩部分顯示測試執(zhí)行的結(jié)果:左邊顯示Testresultstree,以階層圖標的方式顯示測試腳本所執(zhí)行的步驟。右邊則是顯示測試結(jié)果的詳細信息。在第一個表格中顯示哪些迭代是已經(jīng)通過的,哪些是失敗的。在第二個表格中顯示測試腳本的檢查點,哪些是通過的,哪些是失敗的,以及有幾個告警信息。第49頁,共60頁,2023年,2月20日,星期二建立檢查點通過前面的學習我們已經(jīng)掌握了如何錄制、執(zhí)行測試腳本以及查看測試結(jié)果。實現(xiàn)了測試執(zhí)行自動化,但是沒有實現(xiàn)測試驗證的自動化在測試腳本中設置檢查點,驗證執(zhí)行結(jié)果的正確性檢查點是將指定屬性的當前值與該屬性的期望值進行比較的第50頁,共60頁,2023年,2月20日,星期二檢查點的種類檢查點類型說明范例標準檢查點檢查對象的屬性檢查某個按鈕是否被選取文字檢查點檢查網(wǎng)頁或是窗口上出現(xiàn)的文字是否正確檢查圖片的來源文件是否是正確的表格檢查點檢查表格的內(nèi)容檢查表格內(nèi)的內(nèi)容是否是正確的網(wǎng)頁檢查點檢查網(wǎng)頁的屬性檢查網(wǎng)頁加載的時間或是網(wǎng)頁是否含有不正確的鏈接第51頁,共60頁,2023年,2月20日,星期二

可以在錄制測試腳本的過程中,或錄制結(jié)束后向測試腳本中添加檢查點創(chuàng)建檢查點

打開Flight測試腳本,將腳本另存為“Checkpoint”測試腳本。在Checkpoint測試腳本中創(chuàng)建4個檢查點,分別是:對象檢查點、網(wǎng)頁檢查點、文字檢查點和表格檢查點。第52頁,共60頁,2023年,2月20日,星期二創(chuàng)建標準檢查點步驟(例檢查旅客的姓氏)

(1)打開Checkpoint測試腳本(2)選擇要建立檢查點的網(wǎng)頁”BookaFlightMercury”

(3)建立標準檢查點對“ActiveScreen”中的“FirstName”編輯框點擊鼠標右鍵,顯示插入選擇點的類型。選擇“InsertStandardCheckpoint”,顯示“ObjectSelection-CheckpointProperties”對話框,確定當前的焦點定位在“WebEdit:passFirst0”上,點擊“確定”按鈕第53頁,共60頁,2023年,2月20日,星期二創(chuàng)建網(wǎng)頁檢查點步驟

(1)打開Checkpoint測試腳本(2)選擇要建立檢查點的網(wǎng)頁”BookaFlightMercury”

(3)建立網(wǎng)頁檢查點對“ActiveScreen”中的任意地方點擊鼠標右鍵,顯示插入選擇點的類型。選擇“InsertStandardCheckpoint”顯示“ObjectSelection-CheckpointProperties”對話框,確定當前的焦點定位在“Page:BookaFlight:Mercury”上,點擊“確定”按鈕第54頁,共60頁,2023年,2月20日,星期二創(chuàng)建文字檢查點步驟

(1)打開Checkpoint測試腳本(2)選擇要建立檢查點的網(wǎng)頁”FlightConfirmation:Mercury”

(3)建立文字檢查點對“ActiveScreen”中選擇在“Departing”下方的“NewYork”點擊鼠標右鍵,顯示插入選擇點的類型。選擇“InsertTextCheckpoint”,顯示“TextCheckpointProperties”對話框點擊“確定”按鈕第55頁,共60頁,2023年,2月20日,星期二創(chuàng)建表格檢查點步驟

(1)打開Checkpoint測試腳本(2)選擇要建立檢查點的網(wǎng)頁”BookaFlig

溫馨提示

  • 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

提交評論