| | |

由於工作上需要,這星期開始接觸QTP自動化測試工具軟體。

QuickTest Professional(QTP)是一種自動測試工具。
  使用QTP的目的是想用它來執行重複的手動測試,主要是用於回歸測試和測試同一軟件的新版本。因此你在測試前要考慮好如何對應用程序進行測試,例如要測試那些功能、操作步驟、輸入數據和期望的輸出數據等。
【軟件特點】
1)QTP是一個側重於功能的回歸自動化測試工具;提供了很多插件,如:.NET的,Java的,SAP的,Terminal Emulator的等等,分別用於各自類型的產品測試。默認提供Web,ActiveX和VB。
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 定義。
5)Object Repository(OR)是QTP存儲對象的地方。測試腳本運行後,QTP根據測試腳本代碼,從這個對象庫中查找相應對象。每個Action可以對應有一個或者多個OR,也可以設置某個OR為 sharable的,這樣可以供其他Action使用。注意,使用QTP錄製功能時,默認將被測對象放在local OR中,可以通過 Resources->Object Respository,選擇Local查看。
6)說到QTP的要點,不得不說Action。Action是QTP組織測試用例的具體形式,擁有自己的DataTable和Object Repository,支持Input和output參數。Action可以設置為share類型的,這樣可以被其他test中的Action調用(注意:QTP是不支持在一個test中調用另外一個test的,只有通過sharable action來調用)。
7)如3)所述,一個test中,多個action的流程組織,只有通過Keyword視圖查看和刪除,在Expert視圖中沒有辦法看到。
8)調用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中。
9)QTP提供excel 形式的數據表格DataTable,可以用來存放測試數據或參數。DataTable有兩種類型:global 和local。QTP為DataTable提供了許多方法供存取數據,在對測試代碼進行參數化的時候,這些方法非常有用。
10)環境變量(Environment Variables)。在一個test中,環境變量可以被當前test中所有action共享。環境變量也有兩種類型:build in 和user defined。用戶自定義的環境變量可以指向一個XML文件,這樣可以實現在眾多test之間共享變量。
11)QTP可以引用外部的VBS代碼庫,通過Settings-》Resource加入,也可以ExecuteFile命令在代碼中直接執行。這種VBS庫可以為所有action和test共享。
12)QTP默認為每個test提供一個測試結果,包括Passed,Failed,Done,Warning和information幾種狀態類型,可以進行對結果Filter。但是,只能為每個test產生一個testing result,不能為多個testing產生一個總的testing result.
13)描述性編程(DP),一種OR替代方案。正常情況下,不要大量採用DP,維護起來遠沒有OR方便,也不直觀。另外,兩種情況下,都可以使用Regular Express,這個在多語言版本測試時非常有用。
14)Recovery Scenario錯誤現場恢復。運行測試代碼過程中,總是有這樣那樣的不可預料的錯誤產生,若連續運行多個test,前面一個test的不可預料的錯誤可能導致後一個test沒有機會運行。設置現場恢復處理,可以在前一個test出錯後,將被測系統恢復到初始狀態,以供後一個test運行。
15)QTP和被測系統(AUT)必須在同一台機器上運行(當然,可以遠程控制QTP)
16)QTP對外提供了大量的API和對象,可以利用這些,通過編寫Scripts來實現測試的操作、配置、運行和管理完全自動化,這一塊可以有很多文章可以做。
17)用QTP編寫的測試代碼,必須在QTP上運行。
【使用方法】
  QTP進行功能測試的測試流程 [制定測試計劃]——>[創建測試腳本]——>[增強測試腳本功能]——>[運行測試]——>[分析測試結果] 大致五個步驟:
  1、制定測試計劃
  自動測試的測試計劃是根據被測項目的具體需求,以及所使用的測試工具而制定的,完全用於指導測試全工程。
  QTP是一個功能測試工具,主要幫助測試人員完成軟件的功能測試,,與其他測試工具一樣,QTP不能完全取代測試人員的手工操作,但是在某個功能點上,使用QTP的確能夠幫助測試人員做很多工作。在測試計劃階段,首先要做的就是分析被測應用的特點,決定應該對哪些功能點進行測試,可以考慮細化到具體頁面或者具體控件。對於一個普通的應用程序來說,QTP應用在某些界面變化不大的回歸測試中是非常有效的。
  2、創建測試腳本
  當測試人員瀏覽站點或在應用程序上操作的時候,QTP的自動錄製機制能夠將測試人員的每一個操作步驟及被操作的對象記錄下來,自動生成測試腳本語句。與其他自動測試工具錄製腳本有所不同的是,QTP除了以VBScript腳本語言的方式生成腳本語句以外,還將被操作的對象及相應的動作按照層次和順序保存在一個基於表格的關鍵字視圖中。比如,當測試人員單擊一個鏈接,然後選擇一個CheckBox或者提交一個表單,這樣的操作流程都會被記錄在關鍵字視圖中。
  3、增強測試腳本的功能
  錄製腳本只是實現創建或者設計腳本的第一步,基本的腳本錄製完畢後,測試人員可以根據需要增加一些擴展功能,QTP允許測試人員通過在腳本中增加或更改測試步驟來修正或自定義測試流程,如增加多種類型的檢查點功能,既可以讓QTP檢查一下在程序的某個特定位置或對話框中是否出現了需要的文字,還可以檢查一個鏈接是否返回了正確的URL地址等,還可以通過參數化功能,使用多組不同的數據驅動整個測試過程。
  4、運行測試
  QTP從腳本的第一行開始執行語句,運行過程中會對設置的檢查點進行驗證,用實際數據代替參數值,並給出相應的輸出結構信息。測試過程中測試人員還可以調試自己的腳本,直到腳本完全符合要求。
  5、分析測試
  運行結束後系統會自動生成一份詳細完整的測試結果報告。

DAY 2(04/25)[火車:羅東(8:19)→花蓮(10:05)]花蓮→光復(54.63KM)
這是我規劃單車環島中最輕鬆的一天,當初的想法就是經過第一天的北宜公路挑戰後,第2天就來個輕鬆的路程,也可以讓我們可以好好休息一下。

image

[出發前的合照_羅東-金城客棧]

早上07:45已經買好了2人+2車的車票~準備搭火車去囉~
(羅東站出發時間08:19-花蓮站到達時間10:07)搭火車了
羅東 - 冬山 - 新馬 - 蘇澳新站 - 永樂 - 東澳 - 南澳 - 武塔 - 漢本 - 和平 - 和仁 -崇德 - 新城- 景美 -北埔 -花蓮(共16站)

imageclip_image010

image

image



 

 

 

 

 

 

image

image

image

image

image

image

image

image

跳過這段蘇花公路其實十分可惜,會也是沒辦法囉!(我還蠻想騎這一段的,不過女友的父母不同意,只好暫時作罷囉~等待以後有緣再去騎這段號稱單車環島最美的路段)

呵呵~大家有看到電影『單車環島日記練習曲』漢本車站嗎?那兒的海景蠻漂亮滴,因為沒有停靠,在火車行進間拍的照片都有點”矇矓美”~呵呵~其實拍有點模糊,期待下次能好好慢騎這最美的蘇花公路段。

 

 

 

 

到達花蓮已開始飄雨~把相機收好~開始54KM的雨中漫騎~到達目的地的時候人都全濕&車也噴了一堆泥巴~狀態是---人車都需要大清洗~

上次冒雨騎車是2年前從台東騎往花蓮~那次雨大到看不到路~全憑感覺騎~但是100多位騎乘者全不退縮~完成瘋狂+很難忘的雨中騎~(突然覺得花蓮天氣不怎麼友善~我2次騎車遊花蓮都遇雨)

第2天預定住的光復鄉仙洞人民宿,民宿的楊老闆很nice,原本我們預定雙人雅房,因房間沒滿,就給我們升級雙人套房~房間很大很乾淨,庭院花草也種的很漂亮呢~不錯的民宿要用力推~

clip_image034clip_image036clip_image038

民宿離火車站有段距離~老闆要出去採購些東西~順便帶我們出去吃午餐~再買了泡麵回去當晚餐~

三棟建築物&漂亮大花園的仙洞人民宿~還想再來的地方(but下次要用單車之外的方式)

clip_image040clip_image042clip_image044clip_image046

clip_image048clip_image050


Copyright 2006 | Andreas02v2 by GeckoandFly and Anderssauro
Nenhum conteúdo desse blog pode ser reproduzido sem prévia autorização. Os Populares