QTP,全稱為Quick Test Professional,它與WinRunner同為MI公司開發(fā)的功能強(qiáng)大的功能測(cè)試工具。從時(shí)間上來看,WinRunner在1995年便已經(jīng)推出,遠(yuǎn)早于QTP,而QTP直到2002年才正式推出。從MI公司提供的一些官方資料來看,雖然他們宣稱暫時(shí)不準(zhǔn)備淘汰WinRunner,但他們的宣傳資料上又明確表示,QTP已經(jīng)具備了WinRunner中幾乎所有的特性,同時(shí)具備了一些獨(dú)有的特性,并且總體來說,使用更簡(jiǎn)單、更易擴(kuò)展和維護(hù),推薦新用戶使用QTP,并建議已使用WinRunner的老客戶逐漸實(shí)現(xiàn)轉(zhuǎn)換。由此看來,MI公司實(shí)際上已經(jīng)有使用QTP逐步取代WinRunner的計(jì)劃。更重要的是,QTP對(duì)J2EE,.NET架構(gòu)的應(yīng)用程序支持得比WinRunner要好(從我實(shí)際的試用過程中,也感到確實(shí)是如此),因此我認(rèn)為,從我們公司的實(shí)際情況出發(fā),針對(duì)產(chǎn)品綜合部今后將逐步開展自動(dòng)化測(cè)試的計(jì)劃,QTP應(yīng)該是一個(gè)比較好的選擇。
不論是WinnRunner還是QTP,它們都是功能十分強(qiáng)大的測(cè)試工具,加上目前國(guó)內(nèi)關(guān)于測(cè)試工具的培訓(xùn)和文檔資料,實(shí)在是少之又少,因此要完全了解和掌握它們,絕不是一朝一夕的事情。在這里我只能就目前對(duì)它們的理解程度粗略地介紹一下二者的兩點(diǎn)主要不同之處。
1、? ?? ? 使用的腳本語(yǔ)言不同。WinRunner使用的是TSL語(yǔ)言,這是MI公司獨(dú)有的語(yǔ)言,有特殊性,因此在學(xué)習(xí)上會(huì)有一定難度,不過好在它與C 語(yǔ)言比較類似,如果測(cè)試人員有一定的C語(yǔ)言編程基礎(chǔ),會(huì)相對(duì)容易一些。而QTP使用的則是微軟的VBScript語(yǔ)言,比較通用,而且也相對(duì)簡(jiǎn)單易學(xué)。從語(yǔ)言上的比較上來看,我個(gè)人覺得在編程能力上,WinRunner更勝一籌,因?yàn)樗鼡碛邢喈?dāng)豐富的C語(yǔ)言函數(shù)庫(kù),而相對(duì)而言,QTP則更大眾化,它面向的是沒有太多技術(shù)背景和編程經(jīng)驗(yàn)的測(cè)試人員。
2、? ?? ?QTP8.0具有的一大特性:關(guān)鍵字驅(qū)動(dòng)測(cè)試(keyword-driven testing)。它的具體操作方法我將有另外的文檔詳細(xì)說明,這里只是簡(jiǎn)單介紹一下。通過“關(guān)鍵字驅(qū)動(dòng)測(cè)試”,測(cè)試人員不需要“錄制”測(cè)試腳本,而可以改成“設(shè)計(jì)”測(cè)試腳本。即:先將應(yīng)用程序的GUI對(duì)象添加到QTP的對(duì)象倉(cāng)庫(kù)(Object Repository)中,然后針對(duì)每一個(gè)需要操作到的對(duì)象設(shè)計(jì)每個(gè)測(cè)試步驟。我個(gè)人感覺,這的確是一個(gè)很酷的特性,它使我們可以不必實(shí)際去操作應(yīng)用程序,就可以編寫出測(cè)試腳本,這樣做既節(jié)省了時(shí)間,而且還有一個(gè)更大的好處就是可以在應(yīng)用程序還沒有設(shè)計(jì)完成,或者由于出錯(cuò)無法正常執(zhí)行的時(shí)候仍然可以編寫我們的測(cè)試腳本。應(yīng)用程序只需要有使用界面(UI),而不必實(shí)際運(yùn)行,測(cè)試人員就可以開始建立測(cè)試腳本,為我們實(shí)施自動(dòng)化測(cè)試贏得更充足的時(shí)間。而在 WinRunner中,雖然也可以采用先學(xué)習(xí)對(duì)象,然后編寫代碼的方式來完成測(cè)試腳本,但這樣做要求測(cè)試人員對(duì)TSL語(yǔ)言比較熟悉才做得到,遠(yuǎn)不如QTP 來得簡(jiǎn)單。在實(shí)際的操作中我還發(fā)現(xiàn),有些時(shí)候采用錄制的方法無法捕獲對(duì)應(yīng)用程序的操作,此時(shí)改用關(guān)鍵字驅(qū)動(dòng)測(cè)試卻可以收到不錯(cuò)的效果。
3、相對(duì)WinRunner,QTP還具有很多優(yōu)點(diǎn),例如“數(shù)據(jù)表整合”,“Active Screen”,“point and click”,更容易參數(shù)化等等,但對(duì)于這幾點(diǎn)我還沒有深入的做過比較,如果今后我對(duì)此有了更多的體會(huì)和了解,我將再作整理。