軟件測試工具中選擇QTP測試工具的一個可行性分析文檔
1. 引入QTP的目的
對于測試人員,手動測試本來就是很枯燥的事情,但是對于這種枯燥的事情再加上一些重復性的操作就使測試人員家具這種煩躁的心情;對于QTP測試工具,它可以消除手動測試那種既耗時又單調,而且需要投入大量的人力資源的問題。
2. 關鍵字解釋
QTP 及QuickTest Professional的簡稱。
3. QTP背景
3.1 公司介紹及其軟件演變
QTP在V8.2之前被稱WinRunner;WinRunner是由Mercury Interactive(美科利)公司研發的測試工具,之后賣給HP(惠普),被稱著QTP。
3.2 版本演變和適應的操作系統
|
7.6 |
7.8 |
8.0 |
8.2 |
9.0 |
9.1 |
9.2 |
9.5 | ||||
WR |
√ |
√ |
√ |
|
|
|
|
| ||||
QTP |
|
|
|
√ |
√ |
√ |
√ |
√ | ||||
Windows |
√ |
√ |
√ |
√ |
√ |
√ |
√ |
√ | ||||
Vista |
|
|
|
|
√ |
√ |
√ |
√ |
4. QTP與WR的對比
4.1 共同點
1) 都適用的范圍:
Web-Related Environments: IE、Netscape、AOL JDK、Java、AWT Symantec Visual Café ActiveX Controls Foundation Classes
ERP/CRM: Oracle、NCA Jinitiator, 11i
Custom Client Server: Windows、Visual Basic C++/C
Operating Systems: Windows、2000、NT、ME、XP 98
Legacy: 3270,5250 Emulators 、VT100
2) 都能適用于Windows系統
4.2 不同點
1) QTP適用范圍
ERP/CRM:SAP、Siebel 7.x、PeopleSoft 8.x
.Net:WinForms、WebForms、.Net controls
Web Services:XML、HTTP、WSDL、SOAP、J2EE、.Net
Multimedia:RealAudio/Video、Flash
2) WR適用范圍
Custom Client/Server :PowerBuilder、Forte、Delphi、Centura、Stingray、SmallTalk
ERP/CRM: Baan、PeopleSoft、Windows Siebel 5, 6、GUI Clients Oracle、GUI Forms
3) QTP9.0及以后的版本適用于Vista操作系統
4) 對于腳本,QTP用的是VBS,WR是基于其軟件自身的獨立腳本TSL;
4.3 工具本身特點對比
驗證點問題:WR有四種驗證點,QTP有9種驗證點(見表一),這種驗證點的類型越多提供的驗證方式越多,就越減少驗證腳本的開發難度,而且有些驗證點類型是QTP獨有的,比如Xml驗證點,WR就沒有,所以從這點上來看,驗證點多其實簡化腳本開發難度,讓軟件更容易使用,那么和你的團隊狀況有關系,比如你的團隊是技術人員欠缺的話,那么自動化測試工具的易用性更加重要。
表 一:
檢查點類型 |
描述 |
用法示例 |
標準檢查點 | 檢查對象的屬性值 | 檢查是否選中某單選按鈕 |
圖像檢查點 | 檢查圖像的屬性值 | 檢查圖像源文件是否正確 |
表檢查點 | 檢查表中的信息 | 檢查表單元格種的信息是否正確 |
頁面檢查點 | 檢查網頁的特性檢 | 檢查加載網頁所需要的時間,或者檢查網頁是否包含中斷連接 |
文本/文本區域檢查點 | 檢查文本字符串是否顯示在網頁或者應用程序窗口的適當位置 | 檢查預期的文本字符串是否顯示在網頁或對話框 上的預期位置 |
位圖檢查點 | 將網頁或應用程序的某個區域捕獲為位圖后進行檢查 | 檢查網頁或網頁的任何部分是否按預期的進行顯示 |
數據庫檢查點 | 檢查網頁或應用程序訪問的數據庫的內容 | 檢查數據庫查詢中的值是否正確 |
可訪問性檢查點 | 對網站區域進行識別以檢查是否符合508部分 | 檢查網頁上的屬性是否含有ALT屬性(該屬性是W3C Web內容可飯訪性要求規定的) |
XML 檢查點 | 檢查XML文檔的數據內容 | 用于檢查XML特定的文件;XML應用程序檢查點用于檢查網頁中的XML文檔 |
5. QTP的功能點
5.1 創建檢查點
1) 檢查對象
2) 檢查頁面
3) 檢查文本
4) 檢查表
5) 使用檢查點運行并分析測試
5.2 參數化測試
1) 定義數據表參數
2) 向數據表中添加數值
3) 修改受參數化影響測試的步驟
4) 運行并分析參數化測試結果
5.3 創建輸出值
1) 創建輸出值
2) 利用輸出值運行并分析測試
5.4 使用正則表達式
1) 正則表達式語法
2) 使用正則表達式
3) 使用正則表達式分析測試結果
5.5 插入新步驟
子錄制好的腳本中添加新的步驟(功能點)。
5.6 環境變量
5.7 場景恢復
在測試過程中會遇到測試出錯的情況,如果加上場景恢復可以更好的保護腳本。
5.8 對象庫屬性
5.9 與QC向連接
5.10 描述性編程
6. 手動測試與QTP測試的時間對比
測試類型 |
用 例 步 驟 數 (step) |
時 間 |
總 時 間 |
備注 | |||||
制 定 腳 本 時 間 |
回 歸 /功能 測 試 時 間 (一) |
回 歸 /功能 測 試 時 間 (二) |
回 歸 /功能 測 試 時 間 (三) |
回 歸 /功能 測 試 時 間 (…….N) |
系 統 /功能 測 試 時 間 | ||||
手動測試 |
30 |
無 |
1 小時 |
1 小時 |
1 小時 |
1 小時 |
1 小時 |
5小時 |
|
自動化測試 |
30 |
3 小時 |
0.5 小時 |
0.5小時 |
0.5 小時 |
0.5 小時 |
0.5 小時 |
5.5小時 |
其中的制定腳本時間包括腳本調試時間和部分維護時間;在我們的實際工作中,回歸測試的測試可能遠大于4次,當回歸測試的次數越多時就體現出自動化測試的優勢 |
7. 存在的風險及好處
7.1 存在的風險
4) 對于腳本,如果配置庫出現問題將導致腳本不可用或者丟失,這就將會使測試時間延誤(因為會重錄制腳本和增強腳本)
5) 不同的操作系統和QTP版本之間不可移植腳本,所以在測試過程中,每個測試人員使用的QTP版本和操作系統必須一致
6) 對于QTP自身的功能理解不透徹,導致在某些功能點的測試上不如手工測試
7) 在公司自身的軟件進行升級后,QTP較低版本有可能無法識別某些控件等,導致必須用較高版本的QTP,這樣原有的低版本QTP的錄制的腳本就將不適用
8) 由于QTP來自網絡破解,在測試工程中可能會出現一些無法識別的錯誤導致某些功能無法進行測試,最后還是手動測試,與預期的分析不一致
9) 由于公司沒有QTP方面的測試專家,如果在測試某些功能時遇到無法解決的問題會導致測試延時,或者回歸到手動測試
7.2 QTP測試的好處
1) 從枯燥無味的手動測試中解脫出來
2) 在測試過程中遇到功能相似或者相同的可以用QTP,避免做重復的測試
3) 可以減少人力資源
4) 主要在回歸測試過程中減少時間,在測試的初期可能不會減少時間
5) 腳本可維護
6) 腳本可擴張
8. 結論
雖然存在很多風險,大部分都是客觀的認為因素,只要條件和時間允許還是能夠解決的。
基于在實踐中的學習和網絡搜索的結果,個人認為QTP對于公司現在的軟件還是很適用的,至少可以讓測試人員從以前的無味的測試工作中解脫出來,多做點其他與之相關的事情;讓測試人員多接觸一些先進的測試工具。
基于以上內容和學習的結論向公司推薦QTP,其版本在不斷的更新,增加的新功能能適應軟件的升級,且在版本9.0及以上的版本的能用于Vista系統下。
原文轉自:http://www.anti-gravitydesign.com