Spring Boot 開發與測試實戰
李泳
買這商品的人也買了...
-
$580$452 -
$602Spring5 核心原理與 30個類手寫實戰
-
$400$300 -
$580$458 -
$407高效制勝 -- 程序員面試典型題解 (全彩印刷)
-
$550$413 -
$458Spring Boot 企業級項目開發實戰
-
$734掌握分佈式跟蹤:微服務和復雜系統性能分析
-
$880$748 -
$580$458 -
$654$621 -
$505從零開始學 Spring Boot
-
$690$538 -
$708$673 -
$407Spring MVC 源碼精講
-
$650$507 -
$768$730 -
$714$678 -
$352二進制安全基礎
-
$1,280$1,088 -
$1,200$1,020 -
$580$458 -
$880$695 -
$800$600 -
$850$638
相關主題
商品描述
本書首先介紹Spring、Spring Boot、Spring MVC和Spring Security等技術,然後以一個簡易的在線書店管理系統為例,全面講解採用JPA/MyBatis、MySQL、Thymeleaf與Bootstrap技術棧開發應用程序的過程。開發過程中引入菱形測試模型,覆蓋單元測試、接口測試、功能測試和探索測試等方法,並開展關鍵字驅動測試和數據驅動測試。本書基於分層測試框架,結合實踐案例說明如何實施測試,有助於項目研發人員提高測試效率和產品成熟度。
本書不僅適合測試人員、開發人員閱讀,還可作為相關培訓機構的教材。
作者簡介
李泳 ,担任过质量测试总监、测试总监、开发工程师,拥有丰富的C/C++/Java经验,熟悉Spring Boot、SpingMVC等企业程序架构,拥有10年以上软件平台和硬件测试经验,开发过基于Linux 的GUI中间件和控件。
目錄大綱
目 錄
第 1章 Spring Boot 1
1.1 Spring框架的優勢 1
1.2 Spring基本概念 2
1.3 Spring核心模塊 4
1.4 企業級應用程序開發的痛點 6
1.5 Spring Boot的優勢 6
1.6 Spring Boot核心組件 7
1.7 Spring Boot程序創建方法 9
1.8 小結 9
第 2章 Spring MVC 10
2.1 典型的Java Web應用程序架構 10
2.2 創建一個Spring MVC程序 10
2.2.1 Java配置方式 10
2.2.2 XML配置方式 14
2.3 Spring MVC運行過程 16
2.4 小結 18
第3章 Spring Boot程序 19
3.1 創建一個“Hello World”程序 19
3.2 創建一個可執行的JAR包 24
3.3 Spring Boot運行入口類 27
3.4 Spring Boot註解簡介 28
3.5 小結 30
第4章 JPA和MyBatis 31
4.1 JPA簡介 31
4.2 Spring Data JPA簡介 32
4.2.1 常用註解 33
4.2.2 常用接口 33
4.3 Spring Data JPA集成實例 33
4.4 MyBatis實例 41
4.4.1 註解方式 41
4.4.2 使用Mapper XML 45
4.5 小結 47
第5章 Bootstrap 48
5.1 Bootstrap簡介 48
5.2 Bootstrap的組成、安裝和使用 48
5.3 Bootstrap網格 50
5.4 Bootstrap實例 51
5.5 小結 56
第6章 Thymeleaf 57
6.1 Thymeleaf標準表達式 57
6.2 使用Thymeleaf處理用戶輸入 59
6.3 Thymeleaf中的迭代器與條件判斷 59
6.3.1 迭代器 59
6.3.2 條件判斷 60
6.4 Thymeleaf模板片段 60
6.5 Thymeleaf實用方法 60
6.6 Thymeleaf實例 61
6.7 小結 73
第7章 Spring Security 74
7.1 Spring Security概述 74
7.2 HTTP基本身份驗證 75
7.3 Spring Security實例 76
7.4 小結 83
第8章 Spring Boot測試框架集成 84
8.1 Spring測試框架簡介 84
8.1.1 單元測試支持類 84
8.1.2 集成測試支持類 85
8.1.3 常用的測試註解 86
8.1.4 典型的Spring JUnit測試腳本 87
8.1.5 Spring MVC測試特性 87
8.2 Spring Boot測試特性 88
8.2.1 典型的測試腳本 89
8.2.2 使用@WebMvcTest註解進行單元測試 89
8.2.3 用於集成測試的TestRestTemplate 91
8.3 使用Mockito來模擬對象 92
8.4 小結 93
第9章 在線書店管理系統需求 95
9.1 業務需求調研 95
9.2 功能需求分析 96
9.2.1 用戶活動分析 96
9.2.2 系統模塊分析 96
9.2.3 業務數據分析 96
9.3 非功能需求分析 97
9.4 需求原型設計 97
9.4.1 業務導航圖 97
9.4.2 頁面原型設計 98
9.5 技術選型 98
9.6 系統架構設計 99
9.7 前端頁面設計 100
9.8 系統運行環境的搭建 100
9.8.1 JDK的安裝 100
9.8.2 Maven的安裝 101
9.8.3 MySQL的安裝 101
9.9 小結 102
第 10章 案例項目的創建 103
10.1 數據表設計 103
10.1.1 數據表結構設計 104
10.1.2 數據表關系圖 105
10.1.3 創建數據表腳本 105
10.1.4 創建數據庫和表 107
10.2 生成項目 108
10.3 pom.xml文件 109
10.4 配置文件 111
10.5 小結 111
第 11章 用戶管理模塊設計及實現 112
11.1 用戶管理需求 112
11.2 接口需求分析 113
11.3 後端設計及編碼 114
11.3.1 用戶域模型設計 114
11.3.2 用戶倉庫實現 117
11.3.3 用戶服務接口實現 117
11.3.4 用戶控制層實現 119
11.4 前端設計及編碼 122
11.4.1 用戶註冊 122
11.4.2 用戶登錄 124
11.4.3 用戶個人信息修改 125
11.4.4 用戶管理 127
11.4.5 創建用戶 129
11.4.6 刪除用戶 131
11.5 小結 132
第 12章 角色權限設計及實現 133
12.1 分析角色需求、權限需求與接口需求 133
12.1.1 角色功能需求分析 133
12.1.2 權限需求分析 133
12.1.3 接口需求分析 134
12.2 後端設計及編碼 134
12.2.1 初始化角色權限數據 134
12.2.2 角色域模型設計 134
12.2.3 權限安全配置 135
12.2.4 用戶身份認證服務實現 136
12.2.5 權限控制層實現 137
12.3 前端設計及編碼 137
12.4 小結 139
第 13章 圖書管理模塊設計及編碼實現 140
13.1 圖書管理需求 140
13.1.1 圖書搜索 140
13.1.2 圖書管理 140
13.2 接口需求分析 141
13.3 後端設計及編碼 141
13.3.1 圖書域模型設計 141
13.3.2 圖書倉庫實現 143
13.3.3 圖書服務接口實現 144
13.3.4 圖書控制層實現 145
13.4 前端設計及編碼 147
13.4.1 圖書管理 148
13.4.2 新增圖書 149
13.4.3 圖書編輯 151
13.4.4 圖書搜索 153
13.4.5 圖書詳情 154
13.5 小結 155
第 14章 訂單管理模塊設計及編碼實現 156
14.1 訂單管理需求 156
14.1.1 生成訂單 156
14.1.2 訂單管理 156
14.2 接口需求分析 157
14.3 後端設計及編碼 158
14.3.1 訂單域模型設計 158
14.3.2 訂單倉庫實現 161
14.3.3 訂單服務接口實現 161
14.3.4 訂單控制層實現 163
14.4 前端設計及編碼 165
14.4.1 加入購物車 165
14.4.2 訂單確認 167
14.4.3 個人歷史訂單 168
14.4.4 訂單管理 169
14.4.5 訂單處理 170
14.4.6 訂單詳情 171
14.5 程序打包構建 172
14.6 小結 173
第 15章 RESTful API的設計與實現 174
15.1 RESTful API簡介 174
15.1.1 API設計準則 174
15.1.2 REST實現和Spring常用
註解 175
15.2 Swagger簡介 177
15.3 RESTful API實現 179
15.3.1 用戶接口設計 179
15.3.2 用戶接口實現 181
15.4 啟動Swagger查閱API 182
15.4.1 生成API文檔 182
15.4.2 新建用戶信息 182
15.4.3 查詢用戶信息 183
15.4.4 更新用戶信息 183
15.4.5 刪除用戶信息 184
15.4.6 接口測試驗證 185
15.5 小結 186
第 16章 分層測試框架 187
16.1 測試需求 187
16.2 測試策略 188
16.3 測試金字塔 188
16.3.1 單元測試 189
16.3.2 接口測試 190
16.3.3 UI測試 191
16.3.4 探索測試 191
16.4 菱形測試模型 191
16.4.1 輕量級單元測試 192
16.4.2 重量級接口測試 194
16.4.3 UI測試 196
16.5 測試模型及其使用場景 197
16.5.1 金字塔測試模型 197
16.5.2 冰激凌測試模型 198
16.5.3 菱形測試模型 198
16.5.4 改進的菱形測試模型 199
16.6 自動化測試實施策略 200
16.7 小結 201
第 17章 測試工具選型 202
17.1 自動化測試原理 202
17.2 測試工具選型原則 203
17.3 單元測試工具 204
17.3.1 JUnit 204
17.3.2 TestNG 209
17.3.3 Mockito 216
17.4 接口測試工具 217
17.4.1 Postman 217
17.4.2 JMeter 217
17.4.3 REST Assured 218
17.4.4 OkHttp 219
17.4.5 HttpClient 219
17.5 功能測試工具Selenium 219
17.6 小結 220
第 18章 單元測試腳本開發 221
18.1 測試定義回顧 221
18.2 單元測試設計原則 222
18.3 單元測試策略 223
18.4 集成測試策略 223
18.5 測試代碼目錄結構 224
18.6 DAO層測試腳本開發 225
18.7 Service層測試腳本開發 226
18.7.1 Service層單元測試 226
18.7.2 Service層集成測試 228
18.8 Controller層測試腳本開發 229
18.8.1 Controller層單元測試 230
18.8.2 Controller層集成測試 233
18.9 小結 236
第 19章 接口測試腳本開發 237
19.1 接口測試的方法及環境 237
19.1.1 接口測試方法 237
19.1.2 接口測試環境 238
19.2 Postman 239
19.2.1 Postman的安裝 240
19.2.2 使用Postman進行接口測試 240
19.3 JMeter 244
19.3.1 JMeter的安裝 244
19.3.2 使用JMeter進行接口測試 244
19.4 REST Assured 251
19.4.1 REST Assured的使用 251
19.4.2 使用REST Assured進行接口測試 254
19.5 OkHttp 258
19.5.1 OkHttp的使用 258
19.5.2 使用OkHttp進行接口測試 259
19.5.3 異步調用 261
19.6 HttpClient 261
19.6.1 HttpClient的使用 261
19.6.2 使用HttpClient進行接口測試 262
19.7 小結 264
第 20章 功能測試腳本開發 265
20.1 功能測試場景 265
20.1.1 測試環境 265
20.1.2 測試場景 265
20.2 基於JMeter的後端功能測試 266
20.3 基於Selenium的前端功能測試 272
20.3.1 元素定位 272
20.3.2 WebDriver常用函數 273
20.3.3 Selenium測試腳本開發 273
20.3.4 Page Object測試模式 277
20.4 數據驅動測試 280
20.5 關鍵字驅動測試 287
20.6 小結 293
第 21章 探索測試 294
21.1 探索測試的定義 294
21.2 探索測試的優勢和不足 295
21.3 探索測試的方法 295
21.4 探索測試實踐 297
21.5 小結 299
附錄A 案例的架構和測試框架 300