內容介紹
《精通軟體性能測試與LoadRunner最佳實戰》分為15章,內容從測試項目實戰需求出發,講述了軟體測試的分類以及測試的流程等,還重點講述了性能測試技術和LoadRunner11.0工具套用的實戰知識。為了有效地解決工作中遇到的問題,將實踐中經常遇到的問題進行總結匯總成幾十個解決方案。詳細的項目案例、完整的性能測試方案、計畫、用例設計、性能總結及相關交付文檔為您做好實際項目測試提供了很好的幫助,基於LoadRunner和第三方工具對象的開發為您進行性能測試錦上添花,相信通過閱讀《精通軟體性能測試與LoadRunner最佳實戰》一定會對您進行性能測試理論學習和實踐大有裨益。
目錄
第1章 軟體測試概述
1.1 軟體測試基礎
1.2 軟體相關概念解析
1.3 軟體測試的定義
1.4 軟體測試的分類
1.4.1 黑盒測試、白盒測試與灰盒測試
1.4.2 靜態測試與動態測試
1.4.3 單元測試、集成測試、系統測試與驗收測試
1.4.4 其他測試
1.5 軟體開發與軟體測試的關係
1.5.1 常見的幾種軟體開發模式
1.5.2 測試與開發各階段的關係
1.5.3 測試的經濟學觀念
1.6 軟體測試流程
1.6.1 測試計畫
1.6.2 測試設計
1.6.3 測試執行
1.6.4 測試總結
1.7 測試自動化的意義
第2章 性能測試過程概述
2.1 性能測試的基本過程
2.2 性能測試需求分析
2.3 性能測試計畫
2.4 性能測試用例
2.5 測試腳本編寫
2.6 測試場景設計
2.7 測試場景運行
2.8 場景運行監控
2.9 運行結果分析
2.10 系統性能調優
2.11 性能測試總結
第3章 性能測試與LoadRunner相關概念
3.1 性能測試的基本概念
3.1.1 典型的性能測試場景
3.1.2 性能測試的概念及其分類
3.1.3 性能測試工具的引入
3.2 LoadRunner及樣例程式安裝過程
3.2.1 Windows版本的安裝過程
3.2.2 許可協定的套用
3.2.3 工具樣例程式的安裝過程
3.3 運行機制和主要組成部分
3.4 LoadRunner相關概念解析
3.4.1 集合點
3.4.2 事務
3.4.3 檢查點
3.4.4 思考時間
第4章 套用LoadRunner進行性能測試示例
4.1 實例講解腳本的錄製、場景設計、結果分析過程
4.1.1 LoadRunner測試過程模型
4.1.2 實例講解Web應用程式的套用
4.1.3 腳本處理部分
4.1.4 負載處理部分
4.1.5 系統性能改進意見
第5章 腳本語言編寫基礎
5.1 認識LoadRunner腳本語言
5.2 C語言基礎
5.2.1 數據類型
5.2.2 C語言語句分類
5.2.3 基礎知識
5.3 關聯的套用
5.3.1 什麼是關聯
5.3.2 如何做關聯
5.3.3 關聯函式詳解
5.3.4 實例講解簡單關聯的套用
5.3.5 實例講解較複雜關聯的套用
5.4 動態程式庫函式的調用
5.5 特殊函式套用注意事項
5.6 自定義函式套用
5.6.1 自定義函式僅套用於本腳本的實例
5.6.2 自定義函式的復用實例
5.7 IP欺騙的套用
第6章 深度解析LoadRunner 11.0功能套用
6.1 VuGen套用介紹
6.2 協定的選擇
6.2.1 Vuser類型
6.2.2 協定選擇
6.3 腳本的創建過程
6.3.1 協定理解的誤區
6.3.2 B/S架構應用程式腳本的實例套用
6.3.3 C/S架構應用程式腳本的實例套用
6.4 腳本的參數化
6.4.1 參數化的方法及其技巧
6.4.2 數據分配方法
6.4.3 數據更新方式
6.4.4 實例講解數據分配和數據更新方式的套用
6.4.5 詳解表數據參數類型
6.4.6 內部數據參數類型
6.5 調試技術
6.5.1 斷點設定
6.5.2 單步跟蹤
6.5.3 日誌輸出
6.6 Controller套用介紹
6.7 場景設定描述
6.7.1 面向目標的場景設計
6.7.2 基於手動的場景設計
6.8 負載生成器
6.9 IP Wizard的套用
6.10 負載選項設定詳解
6.11 性能指標監控
6.12 Analysis套用介紹
6.13 結果目錄檔案結構
6.14 Analysis Summary分析
6.15 關於事務相關信息部分內容
6.15.1 關於分析概要事務相關信息問題提出
6.15.2 關於結果概要事務相關信息問題分析
6.15.3 關於結果概要事務腳本設計及其相關設定
6.15.4 如何解決結果概要信息不計入思考時間問題
6.15.5 如何知道每個虛擬用戶負載時的取值
6.15.6 如何將數據導出到Excel檔案中
6.15.7 如何對導出的數據進行篩選
6.15.8 如何對結果數據進行有效的分析
6.16 關於吞吐量相關信息部分內容
6.16.1 關於概要分析吞吐量等相關信息問題提出
6.16.2 關於概要分析吞吐量等相關信息問題分析
6.16.3 關於概要分析吞吐量等相關內容設計與實現
6.17 執行結果分析過程
6.17.1 合併圖的套用
6.17.2 合併圖的3種方式
6.17.3 自動關聯的套用
6.17.4 交叉結果的套用
6.17.5 性能測試模型
6.17.6 性能瓶頸定位——拐點分析法
6.17.7 分析相關選項設定講解
6.18 主要圖表分析
6.18.1 虛擬用戶相關圖表
6.18.2 事務相關圖表
6.18.3 錯誤相關圖表
6.18.4 Web資源相關圖表
6.18.5 網頁診斷相關圖表
6.18.6 系統資源相關圖表
第7章 LoadRunner常見問題解答
7.1 如何突破參數的百條顯示限制
7.2 如何突破Controller可用腳本50條限制
7.3 如何解決資料庫查詢結果過大導致錄製失敗
7.4 如何調整經常用到的相關協定腳本模板
7.5 如何將Connect()中的密文改為明文
7.6 如何添加並運用附加變數
7.7 如何解決腳本中的亂碼問題
7.8 如何在錄製時加入自定義標頭
7.9 執行緒和進程運行方式有何不同
7.10 如何實現腳本分步錄製
7.11 如何在腳本中套用常量和數組
7.12 VuGen中支持哪些步驟類型
7.13 如何處理ASP.NET中的ViewState
7.14 如何理解Return的返回值
7.15 如何解決負載均衡將壓力作用到一台機器
7.16 如何對Apache伺服器上的資源使用情況進行監控
7.17 如何在腳本中加入DOS命令
7.18 如何下載並保存檔案到本地
7.19 如何理解常用圖表的含義
7.20 基於目標和手動場景測試有何聯繫和不同
7.21 如何在命令行下啟動Controller
7.22 如何解決由於設定引起的運行失敗問題
7.23 如何實現對伺服器系統資源的監控
7.24 如何實現對數據伺服器的監控
7.25 如何實現對Web應用程式伺服器資源監控
7.26 如何在Analysis圖表中添加分析注釋
7.27 如何確定登錄達到回響時間為3秒的指標
7.28 如何使用自動關聯對測試結果進行分析
7.29 如何根據分析結果判斷性能有所改善
7.30 如何對圖表進行合併,定位系統瓶頸
7.31 如何套用Java Vuser驗證算法的執行效率
7.32 如何用程式控制網站的訪問次數
7.33 幾種不同逾時的處理方法
7.34 如何才能將日期類型數據參數化到腳本中
7.35 如何自定義請求,並判斷返回數據的正確性
7.36 LoadRunner如何運行WinRunner腳本
7.37 LoadRunner如何利用已有文本數據
7.38 如何能夠產生樣例程式的Session
7.39 如何能夠實現Ping IP的功能
7.40 如何在Vugen中自定義工具條按鈕
7.41 如何在Vugen中Tools選單中添加選單項
7.42 如何在Vugen中給選單項定義快捷鍵
7.43 為什麼結果導出時會出現異常
7.44 如何增大網頁細分圖顯示的URLS長度
7.45 如何設定登錄的用戶名和口令
7.46 如何在執行疊代時退出腳本
7.47 如何使用鍵盤快捷鍵
7.48 如何手動轉換字元串編碼
7.49 如何理解結果目錄檔案結構
7.50 如何監控Tomcat
7.51 如何在UNIX系統下用命令行運行腳本
7.52 如何使用C函式進行腳本跟蹤
7.53 如何知道腳本對應路徑下檔案含義
7.54 如何結合企業特點進行性能測試
7.55 如何套用性能測試常用計算公式
7.56 如何掌握“拐點”分析方法
7.57 如何發現性能測試的規律
7.58 如何編寫性能測試用例
7.59 如何對mysql資料庫進行查詢操作
7.60 為何無法與Load Generator通信
第8章 性能監控方法和性能監控工具套用
8.1 概述
8.2 進程相關指標和監控技術
8.2.1 Windows作業系統任務、進程介紹
8.2.2 Windows作業系統任務、進程監控技術
8.2.3 Windows作業系統任務、進程關閉技術
8.2.4 Linux作業系統任務、進程監控技術介紹
8.2.5 Linux作業系統進程監控技術
8.2.6 Linux作業系統進程終止技術
8.3 CPU相關指標和監控技術
8.3.1 CPU相關指標監控技術介紹
8.3.2 Windows作業系統中CPU相關指標監控技術
8.3.3 Linux作業系統中CPU相關指標監控技術
8.4 記憶體相關指標和監控技術
8.4.1 記憶體相關指標監控技術介紹
8.4.2 Windows作業系統中記憶體相關指標監控技術
8.4.3 Linux作業系統中記憶體相關指標監控技術
8.5 磁碟I/O相關指標和監控技術
8.5.1 磁碟I/O相關指標監控技術介紹
8.5.2 Windows作業系統磁碟I/O相關指標監控技術
8.5.3 Linux作業系統磁碟I/O相關指標監控技術
8.6 Nmon工具
8.6.1 Nmon工具介紹
8.6.2 Nmon工具使用講解
8.7 Spotlight工具
8.7.1 Spotlight工具介紹
8.7.2 Spotlight on Oracle
8.7.3 Spotlight on Unix
第9章 性能測試項目實施過程及文檔寫作
9.1 基於不同用戶群的性能測試
9.2 驗收測試通常提交的成果物
9.3 驗收測試項目完整實施過程介紹
9.4 項目預算和項目立項
9.4.1 項目預算和項目立項
9.4.2 項目預算相關內容及樣表展示
9.5 項目準備階段及驗收測試方案編寫
9.5.1 項目人員入場
9.5.2 項目調研
9.5.3 驗收測試方案
9.5.4 驗收測試方案索引目錄結構
9.5.5 驗收測試方案的“引言”部分
9.5.6 驗收測試方案的“系統介紹”部分
9.5.7 驗收測試方案的“測試目標和標準”部分
9.5.8 驗收測試方案的“測試需求分析”部分
9.5.9 驗收測試方案的“測試策略”部分
9.5.10 驗收測試方案的“項目實施階段”部分
9.5.11 驗收測試方案的“測試實施安排”部分
9.5.12 驗收測試方案的“測試計畫”部分
9.5.13 驗收測試方案的“質量保證”部分
9.5.14 驗收測試方案的“缺陷管理”部分
9.5.15 驗收測試方案的“項目溝通”部分
9.5.16 驗收測試方案的“工作產品”部分
9.6 驗收測試實施過程及性能測試計畫編寫
9.6.1 性能測試計畫
9.6.2 性能測試計畫索引目錄結構
9.6.3 性能測試計畫的“簡介”部分
9.6.4 性能測試計畫的“測試業務及性能需求”部分
9.6.5 性能測試計畫的“測試環境”部分
9.6.6 性能測試計畫的“測試策略”部分
9.6.7 性能測試計畫的“命名規範”部分
9.6.8 性能測試計畫的“用例設計”部分
9.6.9 性能測試計畫的“場景設計”部分
9.6.10 性能測試計畫的“測試數據準備”部分
9.6.11 性能測試計畫的“計畫安排”部分
9.6.12 性能測試計畫的“局限條件”部分
9.6.13 性能測試計畫的“風險評估”部分
9.6.14 性能測試計畫的“交付產品”部分
9.7 驗收測試實施過程
9.7.1 性能測試腳本設計
9.7.2 性能測試腳本數據準備
9.7.3 性能測試場景設計
9.7.4 性能測試場景監控與場景執行
9.7.5 性能測試結果分析
9.7.6 性能調優
9.8 驗收測試總結及其性能測試總結的編寫
9.8.1 某單位某系統驗收測試結論
9.8.2 某單位某系統驗收測試交付清單
9.8.3 某單位某系統驗收測試報告
9.8.4 某單位某系統驗收測試性能測試報告
9.8.5 功能/性能測試缺陷遺留評審確認表格
9.8.6 項目管理相關表格
9.9 項目驗收相關文檔編寫
9.9.1 驗收申請
9.9.2 工作量確認
第10章 系統性能測試案例——GIS項目
10.1 GIS系統性能測試
10.1.1 項目性能測試需求的分析
10.1.2 確定性能測試考察指標
10.1.3 模型建立
10.1.4 集合點的說明
10.1.5 性能測試用例設計
10.1.6 工具的引入
10.1.7 腳本代碼
10.1.8 場景設計
10.1.9 測試環境
10.1.10 場景執行
10.2 性能結果分析
第11章 性能測試案例——系統實現框架對比
11.1 第一部分 方案設計
11.1.1 項目性能測試需求分析
11.1.2 性能測試需求
11.1.3 系統架構
11.1.4 性能測試策略
11.1.5 測試資源
11.1.6 測試監控
11.1.7 里程碑計畫
11.1.8 測試準則
11.1.9 測試風險
11.2 第二部分 測試執行
11.2.1 腳本編寫
11.2.2 測試過程
11.3 第三部分 測試報告
11.3.1 性能對比結論摘要
11.3.2 問題分析
11.3.3 測試結果對比
11.3.4 性能對比結論
第12章 Web前端性能測試工具套用
12.1 前端性能測試
12.2 HttpWatch工具
12.2.1 HttpWatch簡介
12.2.2 HttpWatch工具使用
12.3 DynaTrace Ajax工具
12.3.1 DynaTrace Ajax簡介
12.3.2 DynaTrace Ajax工具使用
12.4 FireBug工具
12.4.1 FireBug簡介
12.4.2 Firebug工具使用
12.5 YSlow工具
12.5.1 YSlow簡介
12.5.2 YSlow工具使用
12.6 前端性能改進
12.6.1 減少請求數量
12.6.2 套用快取技術
12.6.3 CDN技術
12.6.4 減少DNS解析時間
12.6.5 壓縮內容(Gzip Components)
12.6.6 其他方法
第13章 不同協定腳本套用實例講解
13.1 一種特殊的資料庫性能測試方法
13.1.1 資料庫集群項目背景介紹
13.1.2 批處理方式解決方案
13.2 手工編寫FTP腳本
13.2.1 手工編寫腳本的策略
13.2.2 實例講解手工編寫FTP腳本
13.2.3 腳本編寫注意事項
13.3 Foxmail郵件的傳送腳本
13.4 詳解.NET 2008外掛程式在開發環境中的套用
13.5 Windows Sockets協定腳本套用
13.6 Terminal Emulation(RTE)協定腳本套用
13.7 Citrix協定腳本套用
13.7.1 Citrix簡單介紹
13.7.2 Citrix相關配置說明
13.8 EdgeSight
13.8.1 EdgeSight簡單介紹
13.8.2 EdgeSight基本使用
13.9 資料庫相關協定套用
13.9.1 工具支持哪些資料庫相關協定
13.9.2 資料庫函式說明
13.9.3 資料庫腳本關聯
13.10 AJAX TruClient協定套用
13.10.1 AJAX簡介
13.10.2 AJAX TruClient腳本
13.10.3 AJAX(Click and Script)腳本
13.11 Flex協定腳本套用
13.11.1 Flex簡介
13.11.2 Flex腳本
13.11.3 Flex腳本關聯
13.12 Real協定腳本套用
13.12.1 Real簡介
13.12.2 Real腳本
13.13 Web Services協定腳本套用
13.13.1 Web Services簡介
13.13.2 Delphi Web Services樣例程式
13.13.3 Web Services腳本
第14章 利用高級語言開發性能測試輔助工具
14.1 LoadRunner場景運行控制器介紹
14.2 LoadRunner場景運行控制器原始碼
14.2.1 場景運行控制器首界面原始碼
14.2.2 場景運行控制器原始碼
14.2.3 系統設定原始碼
14.2.4 作品相關原始碼
14.3 前端性能測試自動化介紹
14.4 HttpWatch前端性能測試自動化腳本
14.5 高級語言調用HttpWatch完成前端性能測試
第15章 性能測試套用策略及性能指標計算
15.1 性能測試在企業中的套用——量體裁衣
15.1.1 性能測試介紹
15.1.2 性能測試在軟體企業的套用
15.1.3 總結
15.2 開發環境下的性能測試
15.2.1 負庫存現象
15.2.2 外掛程式的套用
15.2.3 總結
15.3 性能測試場景的選擇及其用例設計、執行策略
15.3.1 性能測試用例的設計方法
15.3.2 實例講解性能測試用例的設計
15.3.3 性能測試執行
15.3.4 性能測試的分析
15.3.5 系統的調優
15.4 性能測試常用計算公式匯總
15.4.1 吞吐量計算公式
15.4.2 並發數量計算公式
15.4.3 思考時間計算公式