中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

超值優(yōu)惠券
¥50
滿100可用 有效期2天

全場圖書通用(淘書團除外)

不再提示
關閉
歡迎光臨中圖網(wǎng) 請 | 注冊

包郵 JAVA研發(fā)自測入門與進階

出版社:人民郵電出版社出版時間:2024-03-01
開本: 16開 頁數(shù): 334
中 圖 價:¥62.9(7.0折) 定價  ¥89.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

JAVA研發(fā)自測入門與進階 版權信息

JAVA研發(fā)自測入門與進階 本書特色

(1)本書內容全面,競爭力強,結構清晰。本書以普通應用開發(fā)者會涉及的知識點為綱要,深入剖析了這些知識點,全面而透徹。

(3)內容豐富,層層遞進,便于理解。系統(tǒng)講解Java 開發(fā)者如何進行開發(fā)自測,幫助開發(fā)人員通過自己先來保證軟件的質量。將測試行為提前到進入測試周期前,可以提高提測的成功率,減少開發(fā)任務在測試階段的停留時間,提高迭代效率。

(4)作者資歷深厚,擁有多年的開發(fā)經(jīng)驗,本書內容是基于作者在工作中的積累整理而成,實戰(zhàn)性強。

JAVA研發(fā)自測入門與進階 內容簡介

本書是一部基于大量自測實踐詳細介紹如何編寫高質量 Java 代碼的作品。全書共 11 章,分為三篇。 研發(fā)自測基礎篇(第 1~6 章),主要介紹了日常工作使用頻率高的基礎知識,包括軟件測試的基本概念、代碼評審的方式、單元測試等內容。為了讓測試的編寫更容易,這一篇還介紹了測試替身,以及如何與 Spring框架相結合來編寫測試等內容。 研發(fā)自測高級篇(第 7~10 章),首先介紹了驗證程序性能的方法和程序并發(fā)安全的相關知識,然后深入講解了什么是 TDD 和如何為重構編寫測試等內容。 源碼分析篇(第 11 章),對常見測試框架和庫的源碼(包括 JUnit、Mockito、JaCoCo 等)進行了分析。通過探究測試框架和庫的源碼,讓讀者更為深刻地掌握測試技術。 本書適合 Java 開發(fā)人員、負責公司軟件質量的相關人員和測試人員閱讀。

JAVA研發(fā)自測入門與進階 目錄

目錄



研發(fā)自測基礎篇

第 1章 研發(fā)自測基礎 3

1.1 軟件測試的基本概念 3

1.1.1 軟件測試 3

1.1.2 缺陷 4

1.1.3 測試用例 5

1.1.4 測試金字塔 6

1.1.5 測試策略 7

1.1.6 測試左移和測試右移 8

1.1.7 質量度量 8

1.2 軟件的測試分類 10

1.2.1 單元測試 10

1.2.2 集成測試 11

1.2.3 系統(tǒng)測試 11

1.2.4 驗收測試 11

1.2.5 靜態(tài)代碼分析 12

1.2.6 安全測試 12

1.2.7 性能測試 12

1.3 測試用例設計入門 13

1.3.1 劃分等價類 13

1.3.2 邊界值分析法 14

1.3.3 場景法 15

1.4 開發(fā)人員自測范圍 16

1.4.1 新交付的需求 18

1.4.2 缺陷處理 18

1.4.3 重構 18

1.4.4 數(shù)據(jù)遷移 18

1.5 測試數(shù)據(jù)的構造和安全 18

1.5.1 高效構造測試數(shù)據(jù) 19

1.5.2 測試數(shù)據(jù)的安全 21

1.6 小結 22

第 2章 代碼評審 23

2.1 常用的靜態(tài)代碼分析工具 24

2.1.1 Checkstyle 24

2.1.2 FindBugs 34

2.1.3 ArchUnit 40

2.1.4 OWASP DependencyCheck 46

2.2 人工代碼評審 47

2.2.1 代碼評審的場景 47

2.2.2 代碼評審的工具 48

2.2.3 代碼評審的注意事項 48

2.2.4 Java代碼評審清單 50

2.3 Git工作流和保護 50

2.3.1 Git工作流 50

2.3.2 Git Hooks 51

2.3.3 分支保護 53

2.4 小結 53

第3章 單元測試基礎 55

3.1 單元測試 55

3.1.1 什么是單元測試 55

3.1.2 為什么需要單元測試 56

3.1.3 怎么學習單元測試 56

3.1.4 搭建JUnit環(huán)境 57

3.1.5 給“Hello, world!”寫一個單元測試 58

3.2 斷言 59

3.2.1 編寫一個簡單的斷言庫 60

3.2.2 JUnit內置的斷言方法 60

3.2.3 使用assertThat和Matcher方法 61

3.2.4 編寫自己的Matcher方法 63

3.2.5 斷言并不只是單元測試中的概念 63

3.2.6 思考題 64

3.3 單元測試的設計 64

3.3.1 準備并清理測試數(shù)據(jù) 65

3.3.2 設計單元測試用例 66

3.3.3 參數(shù)化單元測試用例 69

3.4 單元測試的使用技巧 70

3.4.1 測試異常 70

3.4.2 測試覆蓋率 72

3.4.3 使用JUnit Rule 73

3.4.4 其他技巧 74

3.4.5 新手容易犯的錯誤 75

3.5 基于JUnit 5實現(xiàn)測試 76

3.5.1 JUnit 5的架構說明 76

3.5.2 使用JUnit 5 77

3.5.3 更強的斷言能力 78

3.5.4 嵌套測試 78

3.5.5 拓展的變化 80

3.6 Java單元測試的原則和約定 80

3.6.1 FIRST原則 80

3.6.2 單元測試的約定 81

3.7 小結 81

第4章 測試替身 82

4.1 測試替身簡介 82

4.2 Mockito 84

4.2.1 使用mock方法 85

4.2.2 捕捉參數(shù)對象 87

4.2.3 設置模擬對象的行為 88

4.2.4 參數(shù)匹配器 89

4.2.5 使用spy方法 90

4.2.6 使用注解 91

4.2.7 其他技巧 93

4.3 增強測試:靜態(tài)、私有方法的處理 94

4.3.1 模擬靜態(tài)方法 94

4.3.2 模擬構造方法 97

4.3.3 模擬私有方法 98

4.3.4 反射工具箱 99

4.4 測試代碼的結構模式 100

4.4.1 準備-執(zhí)行-斷言 100

4.4.2 四階段測試 100

4.5 基于測試替身的反思 101

4.5.1 “大泥球” 101

4.5.2 分層過多 102

4.5.3 濫用測試替身 102

4.6 小結 103

第5章 Spring應用的測試 104

5.1 理解Spring測試體系 105

5.2 啟動Spring上下文測試 106

5.3 啟動Spring Boot上下文測試 109

5.3.1 @SpringBootTest注解 109

5.3.2 對Bean的模擬和監(jiān)視 112

5.3.3 Spring Boot切片配置 113

5.4 分層測試和測試策略 117

5.4.1 分層測試策略 117

5.4.2 MockMvc的執(zhí)行原理 118

5.4.3 內嵌基礎設施 120

5.5 常用的測試工具集 122

5.5.1 Spring Test庫提供的工具集 122

5.5.2 spring-boot-test庫提供的工具集 123

5.6 小結 125

第6章 RESTful API測試 126

6.1 RESTful API測試工具集 126

6.1.1 REST Assured 127

6.1.2 MariaDB 128

6.1.3 DbUnit 129

6.2 API測試實例 131

6.3 使用JsonPath斷言 136

6.4 鑒權 138

6.4.1 Basic鑒權 138

6.4.2 Token鑒權 138

6.4.3 Cookie鑒權 139

6.5 文件處理 140

6.6 模擬第三方API 140

6.6.1 使用適配器模式模擬 140

6.6.2 WireMock 143

6.7 API自動化測試策略 150

6.7.1 應用API 151

6.7.2 領域API 152

6.8 小結 154

研發(fā)自測高級篇

第7章 性能和并發(fā)檢測 157

7.1 微基準性能測試 158

7.1.1 使用Maven構建微基準性能測試 158

7.1.2 一個直觀的示例 160

7.1.3 使用JUnit運行微基準性能測試 161

7.2 API性能測試 163

7.2.1 JMeter介紹 163

7.2.2 安裝JMeter 164

7.2.3 設計測試計劃 165

7.2.4 執(zhí)行測試計劃 170

7.2.5 理解JMeter 173

7.3 并發(fā)檢測 176

7.3.1 幾種并發(fā)模型 176

7.3.2 并發(fā)問題類型 180

7.3.3 并發(fā)測試技術 181

7.3.4 并發(fā)問題的檢測實例 182

7.4 小結 190

第8章 測試驅動開發(fā) 191

8.1 理解TDD 191

8.1.1 TDD的多重含義 191

8.1.2 TDD的操作過程 192

8.1.3 TDD的價值 193

8.2 TDD的操作指南 193

8.3 TDD的實例演示 195

8.3.1 任務拆解和環(huán)境搭建 195

8.3.2 第 一輪任務 196

8.3.3 第二輪任務 198

8.3.4 第三輪任務 199

8.4 使用TDD的技巧 201

8.4.1 任務的拆解技巧 201

8.4.2 善于使用快捷鍵 202

8.4.3 只為必要的代碼編寫測試 203

8.5 總結 203

第9章 測試工程化 204

9.1 測試工程化簡介 204

9.2 搭建構建平臺 206

9.2.1 CI/CD工具選型 206

9.2.2 使用Jenkins搭建構建平臺 207

9.2.3 Jenkins插件的介紹 208

9.3 創(chuàng)建Jenkins項目 212

9.3.1 Freestyle 212

9.3.2 普通流水線 218

9.3.3 多分支流水線 223

9.3.4 并行流水線 227

9.4 配置測試報告發(fā)布工具并統(tǒng)計測試覆蓋率 228

9.4.1 配置測試報告發(fā)布工具 229

9.4.2 統(tǒng)計Java測試覆蓋率 231

9.5 小結 235

第 10章 測試守護重構 236

10.1 理解接口 237

10.2 守護“類”級別的重構 239

10.2.1 提取測試數(shù)據(jù) 240

10.2.2 參考測試覆蓋率 241

10.3 使用契約測試保護API重構 242

10.3.1 契約測試介紹 242

10.3.2 Pact 244

10.4 為數(shù)據(jù)遷移腳本編寫測試 248

10.4.1 Spring Batch 248

10.4.2 為Spring Batch腳本編寫測試 252

10.4.3 Reader、Writer和Processor的測試說明 254

10.5 漸進式重構 255

10.5.1 特性開關 255

10.5.2 灰度開關 265

10.5.3 切換 266

10.5.4 數(shù)據(jù)雙寫 267

10.5.5 關于特性開關的測試策略 269

10.6 小結 269

源碼分析篇

第 11章 測試框架的源碼分析 273

11.1 源碼分析的技巧 273

11.2 JUnit源碼分析 274

11.2.1 使用命令行方式運行測試 274

11.2.2 IntelliJ IDEA引導JUnit運行的原理 277

11.2.3 JUnitCore的分析 282

11.2.4 JUnit4 Runner的分析 283

11.2.5 斷言分析 289

11.2.6 完成JUnit源碼分析的收獲 290

11.3 Mockito的源碼分析 292

11.3.1 針對mock方法的分析 292

11.3.2 針對when方法的分析 297

11.3.3 針對verify方法的分析 300

11.4 JaCoCo的源碼分析 301

11.4.1 Java agent的基本用法 302

11.4.2 Java agent的調試方法 310

11.4.3 JaCoCo agent的啟動原理 312

11.4.4 JaCoCo探針的插樁過程 316

11.4.5 IntelliJ IDEA測試覆蓋率的實現(xiàn) 327

11.5 小結 327

附錄A 測試策略模板 329

附錄B 測試反模式 332
展開全部

JAVA研發(fā)自測入門與進階 作者簡介

林寧,Thoughtworks 軟件工程師、咨詢師,目前專注于微服務架構設計、中間件開發(fā)和領域驅動設計,有大量的單元測試、API自動化測試等經(jīng)驗。長期從事國內外企業(yè)軟件開發(fā),熟悉敏捷實踐,為國內多家大型企業(yè)據(jù)供與領域驅動設計和軟件建模相關的咨詢和培訓服務。魏兆玉,Thoughtworks 咨詢師,從業(yè)10余年,專注于敏捷軟件開發(fā),,并為國內外知名企業(yè)提供過人才培養(yǎng)服務,其中包含敏捷全棧開發(fā)、測試驅動開發(fā)、整潔代碼與重構、軟件設計、敏捷實踐以及Web應用安全等方面的人才培養(yǎng),擔任過開發(fā)工程師、項目經(jīng)理和培訓師。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服
主站蜘蛛池模板: 桥架-槽式电缆桥架-镀锌桥架-托盘式桥架 - 上海亮族电缆桥架制造有限公司 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 气动隔膜阀_气动隔膜阀厂家_卫生级隔膜阀价格_浙江浙控阀门有限公司 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 熔体泵|换网器|熔体齿轮泵|熔体计量泵厂家-郑州巴特熔体泵有限公司 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 灌装封尾机_胶水灌装机_软管灌装封尾机_无锡和博自动化机械制造有限公司 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 防火门-专业生产甲级不锈钢钢质防火门厂家资质齐全-广东恒磊安防设备有限公司 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 瑞典Blueair空气净化器租赁服务中心-专注新装修办公室除醛去异味服务! | 加中寰球移民官网-美国移民公司,移民机构,移民中介,移民咨询,投资移民 | 飞利浦LED体育场灯具-吸顶式油站灯-飞利浦LED罩棚灯-佛山嘉耀照明有限公司 | Akribis直线电机_直线模组_力矩电机_直线电机平台|雅科贝思Akribis-杭州摩森机电科技有限公司 | 有源电力滤波装置-电力有源滤波器-低压穿排电流互感器|安科瑞 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 高硼硅玻璃|水位计玻璃板|光学三棱镜-邯郸奥维玻璃科技有限公司 高温高压釜(氢化反应釜)百科 | 耐酸碱胶管_耐腐蚀软管总成_化学品输送软管_漯河利通液压科技耐油耐磨喷砂软管|耐腐蚀化学软管 | 四川实木门_成都实木门 - 蓬溪聚成门业有限公司 | 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 阁楼货架_阁楼平台_仓库仓储设备_重型货架_广州金铁牛货架厂 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 深圳市索富通实业有限公司-可燃气体报警器 | 可燃气体探测器 | 气体检测仪 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 步进_伺服_行星减速机,微型直流电机,大功率直流电机-淄博冠意传动机械 | 咖啡加盟-咖啡店加盟-咖啡西餐厅加盟-塞纳左岸咖啡西餐厅官网 | 河南空气能热水器-洛阳空气能采暖-洛阳太阳能热水工程-洛阳润达高科空气能商行 | 振动台-振动试验台-振动冲击台-广东剑乔试验设备有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 家乐事净水器官网-净水器厂家「官方」 | 税筹星_灵活用工平台_企业财务顾问_财税法薪综合服务平台 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | PVC快速门-硬质快速门-洁净室快速门品牌厂家-苏州西朗门业 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 高低温试验房-深圳高低温湿热箱-小型高低温冲击试验箱-爱佩试验设备 |