《質量全面管控:從項目管理到容災測試》是2017年4月電子工業出版社出版的圖書,作者是葛長芝,魯盈盈,歐仕強。
基本介紹
- 書名:質量全面管控:從項目管理到容災測試
- 作者:葛長芝,魯盈盈,歐仕強
- 出版社:電子工業出版社
- 出版時間:2017年4月
- 頁數:488 頁
- 定價:79 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787121307867
內容簡介,圖書目錄,作者簡介,
內容簡介
《質量全面管控 從項目管理到容災測試》專門為有志於軟體測試的工程師打開軟體測試的大門,筆者結合案例講解測試實踐技術,主要內容有:項目管理、項目需求管理、代碼質量控制、自動化部署、軟體測試、安全測試與安全管理、自動化測試基礎、自動化測試框架、性能測試、性能分析、監控平台與故障排查、災難恢復與容災測試等。《質量全面管控——從項目管理到容災測試》使用了大量的原創圖表,提供了基礎工具的使用方法和流程。
《質量全面管控 從項目管理到容災測試》圖文並茂,通俗易懂,提供的大量實例可以使讀者邊學習邊實踐,深入理解書中的內容,並將所學到的知識套用於實際項目中,對於國中級軟體測試工程師來說是不可多得的工具書。
圖書目錄
第1 章 項目管理 1
1.1 項目管理概述 2
1.2 軟體項目管理 5
1.3 項目質量管理. 10
1.4 項目管理流程. 11
1.4.1 項目啟動. 11
1.4.2 項目計畫. 13
1.4.3 軟體需求階段 14
1.4.4 變更管理. 16
1.4.5 設計階段. 18
1.4.6 構建階段. 19
1.4.7 測試階段. 21
1.4.8 部署與試運行 23
1.4.9 項目總結. 25
1.5 項目管理十誡. 26
1.6 項目管理工具對比. 28
1.6.1 Microsoft Project 28
1.6.2 Redmine 29
1.6.3 Feng Office 30
第1 章 項目管理 1
1.1 項目管理概述 2
1.2 軟體項目管理 5
1.3 項目質量管理. 10
1.4 項目管理流程. 11
1.4.1 項目啟動. 11
1.4.2 項目計畫. 13
1.4.3 軟體需求階段 14
1.4.4 變更管理. 16
1.4.5 設計階段. 18
1.4.6 構建階段. 19
1.4.7 測試階段. 21
1.4.8 部署與試運行 23
1.4.9 項目總結. 25
1.5 項目管理十誡. 26
1.6 項目管理工具對比. 28
1.6.1 Microsoft Project 28
1.6.2 Redmine 29
1.6.3 Feng Office 30
2.5.3 《軟體需求規格說明書》. 72
2.6 測試需求 73
2.7 需求管理工具. 74
2.7.1 Rational RequisitePro 75
2.7.2 TelelogicDoors 76
2.8 Plandora 實戰 76
2.8.1 搭建Plandora 77
2.8.2 管理員配置 78
2.8.3 前端用戶. 82
2.8.4 需求變更實例 88
2.9 要點回顧 92
第3 章 代碼質量控制 93
3.1 靜態代碼分析. 94
3.2 代碼文檔規範. 94
3.2.1 命名規範. 95
3.2.2 編碼規範. 96
3.2.3 注釋規範. 97
3.2.4 異常處理規範 102
3.2.5 單元測試規範 103
3.2.6 檔案解析規範 103
3.3 Sonar 簡介 106
3.3.1 Sonar 體系架構. 107
3.3.2 Sonar 代碼規則. 108
3.4 Sonar 服務端. 110
3.4.1 環境要求 110
3.4.2 Sonar 伺服器搭建 110
3.4.3 Sonar 配置 112
3.4.4 Sonar 外掛程式 114
3.5 Sonar 客戶端. 116
3.5.1 Sonar-Runner 客戶端. 116
3.5.2 Maven 外掛程式方式 117
3.5.3 Ant 外掛程式方式. 118
3.5.4 Eclipse 外掛程式方式 119
3.6 最佳實踐 121
3.6.1 項目配置 122
3.6.2 持續審查 123
3.6.3 結果分析 125
3.6.4 集成曲線圖. 128
3.7 要點回顧 129
第4 章 自動化部署 130
4.1 引入自動化部署. 131
4.1.1 複雜的手工部署 131
4.1.2 自動化部署方式 132
4.1.3 持續集成思想 133
4.2 自動化部署的特點 134
4.2.1 環境一致性. 134
4.2.2 部署系統化. 134
4.2.3 配置集中化. 135
4.3 版本控制 137
4.3.1 Git 簡介. 137
4.3.2 Git 部署. 138
4.3.3 Git 客戶端使用. 141
4.3.4 Git 相關操作 144
4.3.5 代碼管理 147
4.4 JDeploy 平台. 151
4.4.1 認識JDeploy 151
4.4.2 JDeploy 部署配置 151
4.4.3 一鍵部署項目 152
4.5 要點回顧 155
第5 章 軟體測試. 156
5.1 軟體測試 156
5.1.1 軟體測試發展史 157
5.1.2 軟體測試的未來 160
5.1.3 測試部門組織架構 161
5.1.4 軟體測試的基本類型. 163
5.2 測試模型 164
5.2.1 瀑布模型 164
5.2.2 敏捷模型 165
5.2.3 敏捷測試與傳統測試的區別. 166
5.3 系統測試流程 167
5.4 根據需求原型設計測試用例 171
5.4.1 需求原型規範樣式 171
5.4.2 設計測試用例 173
5.5 缺陷描述 175
5.5.1 缺陷屬性 175
5.5.2 缺陷描述示例 176
5.6 測試的策略. 178
5.7 測試過程的經驗總結. 179
5.8 質量保證 180
5.9 要點回顧 181
第6 章 安全測試與安全管理 182
6.1 安全測試 182
6.1.1 安全測試概述 183
6.1.2 安全測試的基本過程. 184
6.1.3 安全測試與安全運維. 186
6.1.4 安全測試工具 186
6.1.5 安全測試用例 187
6.2 開發安全規範 189
6.2.1 跨站腳本安全規範 189
6.2.2 SQL 注入安全規範. 191
6.2.3 頁面組件和敏感數據的安全規範 193
6.2.4 Java 安全規範 196
6.2.5 套用集成安全規範 197
6.3 代碼安全審核工具Checkmarx. 197
6.3.1 SQL 注入 198
6.3.2 反射型跨站腳本攻擊. 199
6.3.3 儲存型XSS. 201
6.3.4 HTTP 回響頭分裂(Http_ Response_Splitting) 201
6.4 安全漏洞 202
6.4.1 信息收集 202
6.4.2 口令入侵 204
6.4.3 心臟滴血漏洞 207
6.5 OSSIM 安全管理平台 209
6.5.1 OSSIM 架構 210
6.5.2 安裝與部署. 211
6.5.3 OSSIM 控制台. 211
6.5.4 Web 界面配置 212
6.5.5 OSSIM 使用實戰. 214
6.6 要點回顧 219
第7 章 自動化測試基礎 220
7.1 自動化基礎. 221
7.1.1 自動化測試流程 222
7.1.2 自動化測試特點 225
7.1.3 自動化測試工具 226
7.1.4 標記語言介紹 228
7.2 Web 自動化測試. 233
7.2.1 元素定位 234
7.2.2 Selenium IDE 238
7.2.3 Selenium 使用 241
7.3 接口自動化測試. 247
7.3.1 接口測試類型 248
7.3.2 接口測試工具 249
7.3.3 Mock 測試 250
7.3.4 HTTP 協定測試 254
7.4 TestNG 框架 258
7.4.1 TestNG 配置 258
7.4.2 TestNG 註解 260
7.4.3 測試套件 260
7.4.4 數據驅動 265
7.4.5 執行測試結果 267
7.4.6 測試集成 268
7.5 要點回顧 270
第8 章 自動化測試框架 271
8.1 框架分析 272
8.1.1 框架設計目標 272
8.1.2 業務流程層次分析 272
8.1.3 業務流程測試自動化. 273
8.1.4 手工用例自動化 274
8.2 框架設計 274
8.2.1 框架設計思想 274
8.2.2 框架物理架構 276
8.2.3 框架邏輯架構 277
8.2.4 框架工作流程 278
8.3 框架開發 278
8.3.1 創建測試用例 279
8.3.2 創建測試數據 280
8.3.3 創建測試項目 281
8.3.4 開發框架運行類 285
8.3.5 開發公共接口 288
8.3.6 添加日誌報告 292
8.4 腳本開發 292
8.4.1 編寫測試腳本 292
8.4.2 調試運行腳本 293
8.4.3 上傳腳本 294
8.5 持續集成 296
8.5.1 Jenkins 伺服器搭建. 296
8.5.2 Jenkins 相關外掛程式 298
8.5.3 部署測試執行機 299
8.5.4 分散式測試. 300
8.5.5 配置測試任務 303
8.5.6 查看運行結果 310
8.6 要點回顧 312
第9 章 性能測試. 313
9.1 性能測試基礎 313
9.1.1 性能術語 314
9.1.2 需求分析與策略 317
9.2 測試利器之LoadRunner. 321
9.2.1 LoadRunner 安裝貼士 321
9.2.2 腳本與最佳化. 322
9.2.3 設定場景 339
9.2.4 運行場景 340
9.2.5 收集和分析結果 341
9.3 測試利器之JMeter 343
9.3.1 JMeter 介紹. 343
9.3.2 JMeter 腳本與最佳化. 344
9.3.3 收集監控數據 353
9.3.4 運行測試 353
9.3.5 JMeter 使用小結 354
9.4 性能測試框架搭建 355
9.4.1 JMeter 配置監聽器. 355
9.4.2 InfluxDB 資料庫配置 356
9.4.3 InfluxDB Graphite Listener 配置. 357
9.4.4 查看InfluxDB 結果 357
9.4.5 Grafana 配置 358
9.5 性能測試實戰 359
9.5.1 明確測試需求 359
9.5.2 選取測試方法和策略. 361
9.5.3 準備測試腳本 362
9.5.4 執行與分析測試結果. 362
9.5.5 提出調優建議 364
9.5.6 交付測試報告 364
9.6 性能調優 364
9.6.1 CPU 使用率過高 364
9.6.2 I/O 使用率過高. 365
9.6.3 進程數調整. 367
9.6.4 執行緒不安全. 367
9.6.5 資料庫連線數過少 368
9.6.6 數據導入慢. 369
9.7 要點回顧 369
第10 章 性能分析. 371
10.1 系統硬體資源監控 372
10.1.1 nmon 工具. 373
10.1.2 Linux 系統監控命令 378
10.2 JVM 監控與分析 386
10.2.1 JVM 基礎 386
10.2.2 JVM 垃圾回收 388
10.2.3 常見JVM 命令 390
10.2.4 堆分析工具MAT 402
10.2.5 JConsole 403
10.2.6 JProfiler 406
10.3 資料庫性能分析 415
10.3.1 軟解析和硬解析. 415
10.3.2 SQL 執行計畫分析 417
10.3.3 資料庫連線數監控 418
10.3.4 Oracle 資料庫性能診斷報告AWR. 419
10.4 要點回顧 427
第11 章 監控平台與故障排查 428
11.1 監控系統 428
11.1.1 日誌監控平台. 429
11.1.2 硬體和套用監控平台 429
11.2 Zabbix 簡介 430
11.2.1 系統架構 430
11.2.2 配置Zabbix 432
11.2.3 常見的配置問題. 436
11.2.4 監控主機 438
11.3 美化界面Grafana 441
11.3.1 部署Grafana. 441
11.3.2 使用Grafana. 442
11.4 伺服器故障排查 447
11.4.1 清楚故障的前因後果 447
11.4.2 搜尋蛛絲馬跡. 447
11.4.3 列出當前運行的進程 449
11.4.4 監聽網路服務. 451
11.4.5 查看硬體狀態. 451
11.4.6 列出掛載點和檔案系統. 457
11.4.7 過濾核心和中斷信息 459
11.4.8 定時任務 460
11.4.9 分析系統日誌. 461
11.5 要點回顧 461
第12 章 災難恢復與容災測試 462
12.1 災難恢復 463
12.1.1 災難恢復的規範. 463
12.1.2 災難恢復能力等級 466
12.1.3 災難恢復的關鍵指標 468
12.2 容災測試 471
12.2.1 容災的起源 471
12.2.2 容災的定義 472
12.2.3 容災的區別 474
12.3 詳解容災測試 475
12.3.1 容災測試的目標. 475
12.3.2 職責的劃分 476
12.3.3 容災測試的流程. 477
12.4 容災測試實戰 478
12.4.1 容災測試計畫. 479
12.4.2 容災用例與Bug. 480
12.4.3 容災線上演習. 484
12.4.4 容災長期規劃. 485
參考文獻. 486
作者簡介
葛長芝,2001年畢業於東北師範大學,從事軟體測試16年,先後就職於益海嘉里集團,任職測試經理,快錢支付公司任職測試架構師,現在就職於K12線上教育公司掌門1對1,任職測經理。具有豐富的軟體開發和軟體測試經驗,設計開發自動化測試框架,精通性能測試、容量規劃和容災測試。對於軟體測試始終保持極大的興趣,對於測試前置和全鏈路測試,有非常獨到的見解。