?

QTP自動化測試工具技術以及與手工測試的對比

2018-12-18 10:16伍炳霖李昕昕龔勛
電腦知識與技術 2018年26期
關鍵詞:測試工具測試

伍炳霖 李昕昕 龔勛

摘要:隨著軟件版本的更新速度不斷加快,傳統的手工測試已經不能滿足頻繁變更的軟件版本需求。因此可以替代重復、繁瑣人工操作的自動化測試正被廣泛應用。該文選擇利用自動化測試工具QTP對最常見的“登錄”功能模塊進行測試,并就測試過程和測試效率與手工測試進行對比,說明自動化測試的優勢。

關鍵詞:QTP;測試工具;測試

中圖分類號:TP317.1 文獻標識碼:A 文章編號:1009-3044(2018)26-0195-03

Abstract:As the update speed of software versions continues to accelerate, traditional manual testing can no longer meet the requirements of frequently changed software versions. Therefore, automated tests that can replace repetitive and tedious manual operations are being widely used. This paper chooses qtp, an automated testing tool, to test the most common " login" function modules, and compares the testing process and efficiency with manual testing, illustrating the advantages of automated testing.

Key words: qtp; Testing tools; Testing

目前在軟件測試行業里,除了大家所熟悉的黑盒測試和白盒測試以外,還有自動化測試和手工測試這兩種。而且自動化測試和手工測試相比較具有縮短測試時間,提高測試覆蓋率,保證操作準確性、減少成本、縮短開發周期等優點。但是由于自動化測試不具備創造性,所以它只適合于持續開發的項目和某些常用功能模塊的測試。本文將選擇目前市場占有率最高的自動化測試工具QTP對最常見的“登錄”功能模塊進行測試,并就測試過程和測試效率與手工測試進行對比,說明自動化測試的優勢[1]。

1 QTP簡介

1.1 QTP的特點

QTP 全稱 Quick Test Professional,一般用在產品的回歸測試和同一軟件版本的升級測試. 現在市場上流行的自動化測試工具有很多, 而QTP 以它的學習簡單,操作方便,功能強大的特點脫穎而出. 對于才接觸這個工具不久的人來說可以直接通過錄制屏幕上的操作流程, 自動生成測試腳本. 而對于測試專家, 還可以通過集成的腳本和調試環境完全訪問內在測試和對象屬性[2]。QTP 默認提供了 Active X、Visual Basic 和 Web 插件以滿足不同類型產品測試的需求. QTP 會仿真鼠標的動作與鍵盤的輸入 ,可以以程序的方式 ,撰寫復雜的測試腳本 ,以帶出隱藏在應用程序中的信息 ,也可以建立廣泛的測試腳本,涵蓋應用程序的所有功能[3] 。

1.2 QTP的基本原理

在錄制腳本的過程中, QTP 首先會確定測試對象符合的測試控件類型, 如標準 Windows 對話框(Dialog)、Web 按鈕(WebButton)或 Visual Basic 滾動條對象(VbScrollBar)等, 然后記錄該對象的強制屬性值, 并去當前頁面上檢查除此對象以外的其他對象、對話框或其他父對象, 以確定該描述是否足以唯一標識該對象, 如果不足以進行唯一標識, QTP 將向該描述中逐漸添加輔助屬性, 直到經過編譯成為唯一的描述為止, 如果沒有可用的輔助屬性, 或者那些可用的輔助屬性仍不足夠創建一個唯一的描述, QTP 將添加一個特殊的順序標識符(例如頁面上或源代碼中對象的位置)以創建唯一的描述. 最后 QTP 用一個邏輯名加上若干屬性的方式描述測試對象, 并將其存儲在對象庫(Object Repository)中[4]。

腳本回放時, QTP 會分析此腳本的操作對象, 通過此操作對象的邏輯名, 在對象庫中查找對應的詳細記錄, 并列出此控件類的所有強制屬性進行匹配, 當強制屬性可以確定唯一標識這個操作對象,就通過強制屬性來標識, 如不能唯一標識對象, QTP 會挨個取出此控件類的輔助屬性直到可以唯一標識對象為止。 之后會把語句規定的操作施加到該對象上。

如果使用強制屬性和輔助屬性還不能唯一標識對象, QTP 則采用以下兩種方式:

(1) 智能識別

(2) 順序標識符 [5].

2 QTP 自動化測試應用

為了使讀者能更清楚直觀的了解以QTP為基礎的自動化測試與手工測試的區別,下文將以最常見的登錄模塊為例進行介紹。

2.1 登錄模塊測試功能點分析

在常見的登錄模塊的操作過程中,通常會出現登錄成功和登錄失敗兩種情況。

登錄成功:

1) 正確輸入用戶名和密碼,成功登錄。

2) 登錄失?。?/p>

不輸入ID 提示Please enter agent name。

輸入不夠4個字符的ID提示Agent name must be at least 4 characters long。

密碼錯誤提示 Incorrect password.Please try again。

不輸入密碼提示Please enter password。

根據以上信息設計登錄模塊測試用例如表1:

2.2 登錄模塊的自動化測試流程

1) 新建對象庫

將被測系統的所有對象手動添加到測試對象庫中,其中包括用戶名、密碼、OK、Cancle、help以及出現錯誤時的對話框和其中的確定按鈕。

2) 生成測試步驟

測試步驟:①打開QTP;②選擇使用Windows 插件模式進行錄制, 并且在錄制的地址欄中填上Flight Reservation程序所在地址;③將正確的用戶名和密碼輸入;④點擊“OK”按鈕后成功進入用戶管理界面;⑤點擊右上角的叉關閉QTP;⑥結束,錄制完成。

下面給出錄制的腳本:

3) 腳本參數化

首先找到腳本中在登錄界面的用戶名輸入這一個步驟,再找到這個步驟中的Value 這一列 ,點擊此列最右邊的“ <#>”按鈕后彈出一個對話框, 現在讓我們指定一個參數名以及數據驅動表的數據源,之后我們分別設置為 :ID 和全局表 。然后點擊“OK”按鈕即可。

最后對輸入的密碼的參數化操作請參考之前對輸入的用戶名參數化過程。

以下給出具體代碼:

4) 設置檢查點

在將用戶名和密碼參數化之后,在其后插入檢查點,并設置成檢查其文本,而在輸入用戶名和密碼之后點擊OK按鈕,如果彈出對話框,則在這一步插入文本輸入檢查點,從而獲取不同操作而出現不同對話框的文本信息。

以下給出具體代碼:

5) 執行測試

因為我們設計了五個測試用例,而QTP自動化測試相當于模仿五個真實用戶分別進行登錄的操作,因此我們需要設置五次迭代,從而將Global table中的測試用例能依次按照我們預期那樣輸入而完成測試,最后點擊“Run”執行測試[6]。

6) 觀察測試結果

3 手工測試的應用

登錄模塊的手工測試流程為:

1) 在用戶名對話框中輸入用戶名;

2) 在密碼對話框中輸入密碼;

3) 點擊確定按鈕;

4) 觀察測試結果。

在手工測試環境下為了驗證3.1中所涉及的5個功能點,需要反復執行1)-4)的所有操作步驟5次,并對每次的測試結果進行記錄。

4 總結

根據自動化測試和手工測試對相同被測模塊進行測試后發現,QTP在需要反復運行同樣操作步驟的情況下,其測試效率及測試準確度遠高于手工測試。具體測試數據見表2 。

參考文獻:

[1] Lydia Ash, 李昂等譯. Web 測試指南[M].北京: 機械工業出版社,2004.

[2] 陸璐,王柏勇. 軟件自動化測試技術[M].北京:清華大學出版社,2006.

[3] 楊彬.Quick Test Professional8.2自動化測試工具技術實踐[J].福建電腦,2008(01):163-164.

[4] 李玉,尉雙梅,汪添生,馬朝晗,楊超.基于QTP的企業級應用軟件自動化測試方法[J].計算機系統應用,2016,25(06):219-224.

[5] 陳能技.QTP 自動化測試實踐[J].北京:電子工業出版社,2008.

[6] 李金鳳.基于QTP的軟件功能測試與案例研究[J].信息技術,2009,33(10):85-88+93.

[通聯編輯:梁書]

猜你喜歡
測試工具測試
幽默大測試
幽默大測試
幽默大測試
“攝問”測試
“攝問”測試
“攝問”測試
Http并發連接測試工具
芻論軟件工程開發與測試的有效關聯
基于移動平臺APP測試
手車式真空斷路器回路電阻測試電流線接頭研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合