基本介紹
- 書名:自動化測試開發全程實戰
- 作者:蝸牛學院
- ISBN:9787302490241
- 定價:99元
- 出版社:清華大學出版社
- 出版時間:2018.04.01
- 印次:1-1
- 印刷日期:2018.04.09
內容提要,書籍目錄,
內容提要
本書作為“蝸牛學院”自動化測試開發的核心教材,全面而深入地講解了自動化測試開發的四大核心技術:接口測試、GUI測試、性能測試和測試框架設計。本書全程以項目和實驗為主線,將所有測試開發的核心技術以及底層實現原理進行了詳細的剖析,並結合Java代碼完整地實現了這些原理。由於本書以Java作為核心程式語言,所以也有專門的項目講解測試開發過程中常用的Java核心編程知識。同時,筆者也將從業多年來關於軟體測試的項目和實驗進行了總結,這也是本書的特色和價值所在。考慮到目前讀者對測試工具的學習需求,本書也對目前比較流行的幾款測試工具進行了講解。
書籍目錄
項目1自動化測試體系及環境準備1
1.1預備知識2
1.1.1軟體工程與“沒有銀彈”2
1.1.2理解自動化測試6
1.1.3自動化測試實施過程9
1.1.4軟體測試專業術語14
1.2核心實驗18
1.2.1Eclipse開發環境的配置與使用18
1.2.2安裝XAMPP並配置資料庫及套用系統24
項目2WoniuATM模擬系統32
2.1預備知識33
2.1.1Java程式設計基礎——變數與類型33
2.1.2Java程式設計基礎——控制結構37
2.1.3Java程式設計基礎——數組44
2.2核心實驗:實現WoniuATM的註冊與登錄50
2.3預備知識56
2.3.1Java面向對象——類與實例56
2.3.2Java面向對象——靜態與非靜態61
2.3.3Java面向對象——構造方法63
2.3.4Java面向對象——失血模型66
2.3.5Java面向對象——繼承與多態69
2.4核心實驗:重構WoniuATM並完善其功能77
2.5預備知識86
2.5.1Java異常處理機制86
2.5.2Java數據持久化——文本檔案91
2.5.3Java數據持久化——Excel檔案95
2.5.4Java數據持久化——JDBC資料庫99
2.6核心實驗102
2.6.1利用文本檔案重構WoniuATM102
2.6.2利用資料庫重構WoniuATM108
2.6.3利用正則表達式檢驗用戶輸入113項目3代碼級接口測試自動化118
3.1預備知識:深入理解接口測試及白盒測試119
3.2核心實驗122
3.2.1實現被測程式ArrayCompare代碼122
3.2.2基於Java實現TDD測試驅動開發127
3.2.3基於Java實現代碼級接口測試132
3.2.4基於Java實現代碼級集成測試135
3.2.5基於JUnit實現代碼級接口測試137
3.2.6基於TestNG實現代碼級接口測試149
3.2.7基於EclEmma實現代碼覆蓋率統計157
3.2.8將被測程式導出為Jar包並完成測試161
項目4協定級接口測試自動化164
4.1預備知識165
4.1.1協定級接口測試的價值165
4.1.2網路通信過程與TCP/IP協定167
4.2核心實驗173
4.2.1利用Wireshark完成協定監控與分析173
4.2.2利用Java實現TCP通信過程175
4.2.3利用Java對飛秋客戶端實施可靠性測試177
4.3預備知識:Web系統通信協定HTTP179
4.4核心實驗189
4.4.1利用協定分析工具監控Agileone通信過程189
4.4.2利用Java傳送GET請求獲取頁面源檔案193
4.4.3利用Java傳送POST請求實現登錄測試196
4.4.4使用Java對Agileone進行暴力破解200
4.4.5利用Java對需求提案模組進行測試202
4.4.6利用HttpClient實現需求提案的測試212
4.4.7利用Java對Phpwind論壇進行“灌水”216
4.4.8利用Java完成對Phpwind論壇的隨機回帖223
4.4.9利用Java處理JSON格式的數據內容226
4.4.10利用Java實現檔案的上傳下載232
4.4.11利用Java實現HTTPS協定通信240
4.4.12利用Java完成對WebService協定接口測試247
4.5工具套用254
4.5.1利用SoupUI實現協定級接口測試254
4.5.2利用TesseractOCR實現驗證碼識別260
項目5界面級黑盒測試自動化265
5.1預備知識:基於界面的自動化測試核心技術266
5.2核心實驗271
5.2.1對象識別原理——Java實現Monkey測試271
5.2.2對象識別原理——Java操作Windows窗體對象276
5.2.3對象識別原理——Java操作Java窗體對象283
5.2.4對象識別原理——JavaScript操作Web窗體對象294
5.2.5SeleniumIDE——測試Agileone的公告管理297
5.2.6SeleniumWebDriver——配置與使用306
5.2.7SeleniumWebDriver——代碼結構最佳化310
5.2.8SeleniumWebDriver——代碼深度最佳化316
5.2.9SeleniumWebDriver——對象識別機制327
5.2.10SeleniumWebDriver——滑鼠與鍵盤操作338
5.2.11SeleniumWebDriver——對話框與視窗341
5.2.12SeleniumWebDriver——其他重要對象344
5.2.13SeleniumWebDriver——兼容性測試347
5.3工具套用:使用Appium測試Android應用程式348
項目6協定級性能測試自動化356
6.1預備知識357
6.1.1性能測試核心原理與技術體系357
6.1.2性能測試工程體系與場景設計361
6.1.3性能測試指標體系與結果分析370
6.2核心實驗375
6.2.1基於Java的多執行緒技術套用375
6.2.2利用Java的Executor框架運行多執行緒387
6.2.3利用Java開發Phpwind性能測試腳本392
6.2.4利用Java+JSoup實現頁面資源的下載407
6.2.5利用Java設計拱形場景及思考時間412
6.2.6監控並分析Windows和Linux關鍵性能指標417
6.2.7基於Web前端的性能測試分析430
6.3工具套用437
6.3.1使用JMeter實現Agileone的接口測試437
6.3.2使用JMeter實現Phpwind的性能測試444
項目7CBT自動化測試框架設計451
7.1預備知識:理解自動化測試框架設計與CBT452
7.2核心實驗454
7.2.1利用CBT的ATM模型實現基礎框架454
7.2.2利用DDT模型重構CBT框架463
7.2.3在CBT中定製測試報告組件467
7.2.4對CBT測試報告組件進行測試479
7.2.5在CBT中定製公共組件模組485
7.2.6利用CBT完成與禪道管理系統集成495
7.2.7讓CBT完成產品的持續集成500
參考文獻509