Spring Boot 開發與測試實戰

李泳

  • 出版商: 人民郵電
  • 出版日期: 2022-11-01
  • 售價: $539
  • 貴賓價: 9.5$512
  • 語言: 簡體中文
  • 頁數: 300
  • ISBN: 7115597332
  • ISBN-13: 9787115597335
  • 相關分類: Java 相關技術
  • 立即出貨 (庫存 < 4)

  • Spring Boot 開發與測試實戰-preview-1
  • Spring Boot 開發與測試實戰-preview-2
Spring Boot 開發與測試實戰-preview-1

買這商品的人也買了...

商品描述

本書首先介紹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