軟件自動化測試入門攻略

京東購買:https://item.jd.com/14351742.html

 

自薦

"《軟件自動化測試入門攻略》一書是作者花費了近兩年時間完成的一本大作,專門爲入 門、入行人員編寫,無論你是初學者,還是想轉型、轉專業學習軟件自動化測試,本書 都適合你。書中充分考慮到新手入門自動化測試的特點,從工具學習入手,包括Unittest、 Pytest、Requests、Selenium、Postman、Appium、JMeter,對於入行者來說,掌握這幾 種工具,是從事相關工具的前題,然後以一個真實的項目爲例分別介紹了各種工具在單元測試、代碼包測試、接口測試、Web UI測試、移動端測試、性能測試中的應用,各測試範例均依照“需求分析→用例設計→腳本開發→測試執行→結果分析”的自動化測試流程,詳細介紹方法論、關鍵知識與核心技能,這樣安排的好處是,學以致用,有的放矢,學完之後,即可直接上手公司項目,本書的最後還介紹了測試項目的容器化部署,這也是目前在測試項目中廣泛使用的技術。《軟件自動化測試入門攻略》結構新穎,內容豐富,與實際工作緊張結合,看得懂,學得會,用得上,是本書的一大特色,相信所有想入手自動測試的讀者,本書都能讓你受益匪淺。"

簡介

《軟件自動化測試入門攻略》以軟件自動化測試工具在項目實踐中的應用爲主線,依照“需求分析→用例設計→腳本開發→測試執行→結果分析”的自動化測試流程,詳細介紹軟件自動化測試的方法論、必備知識與核心技能。全書共15章,第1章至第8章主要介紹當前企業使用率**的unittest、pytest、Requests、Postman、Selenium、Appium和JMeter 7款自動化測試工具,第9章至第14章分別以Leadshop開源商城系統中的部分模塊爲實戰對象,運用前述章節的工具依次實現單元測試、代碼包測試、接口測試、Web UI測試、移動端測試和性能測試演練,完成基礎工具的單個知識點學習到項目的綜合運用,第15章介紹Docker容器技術及其在Jenkins中實現測試項目的任務部署,完成分佈式節點掛載和定時執行。

《軟件自動化測試入門攻略》來自一線資深測試工程師多年從業經驗的總結,內容詳實,貼近實際工作需要,既可幫助對自動化測試感興趣的新手快速入門和入行,又可對有一定測試基礎的讀者實現自我能力的提升和突破。

作者

楊定佳,一線資深軟件測試工程師,博客園優秀博主,藍橋雲課入駐作者,51Testing測試圈講堂 特邀講師,長期從事自動化測試設計、框架搭建和開發工作,對各類軟件測試工具及相 關技術駕輕就熟。出版《Python Web自動化測試入門與實戰》一書,編寫的《菜鳥輕鬆 拿Offer:軟件測試工程師面試祕笈》一書榮獲2021年度“51CTO.最受讀者喜愛有IT圖書 ”獎。

前    言

自動化測試是軟件測試重要的組成部分,於項目而言是一種提高軟件測試效率和準確性的方法,能提高生產力和效率,於測試人員而言是一種能力的展示,更是一種價值的肯定。本書以軟件自動化測試工具在項目實踐中的應用爲主線,依照“需求分析→用例設計→腳本開發→測試執行→結果分析”的自動化測試流程,詳細介紹了軟件自動化測試的方法論、必備知識與核心技能。

筆者工作在一線測試崗位7年有餘,在測試領域積累了豐富的實踐經驗,因此,本書所涉及的技術在當今測試領域都在廣泛應用,儘可能使用通俗易懂的語言進行描述,確保讀者看得懂、學得會、用到上。如果你是測試崗位的新人或想轉行進入測試行業,本書可幫助你快速入門、入行;如果你是具有一定基礎的測試人員,書中講述的項目實戰,可幫助你實現自我能力的提高和突破,甚至可以幫助你帶領團隊完成自動化測試項目。

核心內容

本書的每一章節都融進了筆者的經驗和思考,並得到許多經驗豐富的測試同行的支持和良好建議,全書共15章,說明如下:

第1章作爲本書引子,介紹自動化測試的重要概念、常用工具和如何入門自動化測試,點出自動化測試的本質是將以人爲驅動的測試行爲轉化爲機器執行的一種過程。

第2章~第8章,依次介紹當前企業使用率最高的unittest、pytest、Requests、Postman、Selenium、Appium和JMeter 7款自動化測試工具,其中unittest和pytest是Python語言的單元測試框架,大部分以Python語言爲基礎的自動化測試項目都會使用unittest或pytest組織測試用例;Requests和Postman是兩個接口測試工具,Requests是Python語言的一個庫,使用Python編程語言實現接口測試項目幾乎都是藉助Requests完成的。Postman是一個獨立接口測試工具,測試人員在不需要編寫代碼的情況下便可輕鬆完成項目接口測試用例的編寫,實現自動化測試;Selenium和Appium均是Python語言實現UI自動化測試的第三方庫,Selenium完成的是Web UI自動化測試,Appium完成的是移動端程序的UI自動化測試;JMeter是一款開源的接口測試工具,也可用來完成產品的性能測試。

上述各章都以概念+示例的方式編寫,讀者在學習時需要先理解其概念,對知識點有一個正確認識,再跟隨示例實踐,發現基礎薄弱的地方,加強測試和調試的能力,做到概念清晰,手到拈來。

掌握自動化測試工具是入門自動化測試的必備技能,有助於提高對自動化測試的認知,同時,從工具開始學習,邊學邊練,也有成就感,是一個不錯的入門路徑。

第9章~第14章,分別以開源項目“Leadshop開源商城系統”中的部分模塊爲例,運用前述章節的測試工具依次實現單元測試、代碼包測試、接口測試、Web UI測試、移動端測試和性能測試演練,完成測試工具的單個知識點學習到項目的綜合應用。每一章實戰均以“需求分析→用例設計→腳本開發→測試執行→結果分析”的自動化測試流程爲順序展開,需求分析階段會澄清測試對象、測試範圍以及最終結果等內容;用例設計階段會先介紹用例設計方法,再結合被測對象設計出最少的用例覆蓋最全的使用場景;腳本開發階段是結合被測對象和測試類型,設計出結構清晰的自動化測試框架,開發出複用性強的基礎代碼,並在此基礎上實現自動化測試用例;測試執行階段是編寫執行腳本實現自動化測試用例的執行;結果分析階段有兩個目標:一是對測試結果分析,成功和失敗用例的總結;二是對自動化測試項目的思考,當下的實現邏輯是否有弊端,對測試結果有何影響。當明確了測試項目的每一個階段後,你已經可以參與企業項目的測試工作了。

這一部分內容是在Leadshop開源商城系統環境下,將基礎知識綜合運用的一個過程,不但涉及很多基礎知識,而且需要考慮全局的應用搭配。另外,通過項目實踐,讀者要注意不斷總結思考、發現規律,逐步形成一套自己的測試體系,爲未來帶領測試團隊體積累經驗。

第15章介紹了容器化部署與自動化測試,容器化部署是一種流行的技術,引入自動化測試中極大地簡化了各種測試項目的部署,提高了工作效率。本章以Docker技術爲基礎部署持續集成工具Jenkins,在Jenkins工具中實現測試項目的任務部署,完成分佈式節點掛載和定時執行。

 

配書資源

本書所有腳本均以Python語言實現,讀者可掃描下述二維碼免費下載。

本書各章還提供了思考題,各題的答案請掃描下述二維碼下載。

如果下載有問題,請聯繫[email protected],郵件主題爲“軟件自動化測試入門攻略”。

讀者對象

本書適合對自動測試感興趣的各層次讀者,比如,初入職場的測試新人、轉型測試崗位的非計算機專業的職場人士和學生等,也適合作爲自動化測試培訓機構或大中專院校計算機專業測試課程的教學用書,本書提供的真實測試項目實踐,也可以幫助有一定測試基礎的測試人員作爲實施自動化測試項目的指南。

致  謝

本書能夠得以成功出版離不開開源項目“Leadshop開源商城系統”和筆者身邊親朋好友的大力支持,在此對他們表示衷心的感謝。

感謝Leadshop開源項目的開發者,使本書的實踐篇章有了真實的實戰對象。

感謝楊瑞、李先麗、範申、馬敬賓、楊亞理、林靜芬、張露、冶心怡、抄帥、李亞萍、胡列、陸怡頤、周燕、丁揚健等爲本書做了大量審稿工作,你們的真知灼見,使本書更臻完善。

感謝清華大學出版社的各位編輯,尤其是王金柱老師兩年來的鼎力支持,讓這本書能夠高質量地與廣大讀者見面。

感謝每一位測試人,書中借鑑了他們很多的經驗與智慧,他們對軟件測試行業的熱愛、持續耕耘和深度實踐,使筆者受益良多。

因能力所限,書中難免存在疏漏,如果讀者存在求職困惑或對本書的改進有更好的建議,請發送郵件聯繫筆者共同探討。

最後,希望本書能成爲各位讀者自動化測試之路上的嚮導和伴侶。

 

楊定佳   

2023年11月12日   

 

目錄

第1章 自動化測試概述 ·················· 1
1.1 什麼是軟件自動化測試 ················ 1
1.1.1 定義 ······························· 1
1.1.2 應用條件 ························· 1
1.1.3 對比手工測試 ··················· 2
1.1.4 分類 ······························· 3
1.1.5 價值 ······························· 4
1.2 自動化測試的概念 ······················ 6
1.2.1 流程 ······························· 6
1.2.2 原則 ······························· 7
1.2.3 測試模型 ························· 8
1.2.4 度量模型 ························ 10
1.3 自動化測試常用工具 ·················· 12
1.3.1 單元測試工具 ·················· 12
1.3.2 代碼包測試工具 ··············· 13
1.3.3 接口測試工具 ·················· 13
1.3.4 Web UI測試工具 ·············· 14
1.3.5 App測試工具 ·················· 15
1.3.6 性能測試工具 ·················· 16
1.4 如何入門自動化測試 ·················· 17
1.4.1 入門是基礎 ····················· 17
1.4.2 入行是起點 ····················· 18
1.4.3 入職是挑戰 ····················· 18
1.5 思考題 ···································· 18
第2章 unittest ···························· 19
2.1 簡介 ······································· 19
2.2 測試用例 ································· 20
2.3 測試腳手架 ······························ 21
2.4 測試套件 ································· 23
2.4.1 TestSuite類構建 ··············· 23
2.4.2 TestLoader類構建 ············ 25
2.4.3 其他方法構建 ·················· 26
2.5 測試運行器 ······························ 27
2.6 命令行接口 ······························ 28
2.7 用例執行順序 ··························· 30
2.8 測試斷言 ································· 31
2.9 skip裝飾器 ······························ 33
2.10 模擬對象mock ························ 36
2.11 ddt實現參數化 ························ 38
2.12 多線程運行 ···························· 42
2.13 定時運行 ······························· 44
2.14 生成測試報告 ························· 46
2.15 發送測試結果通知 ··················· 48
2.16 思考題 ·································· 54
第3章 pytest····························· 55
3.1 簡介 ······································· 55
3.2 第一個示例 ······························ 55
3.3 測試用例 ································· 57
3.4 命令行參數 ······························ 59
3.5 跳過 ······································· 61
3.6 標記 ······································· 62
3.6.1 內置標記 ························ 63
3.6.2 自定義標記 ····················· 64
3.7 夾具 ······································· 66
3.7.1 fixture參數 ····················· 66
3.7.2 夾具的使用 ····················· 67
3.7.3 夾具作用域 ····················· 68
3.7.4 共享夾具 ························ 70
3.8 參數化 ···································· 72
3.8.1 標記方式實現 ·················· 72
3.8.2 夾具方式實現 ·················· 73
3.9 配置文件 ································· 74
3.10 插件 ······································ 76
3.11 分佈式執行 ····························· 77
3.12 Allure測試報告 ······················· 79
3.12.1 Allure安裝 ···················· 79
3.12.2 生成測試報告 ················· 80
3.12.3 Allure特性與應用示例 ····· 82
3.13 思考題 ··································· 87
第4章 Requests ························· 88
4.1 簡介 ······································· 88
4.2 主要方法 ································· 89
4.2.1 請求示例 ························ 89
4.2.2 查詢參數 ························ 90
4.2.3 響應對象 ························ 91
4.3 發送GET請求 ·························· 92
4.3.1 params參數 ···················· 92
4.3.2 自定義請求頭 ·················· 93
4.4 發送POST請求 ························ 94
4.4.1 data參數 ························ 95
4.4.2 json參數 ························ 96
4.5 發送其他類型的請求 ·················· 97
4.5.1 發送HEAD請求 ·············· 98
4.5.2 發送PUT請求 ················· 98
4.5.3 發送PATCH請求 ············ 98
4.5.4 發送DELETE請求 ··········· 99
4.6 文件上傳 ································· 99
4.7 文件下載 ································ 100
4.8 Cookies參數 ··························· 101
4.9 Session對象 ···························· 103
4.10 重定向 ································· 104
4.11 添加代理 ······························ 105
4.12 超時設置 ······························ 106
4.13 異常處理 ······························ 106
4.14 證書驗證 ······························ 107
4.15 身份認證 ······························ 107
4.16 生成測試用例腳本 ·················· 108
4.17 思考題 ································· 110
第5章 Postman························· 111
5.1 安裝 ······································ 111
5.2 界面介紹 ································ 113
5.3 HTTP請求 ······························ 115
5.3.1 請求界面介紹 ················· 116
5.3.2 GET請求 ······················ 117
5.3.3 POST請求 ···················· 118
5.3.4 其他類型請求 ················ 121
5.3.5 文件上傳 ······················ 122
5.3.6 文件下載 ······················ 123
5.3.7 授權 ···························· 124
5.3.8 前置腳本 ······················ 126
5.3.9 後置腳本 ······················ 128
5.3.10 請求設置 ····················· 131
5.3.11 其他 ··························· 132
5.4 環境和變量 ···························· 132
5.5 Cookies管理 ··························· 135
5.6 代理設置 ······························· 136
5.7 證書管理 ······························· 138
5.8 集合管理 ······························· 140
5.8.1 執行集合 ······················ 141
5.8.2 參數化 ························· 142
5.8.3 分支和循環 ··················· 144
5.9 模擬服務器 ···························· 145
5.10 監視器 ································· 148
5.11 命令行執行集合 ····················· 152
5.12 思考題 ································· 157
第6章 Selenium ······················· 158
6.1 簡介 ····································· 158
6.1.1 版本演進 ······················ 158
6.1.2 特點 ···························· 159
6.1.3 WebDriver的工作原理 ····· 159
6.2 環境準備 ······························· 160
6.2.1 安裝Selenium ················· 160
6.2.2 安裝瀏覽器驅動 ·············· 161
6.2.3 第一個示例 ···················· 162
6.3 瀏覽器操作 ····························· 163
6.4 頁面元素定位 ·························· 169
6.4.1 頁面查找元素 ················· 170
6.4.2 id定位 ·························· 171
6.4.3 name定位 ····················· 171
6.4.4 class定位 ······················ 172
6.4.5 tag定位 ························ 172
6.4.6 link定位 ······················· 173
6.4.7 partial link定位 ··············· 173
6.4.8 css定位 ························ 173
6.4.9 xpath定位 ····················· 174
6.4.10 相對定位 ····················· 178
6.4.11 定位一組元素 ··············· 179
6.5 獲取頁面內容 ·························· 180
6.6 獲取元素屬性 ·························· 181
6.7 頁面元素操作 ·························· 183
6.7.1 單擊 ····························· 183
6.7.2 輸入文本 ······················· 184
6.7.3 清除文本 ······················· 184
6.7.4 提交表單 ······················· 185
6.7.5 單選框操作 ···················· 186
6.7.6 複選框操作 ···················· 187
6.7.7 下拉框操作 ···················· 187
6.7.8 Frame結構操作 ·············· 189
6.8 文件操作 ································ 191
6.8.1 文件上傳 ······················· 191
6.8.2. 文件下載 ······················· 192
6.9 模擬鼠標操作 ························· 194
6.10 模擬鍵盤操作 ························ 197
6.11 延時等待 ······························ 198
6.12 瀏覽器配置 ··························· 201
6.13 其他操作 ······························ 203
6.13.1 調用JavaScript ············· 203
6.13.2 Cookie操作 ················· 204
6.13.3 屏幕截圖 ····················· 205
6.13.4 獲取環境信息 ··············· 205
6.13.5 執行CDP命令 ············· 206
6.13.6 設置超時時間 ··············· 207
6.14 Webdriver Manager ·················· 207
6.15 Selenium Grid ························ 208
6.16 生成測試用例腳本 ·················· 212
6.17 思考題 ································· 218
第7章 Appium ························· 219
7.1 簡介 ····································· 219
7.2 Android模擬器 ························ 220
7.3 ADB工具 ······························ 221
7.3.1 ADB的工作原理 ············ 221
7.3.2 ADB工具安裝 ··············· 222
7.3.3 ADB常用命令 ··············· 224
7.3.4 自動化測試中常用的ADB 命令 ···························· 225
7.4 Appium環境準備 ····················· 228
7.4.1 安裝Appium Desktop ······· 228
7.4.2 安裝Appium Inspector ······ 229
7.4.3 Appium簡單使用 ············ 230
7.4.4 Inspector功能 ················· 233
7.4.5 腳本錄製 ······················· 233
7.4.6 查看元素屬性 ················· 236
7.5 Appium Server ·························· 236
7.6 Appium Client ·························· 238
7.7 UI Automator Viewer ················· 240
7.8 元素定位 ································ 241
7.9 元素操作 ································ 243
7.10 獲取元素屬性 ························ 244
7.11 觸控事件 ······························ 246
7.11.1 TouchAction ················· 246
7.11.2 輸入源行爲 ·················· 248
7.11.3 單點觸控 ····················· 249
7.11.4 多點觸控 ····················· 250
7.11.5 其他觸控操作 ··············· 252
7.12 設備交互 ······························ 254
7.13 Android Toast識別 ·················· 258
7.14 其他操作 ······························ 259
7.15 不同應用的測試 ····················· 262
7.15.1 App應用程序的分類 ······ 262
7.15.2 案例一: 原生應用的測試 ············· 263
7.15.3 案例二: Web應用測試 ················ 271
7.15.4 案例三: 混合應用測試 ················ 275
7.15.5 案例四: 微信小程序測試 ············· 277
7.16 穩定性測試 ··························· 279
7.16.1 Monkey簡介 ················ 279
7.16.2 Monkey常用參數 ·········· 280
7.16.3 Monkey日誌分析 ·········· 282
7.17 思考題 ································· 285
第8章 JMeter ·························· 286
8.1 簡介 ····································· 286
8.2 安裝 ····································· 287
8.3 配置文件 ······························· 288
8.4 界面介紹 ······························· 291
8.5 腳本錄製 ······························· 293
8.6 基本組件 ······························· 297
8.7 測試計劃 ······························· 298
8.8 線程組 ·································· 301
8.8.1 普通線程組 ··················· 302
8.8.2 開放模型線程組 ············· 304
8.9 取樣器 ·································· 305
8.9.1 HTTP請求 ···················· 306
8.9.2 調試取樣器 ··················· 311
8.9.3 BeanShell 取樣器 ··········· 312
8.9.4 FTP請求 ······················ 314
8.9.5 JDBC請求 ···················· 316
8.9.6 SMTP取樣器 ················· 316
8.10 配置元件 ······························ 320
8.10.1 CSV數據文件設置 ········ 321
8.10.2 HTTP信息頭管理器 ······ 323
8.10.3 HTTP Cookie管理器 ······ 324
8.10.4 HTTP請求默認值 ········· 326
8.10.5 JDBC連接配置器 ·········· 327
8.10.6 隨機變量 ····················· 330
8.11 前置處理器 ··························· 332
8.11.1 用戶參數 ····················· 333
8.11.2 取樣器超時 ·················· 334
8.12 後置處理器 ··························· 334
8.12.1 CSS/Query提取器 ·········· 335
8.12.2 JSON提取器 ················ 337
8.12.3 正則表達式提取器 ········· 338
8.12.4 XPath提取器 ················ 339
8.13 斷言 ···································· 341
8.13.1 響應斷言 ····················· 342
8.13.2 JSON斷言 ··················· 343
8.13.3 XPath斷言 ··················· 345
8.14 定時器 ································· 346
8.14.1 固定定時器 ·················· 347
8.14.2 統一隨機定時器 ············ 347
8.14.3 同步定時器 ·················· 347
8.14.4 高斯隨機定時器 ············ 348
8.15 監聽器 ································· 348
8.15.1 查看結果樹 ·················· 349
8.15.2 聚合報告 ····················· 350
8.15.3 響應時間圖 ·················· 351
8.15.4 斷言結果 ····················· 351
8.16 邏輯控制器 ··························· 352
8.16.1 IF控制器 ····················· 353
8.16.2 循環控制器 ·················· 354
8.16.3 ForEach控制器 ············· 355
8.16.4 僅一次控制器 ··············· 356
8.17 作用域和執行順序 ·················· 357
8.18 插件 ···································· 357
8.19 函數 ···································· 360
8.20 分佈式部署 ··························· 362
8.21 可視化監控平臺的搭建與使用 ··· 364
8.21.1 安裝和部署InfluxDB 1.7 ·· 365
8.21.2 安裝和部署Grafana ······· 365
8.21.3 Grafana中添加 JMeter模板 ·················· 366
8.21.4 創建和運行JMeter腳本 ··· 367
8.22 思考題 ································· 368
第9章 實現單元測試 ················· 370
9.1 被測產品介紹 ························· 370
9.1.1 項目介紹 ······················ 370
9.1.2 產品搭建 ······················ 371
9.2 單元測試簡介 ························· 374
9.2.1 概念 ···························· 374
9.2.2 分類 ···························· 375
9.2.3 對測試人員的要求 ·········· 375
9.3 用例設計方法 ························· 376
9.3.1 路徑覆蓋 ······················ 377
9.3.2 語句覆蓋 ······················ 377
9.3.3 條件覆蓋 ······················ 378
9.3.4 判定覆蓋 ······················ 379
9.3.5 判定和條件覆蓋 ············· 380
9.3.6 條件組合覆蓋 ················ 381
9.4 實戰對象 ······························· 381
9.5 設計測試用例 ························· 383
9.6 編寫測試腳本 ·························· 384
9.7 統計代碼覆蓋率 ······················· 385
9.8 思考題 ··································· 387
第10章 實現代碼包測試 ·············· 389
10.1 什麼是代碼包 ························ 389
10.2 用例設計方法 ························ 389
10.3 實踐對象 ······························ 390
10.4 設計測試用例 ························ 392
10.5 編寫測試腳本 ························ 393
10.6 測試運行 ······························ 397
10.7 思考題 ································· 398
第11章 實現接口測試 ················· 399
11.1 接口測試簡介 ························ 399
11.1.1 概念 ··························· 399
11.1.2 常見接口協議 ··············· 400
11.2 用例設計方法 ························ 401
11.3 實戰對象 ······························ 403
11.4 構建項目結構 ························ 404
11.5 設計測試用例 ························ 406
11.6 編寫項目腳本 ························ 407
11.6.1 設計測試用例文件 ········· 407
11.6.2 添加基礎配置數據 ········· 413
11.6.3 讀取配置文件內容 ········· 414
11.6.4 獲取測試用例數據 ········· 415
11.6.5 封裝接口請求函數 ········· 418
11.6.6 設置共享夾具 ··············· 419
11.6.7 封裝斷言函數 ··············· 419
11.6.8 添加測試用例函數 ········· 422
11.7 執行測試項目 ························ 425
11.8 思考題 ································· 427
第12章 實現Web UI測試 ·········· 428
12.1 Web UI測試簡介 ···················· 428
12.2 用例設計方法 ························ 429
12.3 Page Object模型 ····················· 430
12.4 實戰對象 ······························ 432
12.5 設計測試用例 ························ 433
12.6 項目結構搭建 ························ 434
12.7 編寫測試腳本 ························ 436
12.7.1 封裝元素定位 ··············· 436
12.7.2 添加測試數據 ··············· 438
12.7.3 頁面功能函數封裝 ········· 439
12.7.4 實現測試用例 ··············· 446
12.8 執行測試項目 ························ 452
12.9 思考題 ································· 453
第13章 實現移動端測試 ············· 454
13.1 App測試簡介 ························ 454
13.2 項目實戰對象 ························ 455
13.3 項目結構搭建 ························ 456
13.4 編寫測試腳本 ························ 457
13.4.1 封裝元素定位 ··············· 457
13.4.2 添加測試數據 ··············· 458
13.4.3 頁面功能函數封裝 ········· 459
13.4.4 實現測試用例 ··············· 465
13.5 執行測試項目 ························ 466
13.6 思考題 ································· 467
第14章 實現性能測試 ················· 468
14.1 性能測試簡介 ························ 468
14.1.1 測試流程 ····················· 469
14.1.2 常見性能指標 ··············· 469
14.1.3 流量回放技術 ··············· 470
14.2 性能需求分析 ························ 471
14.3 制訂測試計劃 ························ 472
14.4 確定測試方案 ························ 475
14.5 搭建測試環境 ························ 478
14.6 準備測試數據 ························ 479
14.7 開發壓測腳本 ························ 479
14.7.1 添加請求 ····················· 479
14.7.2 運行調試 ····················· 485
14.7.3 設置斷言 ····················· 487
14.7.4 增加壓力 ····················· 490
14.8 測試執行及監控 ····················· 492
14.9 結果分析 ······························ 493
14.10 性能調優 ····························· 497
14.11 編寫測試報告 ······················· 498
14.12 思考題 ································ 498
第15章 容器化部署與自動化測試 ··· 499
15.1 什麼是容器化部署 ·················· 499
15.2 Docker安裝 ··························· 500
15.3 Docker核心概念 ····················· 502
15.4 Docker使用 ··························· 503
15.4.1 倉庫操作 ····················· 503
15.4.2 鏡像操作 ····················· 504
15.4.3 容器操作 ····················· 506
15.5 Dockerfile ····························· 510
15.6 Docker部署Jenkins ················· 513
15.6.1 Jenkins安裝 ················· 513
15.6.2 Jenkins在自動化測試中的 應用 ···························· 515
15.7 持續集成與自動化測試 ············ 522
15.7.1 什麼是持續集成 ············ 523
15.7.2 持續集成常用工具 ········· 523
15.7.3 部署測試項目 ··············· 524
15.8 思考題 ································· 524
參考文獻 ····································· 525

圖解

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章