《精通軟體性能測試與LoadRunner實戰(第2版)》是2020年2月人民郵電出版社出版的圖書,作者是於涌、王磊、曹向志、高樓、於躍。
基本介紹
- 中文名:精通軟體性能測試與LoadRunner實戰(第2版)
- 作者:於涌、王磊、曹向志、高樓、於躍
- 出版時間:2020年2月
- 出版社:人民郵電出版社
- 頁數:722 頁
- ISBN:9787115522412
- 定價:138 元
- 開本:16 開
- 裝幀:平裝
內容簡介,圖書目錄,
內容簡介
本書在介紹軟體性能測試概念的基礎上,結合對實際測試案例的剖析,重點講解了性能測試實戰技術、LoadRunner工具的使用技巧和實際工作中的問題解答。
全書分為15章,內容從測試項目實戰需求出發,除講述了軟體測試的分類以及測試的流程等外,還重點講述了性能測試技術和LoadRunner 11.0與12.60工具套用的實戰知識。為了有效地解決工作中遇到的問題,本書基於實踐中經常遇到的問題匯總了幾十個解決方案。詳細的項目案例、完整的性能測試方案、計畫、用例設計、性能總結及相關交付文檔為您做好實際項目測試提供了很好的幫助,基於LoadRunner和第三方工具對象的開發為您進行性能測試錦上添花,相信本書一定會對您進行性能測試理論學習和實踐大有裨益。
本書圖文並茂,通俗易懂,適合性能測試設計人員、性能測試開發人員、性能測試分析人員、項目經理和測試組長參考學習,也可作為大專院校相關專業師生的學習用書,以及培訓學校的教材。
圖書目錄
第1章 軟體測試概述 1
1.1 軟體測試基礎 2
1.2 軟體相關概念解析 3
1.3 軟體測試的定義 3
1.4 軟體測試的分類 5
1.4.1 黑盒測試、白盒測試與
灰盒測試 5
1.4.2 靜態測試與動態測試 7
1.4.3 單元測試、集成測試、
系統測試與驗收測試 8
1.4.4 其他測試 13
1.5 軟體開發與軟體測試的關係 14
1.5.1 常見的幾種軟體開發
模式 14
1.5.2 測試與開發各階段的
關係 17
1.5.3 測試的經濟學觀念 18
1.6 軟體測試流程 19
1.6.1 測試計畫 19
1.6.2 測試設計 20
1.6.3 測試執行 28
1.6.4 測試總結 31
1.7 測試自動化的意義 37
第2章 性能測試過程概述 39
2.1 性能測試的基本過程 40
2.2 性能測試需求分析 40
2.3 性能測試計畫 41
2.4 性能測試用例 42
2.5 測試腳本編寫 44
2.6 測試場景設計 44
2.7 測試場景運行 46
2.8 場景運行監控 47
2.9 運行結果分析 47
2.10 系統性能調優 47
2.11 性能測試總結 48
2.12 本章小結 49
2.13 本章習題及經典面試試題 49
2.14 本章習題及經典面試試題
答案 50
第3章 性能測試與LoadRunner
相關概念 53
3.1 性能測試的基本概念 54
3.1.1 典型的性能測試場景 54
3.1.2 性能測試的概念及其
分類 54
3.1.3 性能測試工具的引入 55
3.2 LoadRunner及樣例程式安裝
過程 55
3.2.1 Windows版本的
安裝過程 55
3.2.2 許可協定的套用 58
3.2.3 工具樣例程式的
安裝過程 59
3.3 運行機制和主要組成部分 59
3.4 LoadRunner相關概念解析 61
3.4.1 集合點 61
3.4.2 事務 62
3.4.3 檢查點 63
3.4.4 思考時間 66
第4章 套用LoadRunner進行性能測試
示例 68
4.1 LoadRunner測試過程模型 69
4.2 實例講解腳本的錄製、場景設計、結果分析過程 69
4.2.1 實例講解Web套用
程式的套用 69
4.2.2 腳本處理部分 70
4.2.3 負載處理部分 80
4.2.4 系統性能改進意見 86
第5章 腳本語言編寫基礎 87
5.1 認識LoadRunner腳本語言 88
5.2 C語言基礎 89
5.2.1 數據類型 89
5.2.2 語句分類 95
5.2.3 基礎知識 104
5.3 關聯的套用 131
5.3.1 什麼是關聯 132
5.3.2 如何做關聯 133
5.3.3 關聯函式詳解 137
5.3.4 基於實例的簡單關聯的
套用 139
5.3.5 基於實例的複雜關聯的
套用 142
5.4 動態程式庫函式的調用 145
5.5 套用特殊函式的注意事項 147
5.6 自定義函式的套用 150
5.6.1 自定義函式僅套用於本
腳本的實例 150
5.6.2 自定義函式的復用
實例 152
5.7 IP欺騙的套用 153
第6章 深度解析LoadRunner 11.0
功能的套用 156
6.1 VuGen的套用 157
6.2 協定的選擇 157
6.2.1 Vuser類型 157
6.2.2 協定選擇 159
6.3 腳本的創建過程 164
6.3.1 協定理解的誤區 165
6.3.2 B/S架構應用程式
腳本的套用實例 165
6.3.3 C/S架構應用程式
腳本的套用實例 168
6.4 腳本的參數化 174
6.4.1 參數化的方法及其技巧 174
6.4.2 數據分配方法 176
6.4.3 數據更新方式 176
6.4.4 基於實例套用數據分配
和數據更新方式 177
6.4.5 表數據參數類型 177
6.4.6 內部數據參數類型 179
6.5 調試技術 182
6.5.1 斷點設定 182
6.5.2 單步跟蹤 182
6.5.3 日誌輸出 183
6.6 Controller的套用 184
6.7 場景設定描述 185
6.7.1 面向目標的場景
設計 186
6.7.2 基於手動的場景
設計 189
6.8 負載生成器 205
6.9 IP Wizard的套用 208
6.10 負載選項設定詳解 211
6.11 性能指標監控 213
6.12 Analysis的套用 218
6.13 結果檔案結構 219
6.14 Analysis Summary分析 220
6.15 事務相關信息 220
6.15.1 分析概要事務相關信息
問題提出 220
6.15.2 結果概要事務相關信息
問題分析 221
6.15.3 結果概要事務腳本設計
及其相關設定 221
6.15.4 如何解決結果概要信息
不計入思考時間的
問題 223
6.15.5 如何知道每個虛擬用戶
負載時的參數取值 224
6.15.6 如何將數據導出到
Excel檔案中 228
6.15.7 如何對導出的數據
進行篩選 229
6.15.8 如何對結果數據進行
有效的分析 230
6.16 吞吐量相關信息 232
6.16.1 概要分析吞吐量等
相關信息問題提出 233
6.16.2 概要分析吞吐量等相關
信息問題分析 233
6.16.3 概要分析吞吐量等相關
內容設計與實現 234
6.17 執行結果分析過程 236
6.17.1 合併圖的套用 238
6.17.2 合併圖的3種方式 238
6.17.3 自動關聯的套用 239
6.17.4 交叉結果的套用 241
6.17.5 性能測試模型 242
6.17.6 性能瓶頸定位—
拐點分析法 243
6.17.7 分析相關選項設定 243
6.18 主要圖表分析 246
6.18.1 虛擬用戶相關圖表 246
6.18.2 事務相關圖表 247
6.18.3 錯誤相關圖表 250
6.18.4 Web資源相關圖表 252
6.18.5 網頁診斷相關圖表 259
6.18.6 系統資源相關圖表 265
第7章 LoadRunner常見問題解答 268
7.1 如何突破參數的百條顯示
限制 269
7.2 如何突破Controller可用
腳本的50條限制 269
7.3 如何解決資料庫查詢結果過大
導致的錄製失敗的問題 270
7.4 如何調整經常用到的相關協定
腳本模板 271
7.5 如何將Connect中的密文改為
明文 272
7.6 如何添加並運用附加變數 274
7.7 如何解決腳本中的亂碼問題 276
7.8 如何在錄製時加入自定義
標頭 277
7.9 執行緒和進程運行方式有何
不同 278
7.10 如何實現腳本分步錄製 280
7.11 如何在腳本中套用常量和
數組 281
7.12 VuGen中支持哪些步驟類型 282
7.13 如何處理ASP.NET中的
ViewState 283
7.14 如何理解Return的返回值 287
7.15 如何解決負載均衡將壓力作用
到一台機器的問題 289
7.16 如何對Apache伺服器上的
資源使用情況進行監控 290
7.17 如何在腳本中加入DOS
命令 291
7.18 如何下載並保存檔案到
本地 292
7.19 如何理解常用圖表的含義 295
7.20 基於目標和手動場景測試
有何聯繫和不同 296
7.21 如何在命令行下啟動
Controller 299
7.22 如何解決由於設定引起的
運行失敗問題 299
7.23 如何實現對伺服器系統資源的
監控 300
7.24 如何實現對數據伺服器的
監控 304
7.25 如何實現對Web應用程式
伺服器資源的監控 307
7.26 如何在Analysis圖表中添加
分析注釋 309
7.27 如何確定登錄達到回響時間為
3秒的指標 311
7.28 如何使用自動關聯對測試結果
進行分析 313
7.29 如何根據分析結果判斷性能
有所改善 314
7.30 如何對圖表進行合併並定位
系統瓶頸 316
7.31 如何套用Java Vuser驗證算法的
執行效率 317
7.32 如何用程式控制網站的
訪問次數 321
7.33 幾種不同逾時的處理方法 325
7.34 如何才能將日期類型數據
參數化到腳本中 326
7.35 如何自定義請求並判斷返回
數據的正確性 330
7.36 LoadRunner如何運行
WinRunner腳本 332
7.37 LoadRunner如何利用已有文本
數據 335
7.38 如何能夠產生樣例程式的
Session 337
7.39 如何能夠實現Ping IP的
功能 339
7.40 如何在Vugen中自定義
工具列按鈕 339
7.41 如何在Vugen的Tools選單中
添加選單項 341
7.42 如何在Vugen中給選單項
定義快捷鍵 342
7.43 為什麼結果導出時會出現
異常 343
7.44 如何增大網頁細分圖顯示的
URLS長度 344
7.45 如何設定登錄的用戶名和
口令 344
7.46 如何在執行疊代時退出
腳本 346
7.47 如何使用鍵盤快捷鍵 347
7.48 如何手動轉換字元串編碼 348
7.49 如何理解結果檔案
結構 349
7.50 如何監控Tomcat 350
7.51 如何在UNIX系統下用命令行
運行腳本 354
7.52 如何使用C函式進行腳本
跟蹤 355
7.53 如何知道腳本對應路徑下
檔案的含義 356
7.54 如何結合企業特點進行
性能測試 367
7.55 如何套用性能測試常用
計算公式 369
7.56 如何掌握“拐點”
分析方法 371
7.57 如何發現性能測試的規律 372
7.58 如何編寫性能測試用例 373
7.59 如何對MySQL資料庫進行
查詢操作 375
7.60 為何無法與Load Generator
通信 378
第8章 全面掌握LoadRunner 12 380
8.1 認識LoadRunner 12 381
8.1.1 揭開LoadRunner 12的
神秘面紗 381
8.1.2 界面更加友好的
LoadRunner 12的
Vugen 381
8.1.3 LoadRunner 12創建腳本
與解決方案 381
8.1.4 更加直觀的錄製報告 384
8.1.5 關聯操作原來如此
簡單 384
8.1.6 請求信息的過濾與請求
分類統計 385
8.1.7 腳本參數化 387
8.1.8 快照頁相關信息 388
8.1.9 運行時數據頁相關
信息 388
8.1.10 錯誤頁相關信息 389
8.1.11 任務頁相關信息 390
8.1.12 輸出頁相關信息 390
8.1.13 縮略圖資源管理器頁
相關信息 391
8.2 VuGen功能改進與實用操作 392
8.2.1 VuGen屬性 392
8.2.2 步驟工具箱 393
8.2.3 C語言的腳本代碼
著色 394
8.2.4 代碼完成 394
8.2.5 書籤 395
8.3 同步錄製和異步錄製 396
8.3.1 異步通信的3種方式 397
8.3.2 如何創建異步腳本 398
8.3.3 異步通信相關函式 399
8.4 Controller功能改進與實用操作 399
8.4.1 Controller對JMeter
腳本的支持 400
8.4.2 如何添加基於Eclipse
開發者的外掛程式 408
8.4.3 套用VuGen開發
Selenium腳本 409
8.4.4 在Eclipse IDE中調用
LoadRunner API實現
Selenium腳本開發 416
第9章 基於接口的性能測試實戰 424
9.1 LoadRunner與其在接口測試
中的套用 425
9.1.1 性能測試接口需求 425
9.1.2 接口測試功能性
用例設計 430
9.1.3 測試用例腳本實現
(接口功能性驗證) 432
9.2 LoadRunner在接口性能測試中的
套用 440
9.2.1 接口測試性能用例
設計 440
9.2.2 測試用例腳本實現 441
9.2.3 性能測試場景執行 443
9.2.4 性能測試執行結果
分析與總結 448
第10章 性能監控方法和性能監控
工具套用 450
10.1 概述 451
10.2 進程相關指標和監控技術 451
10.2.1 Windows作業系統
任務、進程 451
10.2.2 Windows作業系統
任務、進程監控技術 451
10.2.3 Windows作業系統
任務、進程關閉技術 456
10.2.4 Linux作業系統任務、
進程監控技術 458
10.2.5 Linux作業系統進程
監控技術 459
10.2.6 Linux作業系統進程
終止技術 462
10.3 CPU相關指標和監控技術 464
10.3.1 CPU相關指標監控
技術 464
10.3.2 Windows作業系統中
CPU相關指標
監控技術 464
10.3.3 Linux作業系統中CPU
相關指標監控技術 467
10.4 記憶體相關指標和監控技術 471
10.4.1 記憶體相關指標監控
技術 471
10.4.2 Windows作業系統中
記憶體相關指標
監控技術 472
10.4.3 Linux作業系統中記憶體
相關指標監控技術 477
10.5 磁碟I/O相關指標和
監控技術 480
10.5.1 磁碟I/O相關指標
監控技術 480
10.5.2 Windows作業系統
磁碟I/O相關指標監控
技術 482
10.5.3 Linux作業系統磁碟I/O
相關指標監控技術 490
10.6 Nmon工具 493
10.6.1 Nmon工具介紹 493
10.6.2 Nmon工具的使用 493
10.7 Spotlight工具 502
10.7.1 Spotlight工具介紹 502
10.7.2 Spotlight on Oracle 502
10.7.3 Spotlight on Unix 511
第11章 性能測試項目實施過程及
文檔寫作 515
11.1 基於不同用戶群的性能測試 516
11.2 驗收測試通常提交的成果物 516
11.3 驗收測試項目完整實施過程 517
11.4 項目預算和項目立項 518
11.4.1 項目預算和項目立項 518
11.4.2 項目預算相關內容及
樣表展示 518
11.5 項目準備階段及驗收測試
方案編寫 519
11.5.1 項目人員入場 519
11.5.2 項目調研 520
11.5.3 驗收測試方案 520
11.5.4 驗收測試方案索引
結構 520
11.5.5 驗收測試方案的
“引言” 523
11.5.6 驗收測試方案的
“系統簡介” 524
11.5.7 驗收測試方案的
“測試目標和標準” 524
11.5.8 驗收測試方案的
“測試需求分析” 525
11.5.9 驗收測試方案的
“測試策略” 525
11.5.10 驗收測試方案的
“項目實施階段” 529
11.5.11 驗收測試方案的
“測試實施安排” 533
11.5.12 驗收測試方案的
“測試計畫” 534
11.5.13 驗收測試方案的
“質量保證” 535
11.5.14 驗收測試方案的
“缺陷管理” 539
11.5.15 驗收測試方案的
“項目溝通” 541
11.5.16 驗收測試方案的
“工作產品” 541
11.6 驗收測試實施過程及
性能測試計畫編寫 541
11.6.1 性能測試計畫 542
11.6.2 性能測試計畫索引
結構 542
11.6.3 性能測試計畫的
“簡介” 543
11.6.4 性能測試計畫的
“測試業務及性能
需求” 545
11.6.5 性能測試計畫的
“測試環境” 545
11.6.6 性能測試計畫的
“測試策略” 546
11.6.7 性能測試計畫的
“命名規範” 549
11.6.8 性能測試計畫的
“用例設計” 550
11.6.9 性能測試計畫的
“場景設計” 551
11.6.10 性能測試計畫的
“測試數據準備” 552
11.6.11 性能測試計畫的
“計畫安排” 552
11.6.12 性能測試計畫的
“局限條件” 553
11.6.13 性能測試計畫的
“風險評估” 553
11.6.14 性能測試計畫的
“交付產品” 553
11.7 驗收測試實施過程 553
11.7.1 性能測試腳本設計 554
11.7.2 性能測試腳本
數據準備 559
11.7.3 性能測試場景設計 560
11.7.4 性能測試場景監控與
場景執行 562
11.7.5 性能測試結果分析 566
11.7.6 性能調優 567
11.8 驗收測試總結及其性能
測試總結的編寫 568
11.8.1 某單位某系統驗收
測試結論 568
11.8.2 某單位某系統驗收
測試交付清單 569
11.8.3 某單位某系統驗收
測試報告 569
11.8.4 某單位某系統驗收
測試性能測試報告 577
11.8.5 功能/性能測試缺陷
遺留評審確認表格 584
11.8.6 項目管理相關表格 584
11.9 項目驗收相關文檔編寫 586
11.9.1 驗收申請 587
11.9.2 工作量確認 587
第12章 性能測試案例—系統實現框架對比 588
12.1 方案設計 589
12.1.1 項目性能測試
需求分析 589
12.1.2 性能測試需求 589
12.1.3 系統架構 590
12.1.4 性能測試策略 590
12.1.5 測試資源 591
12.1.6 測試監控 592
12.1.7 里程碑計畫 594
12.1.8 測試準則 594
12.1.9 測試風險 595
12.2 測試執行 595
12.2.1 腳本編寫 595
12.2.2 測試過程 598
12.3 測試報告 600
12.3.1 性能對比結論摘要 600
12.3.2 問題分析 601
12.3.3 測試結果對比 602
12.3.4 性能對比結論 606
第13章 Web前端性能測試工具套用 607
13.1 前端性能測試 608
13.2 HttpWatch工具 608
13.2.1 HttpWatch簡介 608
13.2.2 HttpWatch工具的
使用 608
13.3 DynaTrace Ajax工具 616
13.3.1 DynaTrace Ajax簡介 616
13.3.2 DynaTrace Ajax
工具的使用 616
13.4 Firebug工具 620
13.4.1 Firebug簡介 620
13.4.2 Firebug工具的使用 621
13.5 YSlow工具 623
13.5.1 YSlow簡介 623
13.5.2 YSlow工具的使用 624
13.6 前端性能改進 625
13.6.1 減少請求數量 625
13.6.2 套用快取技術 627
13.6.3 CDN技術 630
13.6.4 減少DNS解析時間 630
13.6.5 壓縮內容 631
13.6.6 其他方法 631
第14章 不同協定腳本套用實例講解 633
14.1 一種特殊的資料庫性能
測試方法 634
14.1.1 資料庫集群項目背景 634
14.1.2 批處理方式解決方案 635
14.2 手工編寫FTP腳本 637
14.2.1 手工編寫腳本的策略 637
14.2.2 基於實例手工編寫
FTP腳本 637
14.2.3 腳本編寫注意事項 639
14.3 Foxmail郵件的傳送腳本 640
14.4 .NET 2008外掛程式在開發
環境中的套用 643
14.5 Windows Sockets協定
腳本套用 647
14.6 Terminal Emulation協定
腳本套用 654
14.7 Citrix協定腳本的套用 660
14.7.1 Citrix簡單介紹 660
14.7.2 Citrix相關配置說明 660
14.8 EdgeSight 663
14.8.1 EdgeSight簡單介紹 664
14.8.2 EdgeSight的
使用方法 664
14.9 資料庫相關協定套用 669
14.9.1 工具支持哪些
資料庫相關協定 669
14.9.2 資料庫函式說明 669
14.9.3 資料庫腳本關聯 673
14.10 Flex協定腳本套用 674
14.10.1 Flex簡介 674
14.10.2 Flex腳本 674
14.10.3 Flex腳本關聯 675
14.11 Real協定腳本套用 677
14.11.1 Real簡介 677
14.11.2 Real腳本 677
14.12 Web Services協定
腳本套用 679
14.12.1 Web Services簡介 679
14.12.2 Delphi Web Services
樣例程式 683
14.12.3 Web Services腳本 690
第15章 利用高級語言開發性能測試輔助工具 695
15.1 LoadRunner場景運行
控制器 696
15.2 LoadRunner場景運行
控制器原始碼 698
15.2.1 場景運行控制器
首界面原始碼 698
15.2.2 場景運行控制器
原始碼 700
15.2.3 系統設定原始碼 707
15.2.4 作品相關原始碼 708
15.3 前端性能測試自動化 713
15.4 HttpWatch前端性能
測試自動化腳本 714
15.5 基於高級語言調用HttpWatch
完成前端性能測試 719