1)QTP是一個側重于功能的回歸自動化測試工具;提供了很多插件,如:.NET的,Java的,SAP的,Terminal Emulator的等等,分別用于各自類型的產品測試(每種插件都是要花錢的喲,^_^)。默認提供Web,ActiveX和VB。也就是說,你要是花幾十萬大洋買了QTP,但是沒有購買這些addins,對不起,不支持測試.net或者java或者SAP系統......(哭一個吧)。當然,可以測試標準的Windows32程序。
2)QTP支持的腳本語言是VBScript,這對于測試人員來說,感覺要“舒服”得多(如相比SilkTest采用C語言)。VBScript畢竟是一種松散的、非嚴格的、普及面很廣的語言。
3)QTP支持錄制和回放的功能。錄制產生的腳本,可以拿來作為自己編寫腳本的template。錄制時,還支持一種lower level 功能,這個對于QTP不容易識別出來的對象有用,不過它是使用坐標來標識的,對于坐標位置頻繁變動的對象,采用這種方式不可行。另外,QTP的編輯器支持兩種視圖:Keyword模式和Expert模式。Keyword模式想法是好的,提供一個描述近似于原始測試用例的、跟代碼無關的視圖(我基本很少用,除了查看、管理當前test中各個action的完整流程),而Expert就是代碼視圖,一般編寫腳本都在這個區域。
4)一個有用的工具:Object Spy,可以用來查看Run-time object和Test object屬性和方法。
5)QTP通過三類屬性來識別對象:a)Mandatory; b)Assitive; c)Ordinal identifiers。大部分情況下,通過對象的一些特定屬性值就可以識別對象(類型a)。這些屬性可以通過Tools->Object Identification 定義。
6)Object Repository(OR)是QTP存儲對象的地方。測試腳本運行后,QTP根據測試腳本代碼,從這個對象庫中查找相應對象。每個Action可以對應有一個或者多個OR,也可以設置某個OR為 sharable的,這樣可以供其他Action使用。注意,使用QTP錄制功能時,默認將被測對象放在local OR中,可以通過 Resources->Object Respository,選擇Local查看。
7)說到QTP的要點,不得不說Action。Action是QTP組織測試用例的具體形式,擁有自己的DataTable和Object Repository,支持Input和output參數。Action可以設置為share類型的,這樣可以被其他test中的Action調用(注意:QTP是不支持在一個test中調用另外一個test的,只有通過sharable action來調用)。
原文轉自:http://www.anti-gravitydesign.com