概要說明: 1. 要重視基礎(chǔ)知識的學(xué)習(xí),,尤其是Windows編程,,它是你學(xué)好QTP的內(nèi)功。 2. 要注重原理的掌握,,否則只會頭痛醫(yī)頭腳痛醫(yī)腳,,知其然未知其所以然。 3. 思想好比內(nèi)功心法,工具好比天下絕學(xué),,內(nèi)功深厚的人任何招式都能隨心所欲揮灑自如。所謂“草木竹石不滯于物”,,就是這個(gè)道理,。
具體說明: 學(xué)習(xí)QTP的幾個(gè)過程: 1. 首先,在掌握QTP之前,,最好先把編程的基礎(chǔ)打好——這也是我所強(qiáng)調(diào)的內(nèi)功,。 QTP采用的是VBScript腳本引擎,因此可以從VBScript 的編程語法學(xué)起,,這包括VBScript自帶的一系列豐富的函數(shù)庫,。 1)字符串操作的相關(guān)函數(shù)。 2)使用VBScript訪問各種對象的技術(shù),,因?yàn)樽詣踊瘻y試做到一定程度就要開始組建自動化測試框架了,。 框架無論采用Data-Driven思想還是Keyword-Driven思想,都需要去操作各種Windows相關(guān)的對象,。 比如Windows API,、WSH(Windows腳本宿主)和WMI(Windows管理規(guī)范)。 3)各種文件對象的訪問技術(shù),。 訪問文本文件的FSO(File System Object),; 訪問XML的 DOM(Document Object Model); 訪問Excel的EOM(Excel Object Model),; 訪問數(shù)據(jù)庫的 ADO(ActiveX Data Object),。
2. 其次,要深入了解QTP對象識別的原理和本質(zhì),。 1)什么是強(qiáng)制屬性,,什么是輔助屬性,什么是順序標(biāo)識符,,什么是智能識別,,它們之間是什么關(guān)系,有沒有前后順序,? 2)對象庫(Object Repository)和對象類型庫(Object Identification),,它們之間又有什么聯(lián)系?
3. 掌握QTP最常用的Output Value和Checkpoint,。 1) Output Value也就是輸出值,,可以獲取被測程序的實(shí)際輸出結(jié)果; 2) Checkpoint能夠把獲取到的實(shí)際結(jié)果和預(yù)先設(shè)定好的期望值做比較,,也就是所謂的檢查點(diǎn),。 QTP提供了一組非常豐富的輸出值和檢查點(diǎn),方便自動化測試工程師使用它們快速建立測試場景——如果能用好它們,則可以很大程度上提高腳本開發(fā)的效率,。
4. QTP的參數(shù)化功能用熟,。 1) 因?yàn)樽詣踊瘻y試往往需要批量的執(zhí)行測試用例,所以QTP提供了一種把腳本和參數(shù)分離的技術(shù),,也就是數(shù)據(jù)驅(qū)動. 通過把測試用例的參數(shù)參數(shù)化到DataTable或者環(huán)境變量中,,達(dá)到循環(huán)執(zhí)行測試用例的目的。 2) QTP中可以被參數(shù)化的對象有很多. 對象的名稱可以參數(shù)化; 對象的屬性值可以參數(shù)化; 對象的方法的參數(shù)也可以參數(shù)化;
5. 掌握各種對象識別故障的解決方案技術(shù). 比如虛擬對象,、標(biāo)準(zhǔn)類映射等
6. QTP容錯(cuò)技術(shù)-- 場景恢復(fù)技術(shù)
關(guān)于測試工具QTP: 1. QTP的優(yōu)點(diǎn),、特點(diǎn)、缺點(diǎn),、難點(diǎn),? 優(yōu)點(diǎn):使得你的用例可以高度復(fù)用。 特點(diǎn):簡單易學(xué),。 缺點(diǎn):對象識別的支持還是有些欠缺,。軟件本身有些BUG歷經(jīng)多次版本,始終未得到修復(fù),。 難點(diǎn):讓你的腳本按照你的需求一馬平川的從頭Run到尾,,很難。 1)對象識別故障的解決就像人類的溫飽問題一樣,,是最原始也是最基礎(chǔ)的,。 2)自動化框架的架設(shè)——這已經(jīng)是屬于另一個(gè)境界的問題了。
2. 最多的運(yùn)用在哪些測試工作中,? QTP的特點(diǎn)在于高度復(fù)用,,在任何相關(guān)場合都能得以應(yīng)用。 1)最典型的是在 Regression Testing中,。 2)在Configuration Testing方向,,實(shí)戰(zhàn)性非常好,可以大量省去手工測試的時(shí)間,。
3. 自動化測試框架是什么,? 自動化框架從最原始的script-object形式, 走向Data-Driven(data-script- object)形式,, 繼而走向Keyword-Driven(keyword-data-script-object)形式,, 最后發(fā)展為今天的AOM。
自動化不必追求大而全,,提倡采用的框架: 能把配置層,、數(shù)據(jù)層、代碼層,、對象層,、報(bào)告層和主控層分離開來,就很不錯(cuò)了 |
|