• 山东十一运夺金一定牛:QTP

  • QTP工具簡介

    十一运夺金历史遗漏 www.cixyam.com.cn QTP是Quick Test Professional的簡稱,是一種自動測試工具。使用QTP的目的是想用它來執行重復的自動化測試,主要是用于回歸測試和測試同一軟件的新版本。因此你在測試前要考慮好如何對應用程序進行測試,例如要測試哪些功能、操作步驟、輸入數據和期望的輸出數據等。

  • 基礎功能

    HP QuickTest Professional 提供符合所有主要應用軟件環境的功能測試和回歸測試的自動化。采用關鍵字驅動的理念以簡化測試用例的創建和維護。它讓用戶可以直接錄制屏幕上的操作流程,自動生成功能測試或者回歸測試用例。專業的測試者也可以通過提供的內置腳本和調試環境來取得對測試和對象屬性的完全控制。

  • 軟件特點

  • QTP是一個側重于功能的回歸自動化測試工具;提供了很多插件,如:.NET的,Java的,SAP的,Terminal Emulator的等等,分別用于各自類型的產品測試。默認提供Web,ActiveX和VB

  • QTP支持的腳本語言是VBScript,這對于測試人員來說,感覺要“舒服”得多(如相比SilkTest采用C#,Java,4Test語言)。VBScript畢竟是一種松散的、非嚴格的、普及面很廣的語言

  • QTP支持錄制和回放的功能。錄制產生的腳本,可以拿來作為自己編寫腳本的template。錄制時,還支持一種 lower level 功能,這個對于QTP不容易識別出來的對象有用,不過它是使用坐標來標識的,對于坐標位置頻繁變動的對象,采用這種方式不可行。另外,QTP的編輯器支持兩種視圖:Keyword模式和Expert模式。Keyword模式想法是好的,提供一個描述近似于原始測試用例的、跟代碼無關的視圖(我基本很少用,除了查看、管理當前test中各個action的完整流程),而Expert就是代碼視圖,一般編寫腳本都在這個區域

  • 一個有用的工具:Object Spy,可以用來查看Run-time object和Test object屬性和方法

  • QTP通過三類屬性來識別對象:a)Mandatory; b)Assistive; c)Ordinal identifiers。大部分情況下,通過對象的一些特定屬性值就可以識別對象(類型a)。這些屬性可以通過Tools->Object Identification 定義

  • Object Repository(OR)是QTP存儲對象的地方。測試腳本運行后,QTP根據測試腳本代碼,從這個對象庫中查找相應對象。每個Action可以對應有一個或者多個OR,也可以設置某個OR為sharable的,這樣可以供其他Action使用。注意,使用QTP錄制功能時,默認將被測對象放在local OR中,可以通過 Resources->Object Respository,選擇Local查看

  • 說到QTP的要點,不得不說Action。Action是QTP組織測試用例的具體形式,擁有自己的DataTable和Object Repository,支持Input和output參數。Action可以設置為share類型的,這樣可以被其他test中的Action調用(注意:QTP是不支持在一個test中調用另外一個test的,只有通過sharable action來調用)。

  • 如3)所述,一個test中,多個action的流程組織,只有通過Keyword視圖查看和刪除,在Expert視圖中沒有辦法看到

  • 調用Action可以通過菜單Insert->Call to *** 來實現。QTP提供三種類型的調用方式:a)call to new Action,在當前test中創建一個新的Action;b)call to Copy of Action;c)call to existing action,調用一個re-usable action,如果這個re-usable action來自另外一個test,將以只讀的方式插入到當前test中

  • QTP提供excel 形式的數據表格DataTable,可以用來存放測試數據或參數。DataTable有兩種類型:global 和local。QTP為DataTable提供了許多方法供存取數據,在對測試代碼進行參數化的時候,這些方法非常有用

  • 環境變量(Environment Variables)。在一個test中,環境變量可以被當前test中所有action共享?;肪潮淞懇燦辛街擲嘈停篵uild in 和user defined。用戶自定義的環境變量可以指向一個XML文件,這樣可以實現在眾多test之間共享變量

  • QTP可以引用外部的VBS代碼庫,通過Settings-》Resource加入,也可以ExecuteFile命令在代碼中直接執行。這種VBS庫可以為所有action和test共享

  • QTP默認為每個test提供一個測試結果,包括Passed,Failed,Done,Warning和information幾種狀態類型,可以進行對結果Filter。但是,只能為每個test產生一個testing result,不能為多個testing產生一個總的testing result

  • 主要步驟

    QTP進行功能測試的測試流程:
  • 制定計劃

    自動測試的測試計劃是根據被測項目的具體需求,以及所使用的測試工具而制定的,完全用于指導測試全過程。

    QTP是一個功能測試工具,主要幫助測試人員完成軟件的功能測試,與其他測試工具一樣,QTP不能完全取代測試人員的手工操作,但是在某個功能點上,使用QTP的確能夠幫助測試人員做很多工作。在測試計劃階段,首先要做的就是分析被測應用的特點,決定應該對哪些功能點進行測試,可以考慮細化到具體頁面或者具體控件。對于一個普通的應用程序來說,QTP應用在某些界面變化不大的回歸測試中是非常有效的。

  • 創建腳本

    當測試人員瀏覽站點或在應用程序上操作的時候,QTP的自動錄制機制能夠將測試人員的每一個操作步驟及被操作的對象記錄下來,自動生成測試腳本語句。與其他自動測試工具錄制腳本有所不同的是,QTP除了以VBScript腳本語言的方式生成腳本語句以外,還將被操作的對象及相應的動作按照層次和順序保存在一個基于表格的關鍵字視圖中。比如,當測試人員單擊一個鏈接,然后選擇一個CheckBox或者提交一個表單,這樣的操作流程都會被記錄在關鍵字視圖中。

  • 增強腳本

    錄制腳本只是為了實現創建或者設計腳本的第一步,基本的腳本錄制完畢后,測試人員可以根據需要增加一些擴展功能,QTP允許測試人員通過在腳本中增加或更改測試步驟來修正或自定義測試流程,如增加多種類型的檢查點功能,既可以讓QTP檢查一下在程序的某個特定位置或對話框中是否出現了需要的文字,還可以檢查一個鏈接是否返回了正確的URL地址等,還可以通過參數化功能,使用多組不同的數據驅動整個測試過程。

  • 運行測試

    QTP從腳本的第一行開始執行語句,運行過程中會對設置的檢查點進行驗證,用實際數據代替參數值,并給出相應的輸出結構信息。測試過程中測試人員還可以調試自己的腳本,直到腳本完全符合要求。

  • 分析測試

  • 運行結束后系統會自動生成一份詳細完整的測試結果報告

  • 主要優點

  • Mercury QuickTest Professional 甚至可以使新測試人員在幾分鐘內提高效率。您只需通過按“記錄”按鈕,并使用執行典型業務流程的應用程序即可創建測試腳本。系統使用簡明的英文語句和屏幕抓圖來自動記錄業務流程中的每個步驟。用戶可以在關鍵字視圖中輕松修改、刪除或重新安排測試步驟

  • QuickTest Professional 可以自動引入檢查點,以驗證應用程序的屬性和功能,例如驗證輸出或檢查鏈接有效性。對于關鍵字視圖中的每個步驟,活動屏幕均準確顯示測試中應用程序處理此步驟的方式。您也可以為任何對象添加幾種類型的檢查點,以便驗證組件是否按預期運行(只需在活動屏幕中單擊此對象即可)

  • 然后,可以在產品介紹(具有 Excel 所有功能的集成電子表格)中輸入測試數據,以便在不需要編程的情況下處理數據集和創建多個測試迭代,從而擴大測試案例范圍。您可以鍵入數據,或從數據庫、電子表格或文本文件導入數據

  • 高級測試人員可以在專家視圖中查看和編輯自己的測試腳本,該視圖顯示 QuickTest Professional 自動生成的基于業界標準的內在 VB 腳本。專家視圖中進行的任何變動自動與關鍵字視圖同步

  • 一旦測試人員運行了腳本,TestFusion 報告顯示測試運行的所有方面:高級結果概述,準確指出應用程序故障位置的可擴展樹視圖,使用的測試數據,突出顯示任何差異的應用程序屏幕抓圖,以及每個通過和未通過檢查點的詳細說明。通過使用 Mercury TestDirector 合并 TestFusion 報告,您可以在整個 QA 和開發團隊中共享報告

  • QuickTest Professional 也加快了更新流程。當測試中應用程序出現變動(例如“登錄”按鈕重命名為“登入”)時,您可以對共享對象庫進行一次更新,然后此更新將傳播到所有引用該對象的腳本。您可以將測試腳本發布到 Mercury TestDirector,使其他 QA 團隊成員可以重復使用您的測試腳本,從而消除了重復工作

  • QuickTest Professional 支持所有常用環境的功能測試,包括 Windows、Web、.Net、Visual Basic、ActiveX、Java、SAP、Siebel、Oracle、PeopleSoft 和終端模擬器。為防止系統加載插件過多導致系統負載過重,在系統中只支持3個常用環境插件

  • QTP8.0帶出了自動化測試革命的一個新名詞:關鍵字驅動

版權所有2007-2019 - 上海明運信息科技有限公司   滬ICP備10022825號  |  Privacy Policy    Term and Condition