出版時間:2012-8 出版社:電子工業(yè)出版社 作者:陳能技
內(nèi)容概要
本書作為自動化測試工程師的實踐指南,不僅僅局限于自動化測試工具使用的介紹,而是涵蓋了自動化測試工程師開展自動化測試項目所需的知識,包括軟件自動化測試的基礎(chǔ)知識,作為基礎(chǔ)知識,不僅介紹了自動化測試應(yīng)該如何開展,還介紹了自動化測試工具的底層原理,有了這些基礎(chǔ)知識,讀者可以拋開QTP工具的束縛,采用其他自動化測試工具甚至自己研發(fā)工具也可以開展自動化測試。QTP作為目前主流的自動化測試工具,是本書的重點學(xué)習(xí)內(nèi)容,需要掌握QTP的安裝、配置、腳本錄制和編輯等基本使用方法,還包括與其他工具的整合方法。除了掌握QTP的基本使用外,還應(yīng)該掌握QTP的各項高級功能以及腳本設(shè)計能力,包括VBScript腳本語言、數(shù)據(jù)驅(qū)動測試、描述性編程等,這樣才能擺脫工具的束縛,自由地編寫自動化測試腳本實現(xiàn)復(fù)雜的測試功能。自動化測試工程師還應(yīng)該掌握各類插件的腳本開發(fā)技術(shù),包括如何使用QTP測試Windows、VB、Delphi、.NET、Web、Web
Service、Flex等應(yīng)用程序。
作者簡介
陳能技,資深軟件測試專家,廣州億能測試技術(shù)服務(wù)有限公司(www.gdtesdng.com)創(chuàng)始人。1 0年軟件測試和質(zhì)量管理經(jīng)驗。熟悉軟件自動化測試、性能測試、安全測試及相關(guān)工具的應(yīng)用。曾主導(dǎo)多個大型軟件項目的測試和質(zhì)量保證工作,包括:飛機(jī)維修跟蹤管理系統(tǒng)、IETM技術(shù)資料管理系統(tǒng)、物流管理系統(tǒng)等。為多家企業(yè)進(jìn)行軟件測試方面的培訓(xùn)和咨詢顧問,包括:上海阿爾斯通、施耐德、深圳空管站、廣電運通、中國南車、廈門35互聯(lián)、廣州數(shù)控、易方達(dá)、貴州電網(wǎng)、環(huán)球市場集團(tuán)等。著有《軟件測試技術(shù)大全》、《.NET軟件測試實戰(zhàn)技術(shù)大全》、《QTP自動化測試進(jìn)階》、《軟件自動化測試成功之道》等多本暢銷書。
書籍目錄
第1篇 自動化測試基礎(chǔ)篇
第1章 軟件測試基礎(chǔ)2
1.1 軟件缺陷與軟件測試2
1.1.1 軟件缺陷與硬件缺陷的異同2
1.1.2 如何通過軟件測試發(fā)現(xiàn)
軟件缺陷3
1.2 軟件質(zhì)量與軟件測試3
1.2.1 軟件質(zhì)量管理在項目
管理中的地位3
1.2.2 軟件開發(fā)模式與軟件測試4
1.2.3 軟件開發(fā)模式與自動化測試4
1.2.4 軟件測試能保證軟件質(zhì)量嗎5
1.3 軟件開發(fā)與軟件測試5
1.3.1 軟件開發(fā)與軟件測試的
對立統(tǒng)一5
1.3.2 測試人員需要的開發(fā)技術(shù)6
1.3.3 QTP自動化測試工程師
需要掌握的技術(shù)6
第2章 軟件自動化測試7
2.1 手工測試與自動化測試7
2.1.1 手工測試的缺點7
2.1.2 什么時候使用自動化測試8
2.1.3 自動化測試——你準(zhǔn)備好了嗎8
2.1.4 敏捷開發(fā)與自動化測試9
2.2 如何開展自動化測試9
2.2.1 選取合適的測試項目來開展
自動化測試9
2.2.2 確定自動化測試介入的時機(jī)10
2.2.3 選擇合適的測試用例實現(xiàn)
自動化10
2.2.4 自動化測試工程師的知識
體系12
2.2.5 考慮自動化測試的成本14
2.2.6 制定自動化測試項目計劃15
2.3 自動化測試方案17
2.3.1 選擇自動化測試方案17
2.3.2 自動化測試腳本的編寫方法17
2.3.3 線性腳本的編寫方法18
2.3.4 結(jié)構(gòu)化腳本的編寫方法18
2.3.5 共享腳本的編寫方法19
2.3.6 數(shù)據(jù)驅(qū)動腳本的編寫方法19
2.3.7 關(guān)鍵字驅(qū)動腳本的編寫
方法20
2.3.8 合理選擇自動化測試腳本的
開發(fā)方法20
2.4 實用性自動化測試策略21
2.4.1 自動化測試工具的問題21
2.4.2 自動化測試的管理規(guī)范23
2.4.3 自動化測試中人的因素24
第3章 軟件自動化測試工具25
3.1 自動化測試工具類型25
3.1.1 商業(yè)測試工具26
3.1.2 開源測試工具26
3.1.3 自主開發(fā)測試工具27
3.2 自動化測試工具選型27
3.2.1 測試工具評估28
3.2.2 測試工具試用28
3.2.3 自動化測試工具的培訓(xùn)28
3.3 自動化測試工具的原理29
3.3.1 基于代碼層面的功能自動化
測試工具29
3.3.2 基于瀏覽器和DOM對象
模型的功能自動化測試工具32
3.3.3 基于GUI對象識別的測試
工具原理35
3.3.4 反射機(jī)制在自動化功能
測試工具中的使用37
3.3.5 UI Automation在自動化
功能測試工具中的使用38
3.3.6 QTP對象識別技術(shù)介紹41
3.3.7 QTP的3類順序標(biāo)識42
3.3.8 QTP的智能識別技術(shù)介紹44
第2篇 QTP使用基礎(chǔ)篇
第4章 QTP的安裝和配置48
4.1 QTP 11的安裝48
4.1.1 安裝要求48
4.1.2 QTP 11支持的環(huán)境和程序49
4.1.3 安裝步驟50
4.1.4 QTP的設(shè)置52
4.1.5 QTP升級補(bǔ)丁包的安裝53
4.2 開始使用QTP53
4.2.1 QTP的幫助文檔53
4.2.2 QTP的視頻教程53
4.2.3 QTP自帶的樣例程序54
4.2.4 啟動QTP55
4.2.5 插件加載設(shè)置與管理55
4.2.6 創(chuàng)建一個空的測試項目55
4.2.7 錄制和測試運行設(shè)置56
4.2.8 指定需要錄制的應(yīng)用程序57
4.2.9 使用QTP編寫第一個
自動化測試腳本58
第5章 QTP基本使用方法60
5.1 QTP基本功能的使用60
5.1.1 QTP自動化測試的基本過程60
5.1.2 在關(guān)鍵字視圖中編輯測試
腳本61
5.1.3 在關(guān)鍵字視圖中為測試
步驟添加注釋61
5.1.4 在關(guān)鍵字視圖中添加測試
信息的輸出62
5.1.5 插入檢查點(Checkpoint)62
5.1.6 在關(guān)鍵字視圖中插入新的
測試步驟63
5.1.7 在專家視圖中編輯測試腳本65
5.1.8 腳本編輯器的使用66
5.2 編輯測試腳本66
5.2.1 識別對象66
5.2.2 Object Spy的使用67
5.2.3 對象庫管理68
5.2.4 把測試對象添加到對象庫中68
5.2.5 導(dǎo)出對象庫文件69
5.2.6 在測試腳本中訪問對象庫的
測試對象69
5.2.7 添加新的Action70
5.2.8 關(guān)聯(lián)Action的對象庫71
5.2.9 編輯新的Action72
5.2.10 在函數(shù)庫中創(chuàng)建自定義函數(shù)73
5.3 運行和調(diào)試測試腳本75
5.3.1 語法檢查75
5.3.2 使用斷點75
5.3.3 單步調(diào)試76
5.3.4 調(diào)試查看器的使用76
5.3.5 運行整個測試77
5.3.6 運行部分測試77
5.3.7 批量運行測試78
5.3.8 使用MTM批量運行測試78
5.4 分析測試結(jié)果79
5.4.1 選擇測試運行結(jié)果的存儲
位置79
5.4.2 查看概要測試運行結(jié)果80
5.4.3 查看檢查點的結(jié)果80
5.4.4 查看測試過程的截屏81
5.5 利用Active Screen來編輯
測試腳本82
5.5.1 查看Active Screen82
5.5.2 Active Screen的設(shè)置83
5.5.3 在Active Screen中選擇并
添加對象到對象庫83
5.5.4 選擇Active Screen中的對象
并輸出其對象屬性85
5.5.5 在Active Screen中插入檢查點87
5.5.6 在Active Screen中選擇對象
并添加測試步驟88
第6章 QTP與其他工具的整合90
6.1 與WinRunner的整合90
6.1.1 在QTP中調(diào)用WinRunner
的測試腳本90
6.1.2 在QTP中調(diào)用WinRunner
的函數(shù)92
6.2 QTP與LoadRunner的整合93
6.2.1 在QTP中為LoadRunner
設(shè)計測試腳本94
6.2.2 使用Silent Test Runner
模擬LoadRunner的調(diào)用95
6.2.3 在LoadRunner中插入和
運行QTP腳本97
6.2.4 在LoadRunner中運行QTP
腳本注意事項98
6.3 QTP與QC整合99
6.3.1 什么是BPT99
6.3.2 BPT的工作流程99
6.3.3 安裝QTP for BPT插件100
6.3.4 BPT實現(xiàn)步驟102
6.4 QTP與Service Test整合110
6.4.1 新建Service Test111
6.4.2 設(shè)計Service Test112
6.4.3 執(zhí)行Service Test113
6.4.4 在QTP中調(diào)用Service Test114
6.5 QTP與其他工具的整合115
6.5.1 QTP整合AutoIt115
6.5.2 QTP與Sikuli整合116
第3篇 QTP腳本開發(fā)篇
第7章 關(guān)鍵字驅(qū)動測試120
7.1 關(guān)鍵字驅(qū)動測試方法120
7.1.1 什么是關(guān)鍵字驅(qū)動測試方法120
7.1.2 關(guān)鍵字測試驅(qū)動框架121
7.1.3 關(guān)鍵字驅(qū)動實現(xiàn)自動化
測試的階段劃分122
7.1.4 什么時候使用關(guān)鍵字驅(qū)動
測試方法122
7.2 可視化編輯測試步驟122
7.2.1 編輯對象庫122
7.2.2 選擇測試對象123
7.2.3 選擇測試對象相應(yīng)的操作124
7.2.4 設(shè)置測試邏輯124
7.3 檢查點的使用125
7.3.1 為測試添加檢查點125
7.3.2 檢查點類型126
7.3.3 添加標(biāo)準(zhǔn)檢查點126
7.3.4 添加圖像檢查點127
7.3.5 添加位圖檢查點129
7.3.6 添加表格檢查點129
7.3.7 添加文本檢查點131
7.3.8 添加文本區(qū)域檢查點132
7.3.9 添加可訪問性檢查點134
7.3.10 添加頁面檢查點135
7.3.11 添加數(shù)據(jù)庫檢查點137
7.3.12 添加XML檢查點139
7.4 關(guān)鍵字驅(qū)動方法的應(yīng)用
過程實例140
7.4.1 分析Mercury Tours
應(yīng)用程序140
7.4.2 定義Action和Test Flow142
7.4.3 定義對象庫
(Object Repository)143
7.4.4 定義函數(shù)庫
(Function Library)144
7.4.5 編寫腳本實現(xiàn)業(yè)務(wù)
流程步驟144
第8章 數(shù)據(jù)驅(qū)動測試146
8.1 數(shù)據(jù)驅(qū)動測試方法146
8.1.1 什么時候使用數(shù)據(jù)驅(qū)動
測試方法146
8.1.2 數(shù)據(jù)驅(qū)動測試的一般步驟147
8.2 參數(shù)化測試147
8.2.1 通過參數(shù)化測試提高
測試的靈活性147
8.2.2 參數(shù)化測試步驟148
8.2.3 使用隨機(jī)數(shù)來進(jìn)行參數(shù)化150
8.2.4 參數(shù)化檢查點151
8.2.5 設(shè)置數(shù)據(jù)表格迭代方式153
8.3 Action測試輸入的參數(shù)化154
8.3.1 編輯Action的屬性154
8
章節(jié)摘錄
版權(quán)頁: 插圖: 2.1.2什么時候使用自動化測試 手工測試有其不可替代的地方,因為人是具有很強(qiáng)的智能判斷能力的動物,而工具是相對機(jī)械、缺乏思維能力的東西。手工測試不可替代的地方至少包括以下幾點。測試用例的設(shè)計:測試人員的經(jīng)驗和對錯誤的猜測能力是工具不可替代的。 界面和用戶體驗測試:人類的審美觀和心理體驗是工具不可模擬的。 正確性的檢查:人們對是非的判斷、邏輯推理能力是工具不具備的。 但是,自動化測試有很強(qiáng)的優(yōu)勢,它的優(yōu)勢是借助了計算機(jī)的計算能力,可以重復(fù)地、不知疲倦地運行,對數(shù)據(jù)能進(jìn)行精確的、大批量的比較,而且不會出錯。 因此,自動化測試適宜用在需要重復(fù)執(zhí)行機(jī)械化的界面操作、計算、數(shù)值比較、搜索等方面。我們應(yīng)該充分利用自動化測試工具的高效率來幫助測試人員完成一些基本的測試用例的執(zhí)行,從而實現(xiàn)更加快速的回歸測試,并且提高測試的覆蓋率。 2.1.3自動化測試——你準(zhǔn)備好了嗎 在進(jìn)行項目的自動化測試之前,先要考慮以下5個方面,這5個方面是成功開展自動化測試需要考慮的方面,也可用于衡量目前的項目是否有足夠的條件進(jìn)行自動化測試: (1)測試自動化類似于軟件開發(fā)過程 錄制/回放的腳本開發(fā)方式是不可能應(yīng)付所有自動化測試的需求的,因此,需要測試人員掌握必要的開發(fā)知識和編碼技巧。 (2)測試自動化是一個長期的過程 首先,不能期望自動化測試在短期內(nèi)找到很多Bug,自動化測試只有在長期的多次運行后才能體現(xiàn)出它的價值。其次,不要認(rèn)為只要購買了工具,錄制一些腳本,然后,就可以安枕無憂地看著自動化測試實現(xiàn)想要的效果,需要考慮自動化測試腳本的維護(hù)成本,隨著被測試應(yīng)用程序功能地增加和修改,測試腳本的維護(hù)工作量也會急劇地增加。 (3)確保測試自動化的資源,包括人員和技能 最好有專門的自動化測試工程師來保證測試自動化持續(xù)、順利地進(jìn)行下去,自動化測試工程師需要對項目的測試自動化負(fù)責(zé),設(shè)計測試框架和腳本結(jié)構(gòu),解決各種測試腳本的開發(fā)問題,確保自動化測試得以計劃、設(shè)計和有序地開發(fā)、維護(hù)。 (4)循序漸進(jìn)地開展自動化測試 不要一開始就把自動化測試設(shè)想得很大,這往往是不可實現(xiàn)的,應(yīng)該從小開始,先熟悉工具和自動化測試的基本技能,然后,整合資源開始實現(xiàn)一些基本的自動化測試用例,例如,冒煙測試類型的自動化測試腳本。先實現(xiàn)那些容易實現(xiàn)、且相對穩(wěn)定的功能模塊的自動化測試,然后再考慮逐步擴(kuò)展和補(bǔ)充其他相對難實現(xiàn),或者是比較不穩(wěn)定的功能模塊的自動化測試。 (5)確保測試過程的成熟度 如果軟件企業(yè)的測試過程和項目管理過程的能力成熟度比較低,則實現(xiàn)自動化測試的成功率也比較低。在開展自動化測試之前,先考察一下軟件企業(yè)各方面的管理能力,例如,測試是否獨立進(jìn)行?有無配置管理?進(jìn)度控制能力如何?如果各方面的能力成熟度都比較差的話,則不要盲目引入測試自動化。 2.1.4敏捷開發(fā)與自動化測試 近年來,敏捷開發(fā)模式逐漸流行起來。敏捷開發(fā)強(qiáng)調(diào)速度,強(qiáng)調(diào)快速響應(yīng)客戶需求,強(qiáng)調(diào)迭代開發(fā),同時敏捷開發(fā)也非常重視測試質(zhì)量,強(qiáng)調(diào)單元測試、持續(xù)集成,以及強(qiáng)調(diào)快速完成一個迭代版本的質(zhì)量保證工作。 在這樣的背景下,對軟件測試提出了新的要求,如何快速、全面地完成測試是擺在測試人員面前的現(xiàn)實難題。引入自動化測試,結(jié)合開發(fā)人員測試,整合持續(xù)集成框架,搭建自動化的快速驗收測試平臺是解決之道。
圖書封面
評論、評分、閱讀與下載