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