軟件接口測(cè)試實(shí)戰(zhàn)詳解
定 價(jià):119 元
- 作者:于涌 馬林 張林豐
- 出版時(shí)間:2021/4/1
- ISBN:9787115554123
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:398
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)主要講述軟件接口測(cè)試的技術(shù)和方法,共11章。本書(shū)結(jié)合大量示例代碼,介紹了Python編程環(huán)境,Python編程基礎(chǔ)知識(shí),單元測(cè)試框架UnitTest,接口測(cè)試的基礎(chǔ)知識(shí),接口測(cè)試環(huán)境的搭建,接口測(cè)試案例,接口 Mock 的應(yīng)用,接口測(cè)試工具,基于接口的性能測(cè)試案例,Python項(xiàng)目持續(xù)集成的案例,接口自動(dòng)化測(cè)試平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)。
本書(shū)不僅適合測(cè)試人員、開(kāi)發(fā)人員、運(yùn)維人員、項(xiàng)目管理人員閱讀,還適合作為高等院校相關(guān)專業(yè)的教材。
1.結(jié)合實(shí)戰(zhàn)和典型案例的圖書(shū),從工具到實(shí)戰(zhàn),一本上手接口測(cè)試的實(shí)戰(zhàn)指南;
2.作者于涌是多本軟件測(cè)試暢銷書(shū)的作者,在業(yè)界已名聲在外;
3.用流行的語(yǔ)言Python和工具講解接口測(cè)試,更符合讀者的需求。
于涌,畢業(yè)于北京大學(xué)計(jì)算機(jī)系,先后擔(dān)高級(jí)程序員、測(cè)試分析師、高級(jí)測(cè)試經(jīng)理等職位。擁有二十年豐富的開(kāi)發(fā)、測(cè)試及管理經(jīng)驗(yàn),F(xiàn)致力于軟件測(cè)試?yán)碚摵蛯?shí)踐研究,尤其擅長(zhǎng)自動(dòng)化測(cè)試工具應(yīng)用、性能測(cè)試和單元測(cè)試等。曾為多個(gè)大型軟件公司、高校企事業(yè)和專業(yè)培訓(xùn)機(jī)構(gòu)提供軟件測(cè)試、性能測(cè)試、安全測(cè)試、移動(dòng)測(cè)試、自動(dòng)化測(cè)試等理論和相關(guān)工具應(yīng)用方面的咨詢、培訓(xùn)和實(shí)施指導(dǎo)工作,具有豐富的實(shí)踐和教學(xué)經(jīng)驗(yàn)。多本軟件測(cè)試暢銷書(shū)的作者。
目 錄
第 1章 Python編程環(huán)境 1
1.1 為什么要學(xué)習(xí)Python 2
1.2 Python的版本選擇與安裝 7
1.2.1 Python的版本選擇 7
1.2.2 Python的安裝與配置 10
1.3 Python模塊的安裝方法 14
1.4 PyCharm的安裝 17
1.5 使用PyCharm完成第 一個(gè)
Python項(xiàng)目 20
1.6 本章小結(jié)和習(xí)題 24
1.6.1 本章小結(jié) 24
1.6.2 習(xí)題 24
第 2章 Python編程基礎(chǔ)知識(shí) 26
2.1 Python自帶IDE——IDLE 27
2.2 Python的相關(guān)術(shù)語(yǔ) 29
2.2.1 變量 29
2.2.2 數(shù)據(jù)類型 31
2.2.3 數(shù)據(jù)類型轉(zhuǎn)換 36
2.2.4 縮進(jìn) 37
2.2.5 內(nèi)置函數(shù) 38
2.3 列表 39
2.3.1 創(chuàng)建列表 40
2.3.2 通過(guò)索引獲取列表元素 40
2.3.3 通過(guò)切片獲取列表元素 41
2.3.4 添加列表元素 43
2.3.5 刪除列表元素 44
2.3.6 列表元素計(jì)數(shù) 46
2.3.7 列表元素的索引位置 48
2.3.8 列表長(zhǎng)度及反轉(zhuǎn) 49
2.4 元組 50
2.4.1 創(chuàng)建元組 50
2.4.2 通過(guò)索引獲取元組元素 50
2.4.3 通過(guò)切片獲取元組元素 51
2.4.4 元組元素計(jì)數(shù) 51
2.4.5 元組元素的索引位置 52
2.4.6 刪除整個(gè)元組 52
2.5 字典 53
2.5.1 創(chuàng)建字典 53
2.5.2 獲取字典元素 55
2.5.3 修改字典 56
2.5.4 字典元素計(jì)數(shù) 56
2.5.5 刪除字典或其元素 57
2.6 集合 58
2.6.1 創(chuàng)建集合 58
2.6.2 獲取集合元素 60
2.6.3 添加集合元素 60
2.6.4 修改集合 61
2.6.5 集合元素計(jì)數(shù) 62
2.6.6 刪除集合或其元素 62
2.7 常用運(yùn)算符 63
2.7.1 算術(shù)運(yùn)算符 63
2.7.2 邏輯運(yùn)算符 66
2.7.3 比較運(yùn)算符 67
2.7.4 賦值運(yùn)算符 67
2.7.5 位運(yùn)算符 68
2.8 常規(guī)語(yǔ)句應(yīng)用基礎(chǔ) 69
2.8.1 for循環(huán)語(yǔ)句 69
2.8.2 while循環(huán)語(yǔ)句 70
2.8.3 if...else條件語(yǔ)句 71
2.8.4 break語(yǔ)句 72
2.8.5 continue語(yǔ)句 72
2.8.6 模塊導(dǎo)入 72
2.8.7 函數(shù) 75
2.8.8 斷言 79
2.8.9 局部變量和全局變量 79
2.8.10 單行注釋與多行注釋 80
2.9 語(yǔ)法錯(cuò)誤及異常處理 81
2.9.1 語(yǔ)法錯(cuò)誤 81
2.9.2 異!82
2.9.3 通過(guò)try...except異常
捕獲 84
2.9.4 通過(guò)try...except...else...finally
異常捕獲 85
2.9.5 拋出異!86
2.10 多線程處理 87
2.10.1 __name__ ==
"__main__" 87
2.10.2 線程 89
2.10.3 創(chuàng)建單個(gè)線程 90
2.10.4 創(chuàng)建多個(gè)線程 90
2.10.5 守護(hù)線程 91
2.10.6 阻塞線程 95
2.11 類和對(duì)象 96
2.11.1 對(duì)象的思想 96
2.11.2 對(duì)象(類)的概念 96
2.11.3 類中的self 98
2.11.4 構(gòu)造函數(shù)與析構(gòu)函數(shù) 99
2.11.5 類的繼承 100
2.12 字符串相關(guān)操作 102
2.12.1 轉(zhuǎn)換為字符串類型 102
2.12.2 字符串的拼接 103
2.12.3 字符串的截取 104
2.12.4 字符串的替換 105
2.12.5 字符串的位置判斷 106
2.13 文件的相關(guān)操作 106
2.13.1 文本文件的操作 107
2.13.2 Excel文件操作 109
2.13.3 JSON格式 112
2.14 本章小結(jié)和習(xí)題 114
2.14.1 本章小結(jié) 114
2.14.2 習(xí)題 115
第3章 單元測(cè)試框架UnitTest 116
3.1 UnitTest測(cè)試框架 117
3.2 UnitTest測(cè)試框架的應(yīng)用 117
3.2.1 學(xué)習(xí)UnitTest前的準(zhǔn)備 117
3.2.2 測(cè)試用例設(shè)計(jì) 119
3.2.3 Test Case(測(cè)試用例) 120
3.2.4 Test Fixture(測(cè)試
固件) 122
3.2.5 Test Suite(測(cè)試套件) 122
3.2.6 Test Runner(測(cè)試
運(yùn)行器) 125
3.3 本章小結(jié)和作業(yè)習(xí)題 128
3.3.1 本章小結(jié) 128
3.3.2 作業(yè)習(xí)題 129
第4章 接口測(cè)試的基礎(chǔ)知識(shí) 130
4.1 搭建案例的相關(guān)環(huán)境 131
4.1.1 開(kāi)啟Internet信息服務(wù) 131
4.1.2 編寫(xiě)頁(yè)面代碼 132
4.1.3 編寫(xiě)JavaScript文件 132
4.1.4 創(chuàng)建虛擬目錄 133
4.1.5 部署及訪問(wèn) 134
4.1.6 頁(yè)面訪問(wèn)過(guò)程 134
4.2 網(wǎng)絡(luò)模型 135
4.2.1 OSI模型 135
4.2.2 TCP/IP模型 137
4.3 HTTP 137
4.3.1 通過(guò)瀏覽器捕獲HTTP 137
4.3.2 請(qǐng)求和響應(yīng)過(guò)程 140
4.3.3 封裝HTTP請(qǐng)求的內(nèi)容 141
4.3.4 封裝HTTP響應(yīng)的內(nèi)容 144
4.3.5 HTTP的無(wú)狀態(tài)特點(diǎn) 147
4.4 緩存 147
4.4.1 查看瀏覽器緩存 147
4.4.2 設(shè)置緩存過(guò)期時(shí)間 149
4.4.3 緩存處理機(jī)制 151
4.4.4 常見(jiàn)的緩存策略 153
4.5 Cookie 155
4.6 會(huì)話 156
4.7 XML 158
4.8 JSON 159
4.9 本章小結(jié)和習(xí)題 160
4.9.1 本章小結(jié) 160
4.9.2 習(xí)題 160
第5章 接口測(cè)試環(huán)境的搭建 161
5.1 創(chuàng)建虛擬環(huán)境 162
5.1.1 通過(guò)virtualenv創(chuàng)建虛擬
環(huán)境 162
5.1.2 通過(guò)virtualenvwrapper
創(chuàng)建虛擬環(huán)境 165
5.1.3 安裝Django 167
5.1.4 安裝Django REST
Framework 169
5.1.5 安裝Django REST
Framework JWT 169
5.2 案例一:Django接口測(cè)試環(huán)境的
搭建 170
5.2.1 新建項(xiàng)目目錄 170
5.2.2 創(chuàng)建項(xiàng)目 170
5.2.3 創(chuàng)建應(yīng)用 171
5.2.4 查看項(xiàng)目結(jié)構(gòu) 171
5.2.5 注冊(cè)應(yīng)用 172
5.2.6 編寫(xiě)視圖代碼 172
5.2.7 實(shí)現(xiàn)URL映射 173
5.2.8 運(yùn)行服務(wù) 173
5.2.9 訪問(wèn)接口 174
5.2.10 原理分析 174
5.3 案例二:基于模型的Django接口
測(cè)試環(huán)境的搭建 175
5.3.1 創(chuàng)建Django項(xiàng)目 176
5.3.2 PyCharm中的設(shè)置 177
5.3.3 檢查應(yīng)用注冊(cè)信息 177
5.3.4 運(yùn)行服務(wù)器 178
5.3.5 建立模型 179
5.3.6 生成數(shù)據(jù)庫(kù)變更文件 180
5.3.7 生成數(shù)據(jù)庫(kù)和數(shù)據(jù)表 180
5.3.8 查看數(shù)據(jù)庫(kù) 181
5.3.9 編寫(xiě)視圖代碼 182
5.3.10 實(shí)現(xiàn)URL映射 183
5.3.11 運(yùn)行服務(wù)器 184
5.3.12 訪問(wèn)接口 184
5.3.13 Django后臺(tái)管理 184
5.4 案例三:Django REST Framework
接口測(cè)試環(huán)境的搭建 186
5.4.1 新建應(yīng)用 186
5.4.2 注冊(cè)應(yīng)用 187
5.4.3 建立模型 187
5.4.4 模型序列化 188
5.4.5 變更數(shù)據(jù) 188
5.4.6 編寫(xiě)視圖代碼 189
5.4.7 實(shí)現(xiàn)URL映射 191
5.4.8 運(yùn)行服務(wù)器 191
5.4.9 訪問(wèn)接口 192
5.4.10 實(shí)現(xiàn)POST請(qǐng)求 192
5.4.11 實(shí)現(xiàn)GET請(qǐng)求 193
5.4.12 實(shí)現(xiàn)PUT請(qǐng)求 194
5.4.13 實(shí)現(xiàn)DELETE請(qǐng)求 195
5.4.14 原理分析 195
5.5 案例四:實(shí)現(xiàn)令牌用戶的認(rèn)證 196
5.5.1 新建應(yīng)用 197
5.5.2 引入用戶認(rèn)證機(jī)制 197
5.5.3 實(shí)現(xiàn)序列化 198
5.5.4 編寫(xiě)視圖代碼 198
5.5.5 URL設(shè)置 199
5.5.6 改變數(shù)據(jù)庫(kù) 200
5.5.7 訪問(wèn)用戶列表 200
5.5.8 通過(guò)Postman模擬請(qǐng)求 202
5.5.9 獲取令牌 202
5.5.10 模擬身份認(rèn)證 203
5.6 案例五:實(shí)現(xiàn)JWT用戶的認(rèn)證 204
5.6.1 啟用Django REST
Framework中JWT的
配置 205
5.6.2 獲取URL 206
5.6.3 獲取JWT 206
5.6.4 模擬請(qǐng)求 207
5.6.5 過(guò)期驗(yàn)證 208
5.7 本章小結(jié)和習(xí)題 208
5.7.1 本章小結(jié) 208
5.7.2 習(xí)題 209
第6章 接口測(cè)試案例 210
6.1 項(xiàng)目架構(gòu)的演變 211
6.2 接口測(cè)試 213
6.3 接口文檔 214
6.3.1 PM2.5查詢接口文檔 214
6.3.2 騰訊云人臉比對(duì)接口
文檔 216
6.4 接口測(cè)試 217
6.4.1 實(shí)現(xiàn)接口測(cè)試案例 217
6.4.2 接口設(shè)計(jì)文檔 220
6.4.3 設(shè)計(jì)測(cè)試用例 222
6.4.4 編寫(xiě)測(cè)試腳本 229
6.5 本章小結(jié)和習(xí)題 237
6.5.1 本章小結(jié) 237
6.5.2 習(xí)題 237
第7章 接口Mock的應(yīng)用 238
7.1 接口Mock技術(shù)介紹 239
7.2 json-server Mock工具實(shí)例
講解 239
7.2.1 json-server介紹 239
7.2.2 json-server安裝 240
7.2.3 json-server應(yīng)用簡(jiǎn)要
說(shuō)明 242
7.2.4 案例講解1:向圖書(shū)中添加
數(shù)據(jù)接口驗(yàn)證 245
7.2.5 案例講解2:圖書(shū)數(shù)據(jù)信息
查詢接口驗(yàn)證 246
7.2.6 案例講解3:出版社數(shù)據(jù)
信息修改接口驗(yàn)證 249
7.2.7 案例講解4:圖書(shū)數(shù)據(jù)信息
刪除接口驗(yàn)證 250
7.3 本章小結(jié)和作業(yè)習(xí)題 251
7.3.1 本章小結(jié) 251
7.3.2 作業(yè)習(xí)題 251
第8章 接口測(cè)試工具 253
8.1 JMeter工具在接口測(cè)試中的
應(yīng)用 254
8.1.1 JMeter相關(guān)介紹 254
8.1.2 JMeter的安裝環(huán)境下載 254
8.1.3 安裝JDK 255
8.1.4 安裝JMeter 257
8.1.5 JMeter的錄制需求介紹 258
8.1.6 創(chuàng)建線程組 258
8.1.7 添加測(cè)試腳本錄制器 260
8.1.8 配置證書(shū) 262
8.1.9 運(yùn)行腳本錄制器 266
8.1.10 添加監(jiān)聽(tīng)器 271
8.1.11 添加檢查點(diǎn) 272
8.1.12 結(jié)果信息分析 275
8.2 基于JMeter工具接口測(cè)試項(xiàng)目
實(shí)戰(zhàn) 276
8.2.1 火車(chē)查詢接口介紹 276
8.2.2 火車(chē)查詢接口測(cè)試用例
設(shè)計(jì) 280
8.2.3 首條接口測(cè)試用例JMeter
腳本實(shí)現(xiàn) 282
8.2.4 首條接口測(cè)試用例JMeter
腳本執(zhí)行與結(jié)果分析 284
8.2.5 接口測(cè)試用例JMeter
腳本實(shí)現(xiàn) 287
8.2.6 接口測(cè)試用例JMeter
腳本執(zhí)行與結(jié)果分析 289
8.3 Postman工具應(yīng)用 291
8.3.1 Postman安裝及介紹 291
8.3.2 Postman發(fā)送請(qǐng)求 293
8.3.3 執(zhí)行腳本 298
8.3.4 運(yùn)行測(cè)試集合 302
8.4 基于Postman工具接口測(cè)試項(xiàng)目
實(shí)戰(zhàn) 304
8.4.1 接口測(cè)試用例Postman
腳本實(shí)現(xiàn) 305
8.4.2 接口測(cè)試用例Postman
腳本執(zhí)行與結(jié)果分析 312
8.5 本章小結(jié)和作業(yè)習(xí)題 314
8.5.1 本章總結(jié) 314
8.5.2 作業(yè)習(xí)題 315
第9章 基于接口的性能測(cè)試實(shí)戰(zhàn) 316
9.1 性能測(cè)試的基本概念 317
9.1.1 典型的性能測(cè)試場(chǎng)景 317
9.1.2 性能測(cè)試的概念及其
分類 317
9.1.3 性能測(cè)試工具的引入 318
9.1.3 性能測(cè)試的基本過(guò)程 319
9.2 Locust性能測(cè)試工具安裝與
應(yīng)用 325
9.2.1 Locust性能測(cè)試工具
安裝 325
9.2.2 性能測(cè)試接口需求 326
9.2.3 接口測(cè)試功能性用例
設(shè)計(jì) 331
9.2.4 測(cè)試用例腳本實(shí)現(xiàn)(接口
功能性驗(yàn)證) 332
9.2.5 接口測(cè)試性能用例設(shè)計(jì) 334
9.2.6 測(cè)試用例腳本實(shí)現(xiàn) 335
9.2.7 Locust兩種執(zhí)行方式
簡(jiǎn)介 337
9.2.8 Locust分布式壓測(cè)方法
簡(jiǎn)介 343
9.2.9 性能測(cè)試場(chǎng)景執(zhí)行 344
9.2.10 性能測(cè)試執(zhí)行結(jié)果
分析與總結(jié) 348
9.3 本章小結(jié)和作業(yè)習(xí)題 350
9.3.1 本章小結(jié) 350
9.3.2 作業(yè)習(xí)題 350
第 10章 Python項(xiàng)目持續(xù)集成的案例 351
10.1 持續(xù)集成 352
10.2 在Gitee上托管代碼 352
10.2.1 設(shè)置Git用戶信息 353
10.2.2 設(shè)置SSH公鑰 353
10.2.3 在PyCharm中配置
Gitee 355
10.2.4 共享項(xiàng)目 357
10.3 Jenkins的安裝 358
10.3.1 安裝及配置JDK 359
10.3.2 安裝Jenkins 360
10.4 Jenkins的配置 362
10.4.1 系統(tǒng)更新 362
10.4.2 插件管理 363
10.4.3 配置Gitee 367
10.5 Jenkins的構(gòu)建任務(wù) 369
10.6 運(yùn)行構(gòu)建任務(wù) 371
10.7 本章小結(jié)和習(xí)題 373
10.7.1 本章小結(jié) 373
10.7.2 習(xí)題 373
第 11章 自動(dòng)化接口測(cè)試平臺(tái)設(shè)計(jì)與
實(shí)現(xiàn) 374
11.1 接口測(cè)試面臨的一些痛點(diǎn)
問(wèn)題 375
11.2 接口自動(dòng)化測(cè)試平臺(tái)核心功能
設(shè)計(jì) 375
11.2.1 接口自動(dòng)化測(cè)試平臺(tái)
引入 375
11.2.2 接口自動(dòng)化測(cè)試平臺(tái)
投入 377
11.2.3 JMeter命令行調(diào)用執(zhí)行
方法 378
11.2.4 Postman命令行調(diào)用執(zhí)行
方法 380
11.2.5 測(cè)試平臺(tái)開(kāi)發(fā)綜述 385
11.2.6 平臺(tái)測(cè)試用例管理 387
11.2.7 平臺(tái)測(cè)試環(huán)境管理 389
11.2.8 平臺(tái)測(cè)試任務(wù)執(zhí)行 390
11.2.9 平臺(tái)測(cè)試結(jié)果分析 392
11.2.10 平臺(tái)測(cè)試報(bào)告生成 393
11.2.11 平臺(tái)測(cè)試郵件通知 396
11.3 本章小結(jié)和作業(yè)習(xí)題 397
11.3.1 本章小結(jié) 397
11.3.2 作業(yè)習(xí)題 398