在互聯(lián)網(wǎng)飛速發(fā)展的今天,系統(tǒng)的復(fù)雜度及迭代速度都在不斷提升,這對(duì)質(zhì)量保障工作提出巨大挑戰(zhàn)。那么如何在快速迭代發(fā)布下保障系統(tǒng)質(zhì)量呢?閱讀《京東系統(tǒng)質(zhì)量保障技術(shù)實(shí)戰(zhàn)》或許會(huì)找到一些答案。《京東系統(tǒng)質(zhì)量保障技術(shù)實(shí)戰(zhàn)》由京東商城研發(fā) POP 平臺(tái)—測(cè)試與質(zhì)量管理團(tuán)隊(duì)傾力打造,開(kāi)篇從基礎(chǔ)業(yè)務(wù)測(cè)試、測(cè)試過(guò)程管理及 SOA 架構(gòu)下的軟件測(cè)試等基本質(zhì)量保障內(nèi)容入手,逐步展開(kāi)討論了自動(dòng)化測(cè)試、測(cè)試環(huán)境管理等提升質(zhì)量保障效能的實(shí)踐內(nèi)容,實(shí)現(xiàn)將質(zhì)量保障從手工測(cè)試推向自動(dòng)化的進(jìn)階。《京東系統(tǒng)質(zhì)量保障技術(shù)實(shí)戰(zhàn)》中間篇章聚焦于持續(xù)集成及靜態(tài)代碼掃描實(shí)戰(zhàn)經(jīng)驗(yàn)的總結(jié)和質(zhì)量保障提效工具的開(kāi)發(fā)實(shí)踐。此外,《京東系統(tǒng)質(zhì)量保障技術(shù)實(shí)戰(zhàn)》還介紹了大量安全測(cè)試的實(shí)戰(zhàn)經(jīng)驗(yàn)。《京東系統(tǒng)質(zhì)量保障技術(shù)實(shí)戰(zhàn)》內(nèi)容的最后部分深入描述了如何有效管理質(zhì)量團(tuán)隊(duì),從質(zhì)量保障流程的制定到推行再到優(yōu)化,從打造靠譜團(tuán)隊(duì)到團(tuán)隊(duì)成長(zhǎng)等方面來(lái)向讀者分享管理團(tuán)隊(duì)過(guò)程中這些必須面對(duì)的問(wèn)題。《京東系統(tǒng)質(zhì)量保障技術(shù)實(shí)戰(zhàn)》內(nèi)容涉獵廣泛以實(shí)戰(zhàn)為主線, 是近年來(lái)質(zhì)量保障領(lǐng)域不可多得的圖書(shū), 適合關(guān)心互聯(lián)網(wǎng)質(zhì)量保障領(lǐng)域技術(shù)及發(fā)展的各類讀者。
“質(zhì)量保障”貫穿本書(shū)始終,也是本書(shū)的靈魂之所在。本書(shū)從完善的業(yè)務(wù)質(zhì)量保障流程制定,到前后端自動(dòng)化測(cè)試框架的搭建,從代碼掃描使質(zhì)量保障前置,到持續(xù)集成的逐步落地,從測(cè)試環(huán)境的集中化管理,到安全測(cè)試?yán)碚摷鞍踩ぞ叩氖褂茫瑥臄?shù)據(jù)化的精細(xì)團(tuán)隊(duì)管理到以人為本的團(tuán)隊(duì)提升策略應(yīng)用,都是本書(shū)所關(guān)注的內(nèi)容。
商城研發(fā)POP平臺(tái)部專注于POP開(kāi)放平臺(tái)的系統(tǒng)建設(shè),致力于為京東第三方商家提供豐富的合作模式、優(yōu)秀的電商系統(tǒng)和工具,打造健康開(kāi)放的智慧生態(tài)。團(tuán)隊(duì)有店鋪運(yùn)營(yíng)、市場(chǎng)營(yíng)銷、數(shù)據(jù)產(chǎn)品經(jīng)理等方面的資深專家。他們熟悉京東開(kāi)放平臺(tái)營(yíng)銷工具,有豐富的電商運(yùn)營(yíng)經(jīng)驗(yàn),致力于運(yùn)用全平臺(tái)營(yíng)銷的方法和理念指導(dǎo)店鋪運(yùn)營(yíng),提高運(yùn)營(yíng)效率,提升店鋪業(yè)績(jī)和服務(wù)水平。
第1章業(yè)務(wù)質(zhì)量保障介紹 1
1.1 電商行業(yè)項(xiàng)目的特點(diǎn) 2
1.2 測(cè)試流程中的重點(diǎn)工作 3
1.2.1 測(cè)試前的工作 3
1.2.2 測(cè)試中的工作 6
1.2.3 上線后的工作 10
1.3 小結(jié) 10
第 2 章 SOA 架構(gòu)下的軟件質(zhì)量保障 11
2.1 功能模塊測(cè)試 12
2.1.1 接口測(cè)試 12
2.1.2 接口自動(dòng)化測(cè)試 14
2.1.3 UI 測(cè)試 15
2.1.4 UI 自動(dòng)化測(cè)試 16
2.2 聯(lián)調(diào)測(cè)試 17
2.2.1 聯(lián)調(diào)測(cè)試的意義 17
2.2.2 如何開(kāi)展聯(lián)調(diào)測(cè)試 17
2.3 小結(jié) 19
第 3 章 自動(dòng)化測(cè)試實(shí)戰(zhàn) 20
3.1 WebUI 實(shí)戰(zhàn) 21
3.1.1 Selenium 21
3.1.2 PageFactory 26
3.1.3 構(gòu)建一款基于 Selenium 的易用 WebUI 框架 30
3.2 接口測(cè)試實(shí)戰(zhàn) 32
3.2.1 HTTP 接口實(shí)戰(zhàn) 32
3.2.2 自研 RPC 接口實(shí)戰(zhàn) 34
3.2.3 一款簡(jiǎn)單易用的接口測(cè)試框架 35
3.3 Mock 實(shí)戰(zhàn) 39
3.3.1 對(duì)象 Mock 實(shí)戰(zhàn) 39
3.3.2 接口 Mock 實(shí)戰(zhàn) 40
3.4 分層測(cè)試的思考 42
3.4.1 分層測(cè)試的理解 42
3.4.2 京東怎么做分層測(cè)試 43
3.4.3 收益可視化 44
3.5 小結(jié) 45
第 4 章 測(cè)試環(huán)境管理 46
4.1 軟件構(gòu)建工具介紹及使用 47
4.1.1 Ant 47
4.1.2 Maven 49
4.1.3 Gradle 52
4.1.4 Jenkins 54
4.2 互聯(lián)網(wǎng)系統(tǒng)運(yùn)行環(huán)境及軟件介紹 55
4.2.1 Nginx 55
4.2.2 Docker 56
4.3 測(cè)試環(huán)境分層 57
4.4 測(cè)試環(huán)境搭建 59
4.5 測(cè)試環(huán)境自動(dòng)化運(yùn)維 62
4.5.1 測(cè)試環(huán)境管理平臺(tái) 62
4.5.2 測(cè)試服務(wù)器管理 65
4.5.3 穩(wěn)定環(huán)境每日自動(dòng)部署 65
4.5.4 日常測(cè)試自動(dòng)部署 67
4.6 小結(jié) 69
第 5 章 持續(xù)集成實(shí)踐 70
5.1 持續(xù)集成介紹 71
5.1.1 持續(xù)集成的起源與發(fā)展 71
5.1.2 持續(xù)集成常用工具 73
5.2 為什么要做持續(xù)集成 73
5.2.1 避免集成地獄 74
5.2.2 如何做到快速交付 74
5.3 如何實(shí)施持續(xù)集成 75
5.3.1 從零開(kāi)始構(gòu)建持續(xù)集成 76
5.3.2 持續(xù)集成演進(jìn) 77
5.3.3 工程師文化的重要性 80
5.3.4 持續(xù)集成流程優(yōu)化 80
5.3.5 小團(tuán)隊(duì)的成功因素 81
5.3.6 規(guī)模化實(shí)施持續(xù)集成的一些困境 81
5.3.7 分步驟實(shí)現(xiàn)持續(xù)集成 82
5.4 小結(jié) 82
第 6 章 持續(xù)代碼掃描實(shí)踐 83
6.1 如何構(gòu)建高質(zhì)量的軟件系統(tǒng) 84
6.1.1 質(zhì)量是測(cè)試出來(lái)的嗎 84
6.1.2 關(guān)注開(kāi)發(fā)質(zhì)量 85
6.1.3 測(cè)試人員如何參與代碼評(píng)審 86
6.1.4 常見(jiàn)代碼掃描工具介紹 87
6.2 從 0 到 1 實(shí)現(xiàn)持續(xù)代碼掃描 89
6.2.1 SonarQube 的應(yīng)用 89
6.2.2 從最簡(jiǎn)單的維度開(kāi)始關(guān)注代碼質(zhì)量 92
6.2.3 測(cè)試人員的職責(zé)擴(kuò)展 94
6.2.4 小團(tuán)隊(duì)的優(yōu)秀案例 94
6.3 基于 SonarQube 的持續(xù)代碼掃描方案演進(jìn) 95
6.3.1 大規(guī)模應(yīng)用代碼掃描遇到的一些瓶頸 95
6.3.2 由人工驅(qū)動(dòng)向技術(shù)驅(qū)動(dòng)的轉(zhuǎn)變 96
6.3.3 由目標(biāo)驅(qū)動(dòng)向以服務(wù)研發(fā)為主的轉(zhuǎn)變 97
6.3.4 由統(tǒng)一化向多樣化的轉(zhuǎn)變 97
6.3.5 規(guī)模化持續(xù)代碼掃描的成功案例 98
6.4 小結(jié) 98
第 7 章 質(zhì)量保障工具開(kāi)發(fā)實(shí)戰(zhàn) 99
7.1 質(zhì)量保障工具開(kāi)發(fā)技術(shù)棧 100
7.1.1 建站(Spring+SpringMVC+MyBatis+Velocity+JQuery+
Bootstrap) 100
7.1.2 Spring 100
7.1.3 Spring MVC 103
7.1.4 MyBatis 107
7.1.5 前端技術(shù) 112
7.1.6 框架搭建 119
7.2 如何快速構(gòu)建一個(gè)質(zhì)量保障工具 124
7.2.1 需求調(diào)研 124
7.2.2 設(shè)計(jì) 127
7.2.3 任務(wù)管理 131
7.2.4 效果度量 135
7.3 小結(jié) 136
第 8 章 Web 安全測(cè)試技術(shù)實(shí)戰(zhàn) 138
8.1 Web 安全概述 139
8.2 客戶端繞過(guò)實(shí)戰(zhàn) 139
8.2.1 HTML 繞過(guò) 139
8.2.2 URL 參數(shù)繞過(guò) 141
8.2.3 Http-Cookie 繞過(guò) 142
8.2.4 隱藏表單繞過(guò) 143
8.3 SQL 注入(SQL Injection)實(shí)戰(zhàn) 144
8.3.1 注入原理剖析 144
8.3.2 注入產(chǎn)生條件 147
8.3.3 注入方法實(shí)戰(zhàn) 148
8.3.4 Java+JDBC 代碼注入檢測(cè) 149
8.3.5 MyBatis 框架代碼注入檢測(cè) 151
8.3.6 手工注入實(shí)戰(zhàn)滲透 151
8.3.7 工具注入實(shí)戰(zhàn)滲透 159
8.3.8 注入預(yù)防措施 163
8.4 文件上傳實(shí)戰(zhàn) 165
8.4.1 解析漏洞 165
8.4.2 上傳滲透實(shí)戰(zhàn) 167
8.5 跨站腳本攻擊(XSS) 170
8.5.1 XSS 概述 170
8.5.2 XSS 原理分析 170
8.5.3 XSS 類型分類 172
8.5.4 探測(cè)方法實(shí)戰(zhàn) 172
8.5.5 工具實(shí)戰(zhàn)演練 176
8.5.6 BEEF 平臺(tái)實(shí)戰(zhàn)攻擊利用 177
8.5.7 XSS 防御措施 180
8.6 跨站請(qǐng)求偽造(CSRF) 183
8.6.1 CSRF 原理分析 183
8.6.2 CSRF 預(yù)防 183
8.7 小結(jié) 184
第 9 章 測(cè)試團(tuán)隊(duì)管理實(shí)戰(zhàn) 185
9.1 測(cè)試流程制定與效率提升 186
9.1.1 測(cè)試流程的制定 186
9.1.2 工作流程的推行 187
9.1.3 流程優(yōu)化與提效 188
9.2 打造一支靠譜的團(tuán)隊(duì) 188
9.2.1 時(shí)刻讓團(tuán)隊(duì)清楚目標(biāo) 189
9.2.2 目標(biāo)的衡量 190
9.2.3 目標(biāo)達(dá)成的核心所在 191
9.2.4 言行合一,數(shù)據(jù)說(shuō)話 192
9.2.5 互信合作,分享共贏 193
9.2.6 團(tuán)隊(duì)文化與正能量打造 194
9.3 團(tuán)隊(duì)成長(zhǎng) 195
9.3.1 改變團(tuán)隊(duì)的行為習(xí)慣 195
9.3.2 建立團(tuán)隊(duì)技能模型 197
9.3.3 建立團(tuán)隊(duì)分享機(jī)制 200
9.3.4 業(yè)務(wù)能力提升 201
9.3.5 技術(shù)能力提升 202
9.3.6 有效利用績(jī)效這把利劍 202
9.4 團(tuán)隊(duì)管理漫談 203
9.4.1 團(tuán)隊(duì)管理要“千人千法” 204
9.4.2 承認(rèn)不足,方能更近一步 205
9.4.3 關(guān)于問(wèn)責(zé) 206
9.5 小結(jié) 208