內容介紹
《精通QTP:自動化測試技術領航》共分為6章,書中實例新穎、趣味性強、案例貼近實際,在逼真的軟體測試模擬項目環境下試驗。第1章和第2章幫助讀者系統地學習QTP最實際的套用。第1章將需要掌握的自動化測試知識依次講解,這是精心設計的內容。掌握了這些基本技能後就可以進入第2章的學習,裡面涵蓋了大量真實的模擬項目的例子,以及做項目時需要的一些QTP技術和技巧。學通這兩章,讀者就可以獨自承擔起自動化測試的腳本開發工作。第3章和第4章讓讀者深度掌握QTP套用。包括項目套用高級擴展實例精講和QTP深入探索,學會了這些技術,讀者才會有更多的底蘊,也是一個很重要的跨越階段。第5章和第6章講解了設計模式和自動化測試框架的內容,這兩章內容是QTP測試技術精華的濃縮,如QTP設計模式和自動化測試框架。
另外,《精通QTP:自動化測試技術領航》在第1章至第4章精心設定了習題,幫助讀者鞏固已學的內容,也給讀者一些練習的素材。建議讀者用心完成以後再參考提供的答案,效果會更佳!
很多測試朋友在論壇中常問各種各樣的QTP問題,但發現很多問題其實都是大同小異的,《精通QTP:自動化測試技術領航》在最後以附錄的形式把經典的疑難問題濃縮成“QTP科普問答典藏30例”,它涵蓋了一些很值得關注的軟體測試實戰技術。
《精通QTP:自動化測試技術領航》適合初學者、測試工程師、QTP項目開發人員、QTP架構師、測試經理、培訓師等,也適合學校相關專業的教學用書。
作者介紹
余傑,網名“yujie6832”,51Testing技術專家,擔任51Tesfing論壇QTP版主。精通QTP的腳本開發與套用,發表過多篇QTP技術文章。曾就職於多家國內外大型企業,具有多年自動化測試工作經驗,對自動化測試項目及OTP測試框架有很深的研究。同時也具有多年QTP自動化測試的企業培訓經驗,培訓課深受好評。
趙旭斌,網名“zzxxbh112”,iQuick Test領先技術專欄創始人及51Testing技術專家,擔任51Testing論壇QTP版主,發表了40餘篇QTP經典系列講座文章,深受讀者好評。曾在多家大型企業任職,擔任過多年的大型項目自動化測試技術研究顧問。對QTP有深入的研究、擅長自動化測試領域的框架開發、模式設計。
作品目錄
第1章 測試腳本開發從零開始 1.1 自動化測試從零開始 1.1.1 什麼是自動化測試 1.1.2 嚴格的自動化測試流程 1.1.3 自動化測試用例設計詳解 1.1.4 教父級自動化測試工具QTP 1.1.5 總結 知識點鞏固和舉一反三練習 1.2 幫助文檔(help)——QTP的說明書 1.2.1 永遠任勞任怨的良師益友“f1” 1.2.2 妙用f1可事半功倍 1.2.3 請遺忘腦中的代碼,掌握查閱example實例技巧 1.2.4 總結 知識點鞏固和舉一反三練習 1.3 錄製與回放——QTP的開關 1.3.1 請拒絕“錄製”,再開始你的實際項目之旅 1.3.2 錄製功能更多的只是新人學習時的利器 1.3.3 錄製時需注意模式的切換 1.3.4 有必要讓你掌握尤其重要的QTP回放機制 1.3.5 總結 知識點鞏固和舉一反三練習 1.4 認清並請遠離QTP的腳本錄製模式 1.4.1 QTP的兩種視圖及思維轉換 1.4.2 總結 知識點鞏固和舉一反三練習 1.5 QTP精華——對象庫(上)之基礎攻略篇 1.5.1 引言 1.5.2 對象庫的出現改寫了軟體測試歷史 1.5.3 一個簡單的實例介紹對象庫原理、機制及操作流程 1.5.4 對象庫基本操作 1.5.5 object spy讓對象無處藏身 1.5.6 對象庫的最高指揮官(object repository manager) 1.5.7 總結 知識點鞏固和舉一反三練習 1.6 對象庫(下)之進階編程篇 1.6.1 引言 1.6.2 基於expert view的對象庫編程必備知識 1.6.3 封裝對象模型——test objects vs run-time objects 1.6.4 梳理運行時對象的封裝與自身接口的屬性區別 1.6.5 幾種常見對象無法識別或識別錯誤的原因 1.6.6 總結 知識點鞏固和舉一反三練習 1.7 描述性編程(descriptive programming) 1.7.1 一點都不高深的描述性編程技術 1.7.2 掌握描述性編程的兩種寫法 1.7.3 object identification與spy結合dp的妙用 1.7.4 描述性編程的妙用以及與對象庫編程的混搭 1.7.5 終極對決——對象庫編程(op)vs描述性編程(dp) 1.7.6 總結 知識點鞏固和舉一反三練習 1.8 數據池(data table)的套用 1.8.1 引言 1.8.2 學會使用datatable進行參數化 1.8.3 test datatable vs run-time datatable 1.8.4 用好datatable對象使腳本更加靈活 1.8.5 總結 知識點鞏固和舉一反三練習 1.9 操作模組(actions) 1.9.1 使用actions來控制好業務流 1.9.2 call action的3種方式 1.9.3 action的切分 1.9.4 總結 知識點鞏固和舉一反三練習 1.10 QTP的驗證點與測試報告 1.10.1 自動化測試的有效性取決於驗證點的質量 1.10.2 偵探jack再度登場 1.10.3 拋棄工具的使用,請使用QTP驗證點函式 1.10.4 靈活地自定義驗證點 1.10.5 走進QTP report——test report正式登場 1.10.6 自定義驗證點——html模式 1.10.7 總結 知識點鞏固和舉一反三練習第2章 輕鬆駕馭實際項目 2.1 vbscript在項目中的套用 2.1.1 請培養代碼規範的好習慣 2.1.2 vbs基礎知識提煉 2.1.3 常用函式解析 2.1.4 function vs sub終極角逐 2.1.5 獲取對象引用getref方法 2.1.6 類的簡單套用 2.1.7 vbs中sendkeys與項目結合的妙用 2.1.8 總結 知識點鞏固和舉一反三練習 2.2 精通項目中10類常用web控制項 2.2.1 讀前布告(引言) 2.2.2 browser&page 2.2.3 link 2.2.4 webedit&webbutton 2.2.5 webelement 2.2.6 webcheckbox 2.2.7 weblist&webradio group 2.2.8 webtable 2.2.9 總結 知識點鞏固和舉一反三練習 2.3 函式資源庫(library files) 2.3.1 引言 2.3.2 資源池靜態調用方式 2.3.3 強大的動態調用方式 2.3.4 函式館功能在QTP 10.0中的增強 2.3.5 總結 知識點鞏固和舉一反三練習 2.4 環境變數(environment variables) 2.4.1 引言 2.4.2 實用的QTP內置環境變數 2.4.3 靈活地自定義環境變數及利用外部xml配置環境變數 2.4.4 綜合實例——環境變數的動態生成與秘密載入 2.4.5 總結 知識點鞏固和舉一反三練習 2.5 常用保留對象(utility objects) 2.5.1 常用保留對象介紹 2.5.2 隱藏保留對象介紹 2.5.3 自定義保留對象 2.5.4 總結 2.6 quicktest自動化模型對象(aom) 2.6.1 不同開發環境下的aom使用解析 2.6.2 QTP自動化模型的引用 2.6.3 讓QTP舞動起來 2.6.4 總結 2.7 無人值守測試的守護神——場景恢復(recovery scenarios) 2.7.1 必須知道的幾種場景恢復的誤區 2.7.2 陌生的web默認場景恢復 2.7.3 無所不能的自定義場景恢複函數 2.7.4 總結第3章 項目套用高級擴展實例精講 3.1 正則表達式 3.1.1 何時在腳本中設計正則表達式 3.1.2 正則之對象屬性參數化套用詳解 3.1.3 regexp對象的套用講解 3.1.4 總結 知識點鞏固和舉一反三練習 3.2 html dom測試套用 3.2.1 了解dom在QTP中套用的好處 3.2.2 ie對象模型結合html dom的web套用 3.2.3 dom在QTP web測試中的套用 3.2.4 總結 知識點鞏固和舉一反三練習 3.3 資料庫操作(ado) 3.3.1 何時使用ado數據驗證 3.3.2 構建資料庫連線字元串的兩種方式 3.3.3 資料庫查詢 3.3.4 資料庫修改 3.3.5 自定義動態資料庫驗證函式 3.3.6 總結 知識點鞏固和舉一反三練習 3.4 excel——數據驅動必備利器 3.4.1 利用eom自動化excel 3.4.2 動態載入並運行宏代碼 3.4.3 excel使你可以實現更多 3.4.4 總結 知識點鞏固和舉一反三練習 3.5 wshshell對象常用方法介紹 3.5.1 wshshell對象介紹 3.5.2 激活視窗appactivat 3.5.3 獲取當前路徑currentdirectory 3.5.4 最常用的sendkeys傳送 3.5.5 輕鬆完成註冊表的讀寫 3.5.6 總結 3.6 fso對象模型 3.6.1 利用fso模型完成各種操作方式 3.6.2 相對路徑的套用 3.6.3 輕鬆利用fso生成QTP測試日誌 3.6.4 總結 3.7 重要的test design studio 3.7.1 領略什麼才是為QTP量身定做 3.7.2 quick bundles飛一樣的速度 3.7.3 強大的靜態代碼分析 3.7.4 堪比visual studio的intellisense 3.7.5 智慧型xml comments自動生成 3.7.6 獨一無二的vbscript文檔生成 3.7.7 總結 知識點鞏固和舉一反三練習 3.8 dotnetfactory對象 3.8.1 調用.net標準類庫 3.8.2 調用自定義編寫的.net類庫 3.8.3 建立gui數據配置互動的.net form 3.8.4 總結 知識點鞏固和舉一反三練習 3.9 api的套用 3.9.1 extern對象詳解 3.9.2 vb api轉化QTP api 3.9.3 純vbs調用api實現簡單gui自動化 3.9.4 總結 知識點鞏固和舉一反三練習第4章 QTP領先技術之走向世界 4.1 QTP深入探索 4.1.1 訪問對象自身接口的特殊渠道 4.1.2 重載頁面後web對象的重用 4.1.3 orm對象庫自動化模型 4.1.4 重寫reporter對象 4.1.5 xml聯合xsl輸出html報表 4.1.6 創建保留對象的會話實例 4.1.7 autoltx技術的套用 4.2 QTP深層機密 4.2.1 訪問.net控制項對象私有屬性 4.2.2 保留對象setting的隱藏模式 4.2.3 管理動態保留對象的隱藏組件 4.2.4 自定義class類注入測試對象 4.2.5 註冊異類子控制項強制注入開啟hook 4.2.6 mfl自動化路徑模型對象套用 4.2.7 映射無法識別的.net對象類 4.3 總結第5章 QTP領先技術之模式設計 5.1 QTP設計模式 5.1.1 初識設計模式(design patterns) 5.1.2 單例設計模式(singleton) 5.1.3 工廠設計模式(factory) 5.1.4 命令包裝模式(command) 5.1.5 回調設計模式(callback) 5.1.6 函式指針模式(function pointer) 5.1.7 類的繼承模式(extends) 5.1.8 總結 5.2 gui層面向對象的擴展設計 5.2.1 層的概念 5.2.2 封裝測試對象類 5.2.3 調用業務行為 5.2.4 對象識別結果分析 5.2.5 總結第6章 QTP原創框架設計展示 6.1 框架設計理念 6.1.1 框架核心介紹 6.1.2 框架設計總圖 6.1.3 框架結構細分 6.1.4 框架目錄結構 6.2 框架設計平台 6.2.1 認知excel macros 6.2.2 自動載入自定義工具列 6.2.3 userform的使用 6.2.4 利用api讓userform界面煥然一新 6.3 公共對象管理 6.3.1 測試對象捕獲 6.3.2 對象檔案存儲及轉化 6.3.3 測試對象自動更新 6.4 用例設計管理 6.4.1 用例創建 6.4.2 步驟生成 6.4.3 步驟修改 6.4.4 重用模組 6.5 公共函式工廠 6.5.1 公共函式介紹 6.5.2 常用行為函式 6.5.3 業務行為函式 6.5.4 註冊行為函式 6.6 測試執行管理 6.6.1 配置載入 6.6.2 語句拼接 6.6.3 排序執行 6.6.4 分類執行 6.6.5 異常監控 6.6.6 報告生成 6.7 測試報表管理 6.7.1 測試執行狀態 6.7.2 錯誤定位信息 6.7.3 結果分布統計 6.7.4 測試報表導出 6.8 一點寫給讀者的話語(總結)附錄一:QTP科普問答典藏30例附錄二:章節練習詳解及參考答案附錄三:參考文獻&線上答疑