第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
· · · · · · (
收起)