




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、最新版LoadRunner性能測試實戰內容介紹:很多使用LoaadRunnner的測試試人員經常面面臨兩個難題題:腳本開發發與性能測試試分析。本書書就是基于幫幫助測試人員員解決這兩個個問題而編寫寫,致力于使使讀者學精LLoadRuunnnerr這一強大的的性能測試工工具。全書共共分為四部分分:入門篇、基基礎篇、探索索篇、實戰篇篇。第一篇入入門篇的內容容包括第1章章和第2章,著著重于講解性性能測試與LLoadRuunner的的基礎理論知知識。第二篇篇基礎篇的內內容包括第33章至第5章章,是LoaadRunnner的基本本使用部分,著著重講解Viirtuall Userr Geneeratorr、
2、Conttrolleer、Anaalysiss的使用方法法。第三篇探探索篇的第1部分 入入門篇 1第1章 性能能測試基礎知知識. 331.1 性能能測試基本概概念. 41.1.1 什么是性能能測試 41.1.2 性能測試應應用領域 61.1.3 性能測試常常見術語 81.2 全面面性能測試模模型. 111.2.1 性能測試策策略模型 141.2.2 性能測試用用例模型 171.2.3 模型的使用用方法 201.3 性能能測試調整基基礎. 211.4 如何何做好性能測測試. 241.5 本章章小結 28第2章 LooadRunnner基礎礎知識. 292.1 LooadRunnner簡介介. 2
3、292.1.1 LoadRRunnerr主要特點 2992.1.2 LoadRRunnerr常用術語 3112.2 LooadRunnner工作作原理 322.3 LooadRunnner測試試流程 332.4 LooadRunnner的部部署與安裝 3552.5 本章章小結 41第2部分 基基礎篇 43第3章 腳本本的錄制與開開發. 4453.1 Viirtuall Userr Geneeratorr簡介 453.1.1 VuGenn錄制原理 4663.1.2 VuGenn功能簡介 4883.1.3 如何選擇協協議. 493.2 VuuGen錄制制功能詳解 5003.2.1 錄制參數設設置.
4、 503.2.2 腳本錄制與與創建事務 5773.2.3 回放與調試試腳本 613.2.4 腳本錄制的的基本原則 6333.3 修改改虛擬用戶腳腳本. 643.3.1 參數化功能能. 6643.3.2 深入集合點點. 7713.3.3 巧用檢查點點. 7723.3.4 關聯 783.4 配置置虛擬用戶腳腳本. 803.5 兩個個常用函數介介紹. 843.6 本章章小結 86第4章 場景景的創建與執執行. 8874.1 Coontrolller簡介介. 8874.2 場景景類型介紹 8884.2.1 手動測試場場景. 884.2.2 面向目標的的測試場景 9004.3 測試試場景設計 9334.
5、3.1 配置測試腳腳本. 934.3.2 配置Genneratoor 944.3.3 配置Schhedulee. 954.3.4 集合點配置置. 9994.3.5 IP Sppooferr配置 1004.3.6 其他設置場場景. 1064.4 執行行測試場景 10084.4.1 啟動測試場場景. 1084.4.2 控制用戶與與用戶組 10884.4.3 查看場景與與用戶狀態 10094.4.4 控制集合點點. 11104.4.5 查看運行數數據圖 1104.5 監控控系統資源 11114.5.1 監控Winndows系系統資源 11224.5.2 監控Linnux/Unnix系統資資源. 11
6、44.6 本章章小結 121第5章 性能能測試結果分分析. 11235.1 如何何分析性能測測試結果 12445.1.1 性能分析基基礎知識 12555.1.2 Analyysis使用用基礎 1275.1.3 一個視頻網網站例子 13555.2 如何何從分析圖中中發現問題 14485.2.1 虛擬用戶圖圖. 11485.2.2 事務圖 15115.2.3 Web資源源圖. 1605.2.4 網頁細分圖圖. 11665.2.5 小結 1795.3 分析析圖的處理方方法. 1795.3.1 修改默認配配置. 1805.3.2 合并分析圖圖. 11875.3.3 自動關聯 18885.3.4 場景運
7、行比比較. 1915.4 Annalysiis分析報告告. 11935.4.1 事務活動報報告(Acttivityy Repoorts) 19935.4.2 事務性能報報告(Perrformaance RReportts) 1965.4.3 HTML與與Word報報告. 1995.5 本章章小結 206第3部分 探探索篇 2009第6章 用VVisuall C+增增強虛擬用戶戶. 21116.1 認識識LoadRRunnerr動態鏈接庫庫的調用功能能. 22116.1.1 動態鏈接庫庫調用功能簡簡介. 2116.1.2 動態鏈接庫庫調用功能適適用范圍 21226.2 創建建與調用動態態鏈接庫
8、21226.2.1 用Visuual C+創建Dlll 21226.2.2 Dll調用用方法 2156.2.3 載入頭文件件方法 2176.2.4 Dll調用用需注意的問問題. 2206.3 UDDP發包應用用案例 2226.3.1 測試內容簡簡介. 2226.3.2 測試程序設設計. 2226.3.3 虛擬用戶腳腳本. 2236.3.4 測試場景設設置. 2246.3.5 測試結果分分析. 2256.4 本章章小結 226第7章 深入入Java虛虛擬用戶. 2277.1 認識識Java虛虛擬用戶 22777.1.1 Java虛虛擬用戶協議議. 22277.1.2 Java虛虛擬用戶適用用范圍
9、 2307.1.3 腳本開發環環境配置 23117.2 Jaava腳本開開發基礎 23447.2.1 Java虛虛擬用戶開發發基礎 2347.2.2 LoadRRunnerr的Javaa API. 2437.3 Jaava算法測測試案例 24557.4 本章章小結 260第8章 深入入.NET虛虛擬用戶. 2618.1 認識識.NET虛虛擬用戶 26118.1.1 .NET虛虛擬用戶適用用范圍 2618.1.2 安裝與配置置.NET插插件. 2628.2 創建建.NET虛虛擬用戶 26448.2.1 創建虛擬用用戶項目 26448.2.2 參數、集合合點、事務 26668.3 網站站視頻性能測
10、測試應用案例例. 22718.3.1 創建自定義義的播放器類類. 22728.3.2 創建抽象虛虛擬用戶類 27768.3.3 創建抽象并并發測試類 28828.3.4 創建自定義義虛擬用戶腳腳本. 2848.3.5 創建LoaadRunnner .NNET虛擬用用戶. 2878.3.6 案例總結 29908.4 本章章小結 290第9章 LooadRunnner特殊殊協議應用. 29119.1 Wiindowss Sockkets協議議應用 2919.1.1 錄制Winndows Sockeets協議腳腳本. 2929.1.2 增強Winndows Sockeets協議腳腳本. 2949.2
11、 WAAP協議應用用. 22989.3 Weeb Serrvicess協議應用 30029.3.1 Web SServicces協議簡簡介. 3029.3.2 錄制Webb Servvices協協議腳本 30339.4 FTTP協議應用用. 33129.5 本章章小結 317第4部分 實實戰篇 3119第10章 電電子商務平臺臺測試案例. 321110.1 GGBE測試項項目簡介 321110.1.1 項目背景景信息 32110.1.2 系統功能能簡介 32210.1.3 項目測試試計劃 32310.2 性性能測試規劃劃與設計 323310.2.1 性能測試試的種類、范范圍、目標 322410
12、.2.2 人力資源源、進度安排排. 332510.2.3 測試環境境需求 32510.2.4 選擇測試試工具 32710.2.5 用戶場景景分析與設計計. 332810.2.6 性能測試試計劃 33310.2.7 測試用例例設計 33410.2.8 其他事項項. 334110.3 性性能測試準備備. 334110.3.1 測試環境境. 334110.3.2 系統使用用培訓 34210.3.3 測試數據據. 334310.3.4 虛擬用戶戶腳本 34610.4 測測試的實施與與控制 34910.4.1 設計測試試用例場景 344910.4.2 執行測試試用例場景 355110.4.3 進度與變變
13、更控制 359910.5 測測試結論與建建議. 36010.5.1 測試結果果綜述 360010.5.2 系統性能能優化建議 336110.5.3 風險分析析. 336210.6 本本章小結 3622附錄A LooadRunnner性能能測試常見問問題. 3365附錄B LooadRunnner性能能測試模板. 3733B.1 性能能測試計劃模模板. 373B.1.1 項項目背景簡介介. 3373B.1.2 測測試方案簡介介. 3373B.1.3 測測試環境與資資源. 373B.1.4 項項目里程碑 3774B.1.5 技技能培訓計劃劃. 3374B.1.6 風風險分析 3744B.1.7 計
14、計劃結束標準準. 3374B.2 性能能測試用例模模板. 374B.2.1文檔檔介紹 374B.2.2 測試需求分分析. 375B.2.3 性性能測試用例例. 3375B.3 性能能測試報告模模板. 380B.3.1 基基本信息 3800B.3.2 測測試環境描述述. 3381B.3.3 性性能測試用例例執行分析 3881B.3.4 測測試結果綜合合分析及建議議. 3381B.3.5 測測試經驗總結結. 3381后 記. 383 HYPERLINK /bookfiles/509/10050917448.shtml 前言 在作者的另一作作品Webb性能測試實實戰中,曾曾經提到過“軟軟件亞健康”這
15、這個概念。現現在,亞健康康不但威脅著著IT人的生生活質量,也也威脅很多應應用軟件的性性能。為此,在在Web性性能測試實戰戰一書中,作作者提出了“全全面性能測試試模型”,期期望能夠成為為解決軟件亞亞健康問題的的一劑“良藥藥”。“全面性能測試試模型”包含含了測試策略略制定、測試試用例設計、模模型使用方法法三部分內容容,基本覆蓋蓋了性能測試試規劃和設計計的相關內容容,為開展性性能測試提供供了一種可行行的方案。借借助本模型,軟軟件開發和測測試人員可以以更好的組織織與規劃性能能測試,避免免在項目后期期遭遇性能問問題的被動局局面。不過要想做好性性能測試,僅僅有性能測試試模型還是遠遠遠不夠的,因因為還缺少像
16、像LoadRRunnerr這樣令性能能測試工作如如虎添翼的性性能測試利器器。本書將和和讀者一起深深入LoaddRunneer的性能測測試世界,探探討在企業的的性能測試項項目中如何應應用它來發現現應用系統存存在的性能問問題。LoadRunnner在性性能測試中的的地位對于很多使用LLoadRuunner的的測試人員而而言,性能測測試工作中最最大的障礙就就是測試腳本本開發與測試試結果分析,這這導致很多測測試人員忽略略了測試規劃劃與設計的重重要性,反而而認為能開發發測試腳本、運運行測試場景景、分析測試試結果就算做做好性能測試試了。要想做好性能測測試,首先應應該把重心放放在測試的規規劃與設計上上,尤其
17、要注注重測試用例例的設計,僅僅僅能寫測試試程序與運行行測試腳本是是遠遠不夠的的。諸如LooadRunnner等測測試工具僅僅僅是性能測試試的執行與分分析工具,它它們應該服從從于測試設計計人員的意志志。測試工具具的使用屬于于測試人員的的基本功,應應該在開展性性能測試工作作前修煉好。只只有好的測試試用例或者測測試場景才能能發現系統的的問題,這才才是性能測試試的本質所在在。性能測試分析同同樣依賴于前前面工作的輸輸出結果,不不是隨便一個個測試結果就就能發現問題題的。所謂“萬萬丈高樓平地地起”,性能能分析的準確確性同樣取決決于此前所做做的設計與實實施等“地基基”是否可靠靠。可以說,性性能測試分析析僅僅是
18、百米米賽跑的最后后二十米而已已。當然,這這并不是說性性能測試分析析不重要,因因為“最后沖沖刺的二十米米沒有跑好”,前前面工作做的的再好也是徒徒勞的。因此此不難理解,性性能測試分析析工作開展的的根基就是前前面測試場景景執行的結果果。要想保證證性能測試分分析的結論是是正確的,則則測試結果數數據首先就應應該是正確的的,而這也意意味著測試場場景以及測試試執行過程都都應該是正確確的。實際上,性能測測試從始至終終都應該是相相當嚴謹的一一項工程,各各個階段的工工作環環相扣扣,性能測試試工程師應該該認真對待各各個階段的工工作。如果一一味地追求找找出系統瓶頸頸,無疑是舍舍本逐末的做做法。因此,在性能測測試工作中
19、首首先要做好性性能測試的規規劃與設計工工作,然后再再借助LoaadRunnner的強大大功能來發現現系統存在的的問題。如何通過本書學學習LoaddRunneer首先應該弄清楚楚學習LoaadRunnner的目的的,那就是在在項目的性能能測試中應用用LoadRRunnerr來發現系統統的性能問題題。因此,僅僅僅會用LooadRunnner還遠遠遠不夠,這這也是為什么么很多培訓班班出來的學員員雖然把工具具用的非常熟熟練,但是仍仍然不能做好好性能測試工工作。學好LoadRRunnerr的標準是真真正能夠把LLoadRuunner應應用到實際項項目中去,這這就要求學習習LoadRRunnerr的同時一
20、定定要學好性能能測試相關知知識。本書的的第1章即為為基本的性能能測試知識,讀讀者需要認真真體會這些內內容,建議在在學習后面的的內容時,經經常翻閱本章章的內容。如如果要學習更更多的性能測測試規劃與設設計的知識以以及性能測試試案例,建議議讀者參考本本書的姊妹篇篇Web性性能測試實戰戰。本書的第2章是是LoadRRunnerr的簡介部分分,讀者需要要通過本章了了解LoaddRunneer的工作原原理、測試流流程、部署與與安裝等內容容,尤其要掌掌握圖2-11所示的LooadRunnner工作作原理,這是是用LoaddRunneer開展工作作的基礎。本書的第3章、第第4章、第55章分別講解解了Loadd
21、Runneer的Virrtual User Generrator、CControoller、AAnalyssis。這三三大組件分別別負責腳本的的錄制與開發發、場景的創創建與執行、測測試結果分析析工作。用LLoadRuunner來來開展性能測測試,必須要要掌握這三大大組件的使用用。如果連基基本的工具都都沒有用好,很很難正確地執執行設計好的的測試用例,更更不用說根據據結果來分析析系統的瓶頸頸了。在第335章中,詳詳細探討了LLoadRuunner各各個組件的使使用細節,但但是這還遠遠遠不夠,尤其其對于那些只只會錄制或者者簡單修改錄錄制結果的測測試人員!學學習這三章的的內容時,最最好的方法是是結合L
22、oaadRunnner的聯機機幫助文檔,這這樣可以學習習到更多的內內容。學習完第355章后,可能能還有一些讀讀者會問:“我我還是不會自自己寫測試腳腳本,很多協協議仍然不能能進行測試怎怎么辦?”碰碰到這種情況況就需要補習習自己的開發發知識了。開發知識應該分分兩個方面來來學習:一是是面向對象基基礎知識的學學習,二是開開發語言的學學習。很多人人可能會認為為面向對象基基礎知識比較較通用,相對對容易學習;而開發語言言種類繁多,不不知道如何入入手。根據作作者的經驗,這這兩個方面應應該結合起來來進行:面向向對象是現在在主流開發語語言的靈魂,一一起學習可以以互相促進。具具體做法就是是選擇C+、Javaa、C#
23、等一一種主流語言言來學習,只只要這門語言言是自己所在在公司的主流流語言即可。當當學會面向對對象基礎和一一門語言后,再再去學習其它它的語言將會會非常容易。具有一定的開發發能力后,就就可以開始本本書探索篇第第69章的的學習。這四四章是LoaadRunnner的探索索篇,講解了了在LoaddRunneer中如何應應用C+、JJava、CC#語言進行行開發以及一一些特殊的腳腳本協議。相信通過前面99章的學習,讀讀者已經掌握握LoadRRunnerr的精髓了。不不過本書不是是一本“LooadRunnner使用用百科大全”,接接下來就需要要讀者自己不不斷地應用與與探索LoaadRunnner了,逐逐步完成
24、成為為一個LoaadRunnner高手的的蛻變過程。如何學習本書的的性能測試案案例本書在第10章章中,花了很很大的篇幅介介紹了一個電電子商務平臺臺的性能測試試案例,目的的不是為了介介紹如何測試試電子商務系系統,而是讓讓讀者在掌握握前面技能的的基礎上,更更加深入地體體會在項目中中如何通過LLoadRuunner來來實施性能測測試。因此,案案例的業務并并不重要,讀讀者也沒有必必要深究具體體的細節。通通過本案例,能能清晰地了解解了能測試的的整個過程就就已經達到了了目的。本書案例的學習習重點在以下下幾個方面:l 借助案例例體會“全面面性能測試模模型”在GBBE項目中的的應用;l 學習性能能測試規劃與與
25、設計中的需需求分析過程程,例如測試試環境需求、人人力資源;l 學習性能能測試規劃與與設計中的測測試場景分析析與設計、測測試用例設計計;l 學習如何何做好性能測測試實施前的的準備工作;l 測試執行行過程的進度度與變更控制制;l 一些分析析性能問題的的過程。關于性能測試案案例更多的內內容,讀者可可以閱讀WWeb性能測測試實戰中中的案例部分分。關于本書本書的主旨在于于讓讀者學會會LoadRRunnerr的應用,并并能在此基礎礎上自行探索索性能測試世世界。本書共分為四部部分:入門篇篇、基礎篇、探探索篇、實戰戰篇。第一部分:入門門篇,包括第第1章和第22章,著重于于講解性能測測試與LoaadRunnne
26、r的基礎礎理論知識。在在第1章中,講講解了性能測測試基本概念念、全面性能能測試模型、性性能測試調整整等基礎的性性能測試理論論知識;第22章則介紹了了LoadRRunnerr的特點與術術語、工作原原理、測試流流程、部署與與安裝等內容容。第二部分:基礎礎篇,包括第第3章至第55章,著重講講解LoaddRunneer三大組件件的使用,是是LoadRRunnerr的基本使用用部分。在第第3章中,主主要講解如何何在Virttual UUser GGeneraator中完完成代碼的錄錄制與開發;第4章講解解如何在Coontrolller中創創建與執行場場景;第5章章中講解如何何結合Anaalysiss來分
27、析性能能測試結果。第三部分:探索索篇,包括第第6章至第99章,著重講講解LoaddRunneer的高級應應用。第6章章講解如何用用Visuaal C+來增強虛擬擬用戶;第77章深入探索索了Javaa虛擬用戶;第8章深入入探索了.NNET虛擬用用戶;第9章章則講解了SSockett虛擬用戶的的相關知識。第四部分:實戰戰篇,即第110章,結合合案例來講解解在具體項目目中如何應用用LoadRRunnerr來完成性能能測試工作。在在第10章中中,通過真實實的性能測試試實例,向讀讀者展示了如如何在項目中中完成性能測測試的整體規規劃與設計、測測試的準備與與實施、測試試結果分析等等工作。致謝感謝廣大讀者對對
28、Web性性能測試實戰戰一書的支支持,讀者的的支持是作者者寫作的真正正動力。正是是一年來因為為大家對WWeb性能測測試實戰的的肯定才促使使我完成本書書的寫作工作作;感謝博文視點周周筠老師對本本書的支持,周周老師對我這這個新人一直直給予很大的的鼓勵;感謝電子工業出出版社博文視視點資訊有限限公司的陳元元玉編輯,她她是本書的責責任編輯;感謝師兄王玉亭亭,他再次為為本書提供了了很多素材;感謝同事關曉培培、周雪松、李李熠,他們為為本書提供了了很多素材;感謝電子工業出出版社為本書書辛勤付出的的所有朋友們們;特別感謝夫人小小姬,她通篇篇審校了本書書并潤色了那那些難于理解解的句子,特特別是她對我我在公司的日日常
29、工作和編編寫工作的支支持,因為本本書占據了大大量可以陪她她的時間;最后要感謝自己己的父母和老老師,能寫出出本書是父母母和老師多年年教育的結果果。軟件在性能方面面的“亞健康康”問題一直直伴隨著國內內很多企業的的軟件產品而而存在。早期期由于多數軟軟件應用系統統在企業中得得不到有效的的推廣應用,因因此用戶往往往會忽略自己己在性能方面面的需求。而而現在軟件幾幾乎滲透到人人們工作與生生活的各個方方面,因而軟軟件的性能開開始得到越來來越多的重視視。隨著軟件工程技技術、軟件開開發方法和軟軟件開發工具具的發展,一一方面使人們們可以快速開開發更加復雜雜的應用,另另一方面也使使開發出的軟軟件規模越來來越龐大,架架
30、構越來越復復雜。隨之而而來的是軟件件性能問題也也越來越多,最最終導致很多多軟件系統由由于性能方面面存在問題而而停止使用,給給軟件公司以以及客戶都帶帶來了一定的的損失。因此此,解決軟件件性能問題是是十分必要的的一項工作中中,對于企業業自身以及客客戶都具有重重要的現實意意義。在紹英的上一本本著作Weeb性能測試試實戰中,為為接近軟件性性能問題提出出了“全面性性能測試模型型”,以期成成為解決軟件件亞健康問題題的一劑良藥藥。“全面性性能測試模型型”包含了性性能測試策略略制定、測試試用例設計、模模型使用方法法三部分內容容,覆蓋了性性能測試規劃劃和設計的相相關內容,為為開展性能測測試工作提供供了一種可行行
31、的方案。但但是僅有理論論是不夠的,對對于性能測試試工作而言,不不但需要好的的性能測試理理論作為工作作指導,更需需要掌握好的的性能測試工工具,因此本本書的幾位作作者共同創作作了LoaadRunnner性能測測試實戰一一書。LoadRunnner是目目前國內性能能測試領域應應用最廣泛的的工具之一,它它可以通過模模擬成千上萬萬的用戶,很很快地幫助用用戶確認和查查找性能問題題。但是國內內圖書市場上上卻沒有任何何相關書籍,LLoadRuunner性性能測試實戰戰填補了這這個空白。LoadRuunner性性能測試實戰戰是非常注注重實際應用用的作品。書書中詳細描述述了LoaddRunneer在性能測測試領域
32、諸多多方面的應用用,并結合具具體的案例來來說明如何應應用Webb性能測試實實戰一書中中提到的“全全面性能測試試模型”。強強大的性能測測試工具加上上合理的理論論來指導,將將為讀者打開開很多新的思思路。本書是由三位作作者共同完成成的。紹英有有流媒體、PP2P、電子子政務、銀行行、門戶網站站等領域應用用軟件的性能能測試經驗,在在LoadRRunnerr方面更有五五年以上的使使用經驗。他他曾到很多公公司去推廣自自己的性能測測試模型以及及講解LoaadRunnner課程,對對企業在軟件件測試方面的的需求非常熟熟悉;建華是是在讀研究生生,因此有充充裕的時間來來研究LoaadRunnner的特殊殊應用;小姬
33、姬在性能測試試方面也有著著豐富的經驗驗。相信他們們的這些實踐踐經驗是很多多測試人員急急需的。本書對國內軟件件企業提高性性能測試水平平是很有價值值的。我很高高興能為這本本實戰性非常常強的作品做做序,預祝LLoadRuunner性性能測試實戰戰早日出版版。也希望國國內有更多的的人來關注軟軟件性能測試試,探討解決決軟件亞健康康問題的方法法!北京大學軟件與與微電子學院院副教授北京市軟件促進進中心專家顧顧問 黎黎怡蘭(Meelody Le) HYPERLINK /bookfiles/509/10050917450.shtml 性能測試基本概概念在一些軟件項目目中,項目經經理或測試經經理經常會安安排測試工
34、程程師進行下面面的工作:l 用LoaadRunnner測試系系統的最大并并發用戶數。l 用LoaadRunnner測試系系統8小時的的最大業務吞吞吐量。l 用LoaadRunnner測試系系統的穩定性性與健壯性。l 用LoaadRunnner測試系系統在數據達達到100萬萬條記錄時的的性能。l 用LoaadRunnner測試核核心事務響應應時間是否滿滿足用戶的需需求。可以說,現在很很多IT企業業的性能測試試工作已經離離不開LoaadRunnner了。不不過,盡管使使用了LoaadRunnner這一強強大的工具,很很多企業軟件件產品遇到的的性能問題仍仍未能解決因為僅有有好的測試工工具是不夠的的。
35、除了比較較實用的測試試工具外,要要想做好性能能測試還應該該掌握相關的的理論知識。只只有以堅實的的理論作為實實際工作的依依托,才能讓讓測試工具發發揮出應有的的功效。本章將介紹一些些性能測試的的基礎知識,主主要內容如下下:n 性能測試試基本概念n 全面性能能測試模型n 性能測試試調整基礎n 如何做好好性能測試提示:關于性能能測試理論的的更多內容,可可以參考作者者性能測試方方面的專著WWeb性能測測試實戰,電電子工業出版版社,20006年5月出出版。1.1 性能能測試基本概概念在軟件系統日益益復雜的今天天,性能已經經成為軟件質質量重要的衡衡量標準之一一,這一點尤尤其體現在和和Web相關關的系統上。軟
36、軟件幾乎無處處不在,在給給用戶帶來方方便的同時,也也對開發人員員和測試人員員提出了更高高的要求。性性能測試不但但要求測試人人員具備很強強的技術能力力,還要具備備綜合分析問問題的能力。本本節從性能測測試的概念入入手,強化性性能測試的基基礎知識。1.1.1 什么是性能能測試目前很少能見到到性能測試的的準確定義,但但是性能測試試又似乎是涉涉及范圍非常常廣泛的測試試。壓力測試試、負載測試試、強度測試試、穩定性測測試、健壯性性測試、大數數據量測試都和性能能測試有著密密切的關系。在本書中,主要要從狹義和廣廣義兩方面來來討論性能測測試。狹義的性能測試試主要用于描描述常規的性性能測試,是是指通過模擬擬生產運行
37、的的業務壓力或或用戶使用場場景來測試系系統的性能是是否滿足生產產性能的要求求。例如,以實際投投產環境進行行測試,來求求出最大的吞吞吐量與最佳佳響應時間,以以保證上線的的平穩、安全全等。性能測測試是一種“正正常”的測試試,主要測試試正常使用時時系統是否滿滿足要求,同同時可能為了了保留系統的的擴展空間而而進行的一些些稍稍超出“正正常”范圍的的測試。廣義的性能測試試則是壓力測測試、負載測測試、強度測測試、并發(用用戶)測試、大大數據量測試試、配置測試試、可靠性測測試等和性能能相關的測試試統稱。下面面分別介紹各各類測試的主主要內容和特特點。壓力測試對系統不斷施加加壓力的測試試,是通過確確定一個系統統的
38、瓶頸或不不能接收用戶戶請求的性能能點,來獲得得系統能提供供的最大服務務級別的測試試。例如測試試一個Webb站點在大量量的負荷下,系系統的事務響響應時間何時時會變得不可可接受或事務務不能正常執執行。壓力測試的目的的是發現在什什么條件下系系統的性能變變得不可接受受,并通過對對應用程序施施加越來越大大的負載,直直到發現應用用程序性能下下降的拐點。壓壓力測試和負負載測試有些些類似,但是是通常把負載載測試描述成成一種特定類類型的壓力測測試例如如增加用戶數數量或延長壓壓力時間以對對應用程序進進行壓力測試試。負載測試對系統不斷地增增加壓力或增增加一定壓力力下的持續時時間,直到系系統的一些性性能指標達到到極限
39、,例如如響應時間超超過預定指標標或某種資源源已經達到飽飽和狀態。這這種測試可以以找到系統的的處理極限,為為系統調優提提供依據。壓力測試側重壓壓力大小,而而負載測試往往往強調壓力力持續的時間間。在實際工工作中,沒有有必要嚴格區區分這兩個概概念,有關內內容可以參見見后面1.22節的“全面面性能測試模模型”。強度測試強度測試主要是是為了檢查程程序對異常情情況的抵抗能能力。強度測測試總是迫使使系統在異常常的資源配置置下運行。例例如:l 當正常的的用戶點擊率率為“10000次/秒”時時,運行點擊擊率為“20000次/秒秒”的測試用用例;l 運行需要要最大存儲空空間(或其他他資源)的測測試用例;l 運行可
40、能能導致操作系系統崩潰或磁磁盤數據劇烈烈抖動的測試試用例,等等等。強度測試是一種種特別重要的的測試,對測測試系統的穩穩定性,以及及系統未來的的擴展空間均均具有重要的的意義。在這這種異常條件件下進行的測測試,更容易易發現系統是是否穩定以及及性能方面是是否容易擴展展。疲勞強度測試是是一類特殊的的強度測試,主主要測試系統統長時間運行行后的性能表表現,例如7724小時時的壓力測試試。并發(用戶)測測試主要指當測試多多個用戶并同同時訪問同一一個應用程序序、同一個模模塊或數據記記錄時是否存存在死鎖或其其他性能問題題,幾乎所有有的性能測試試都會涉及并并發測試。在在具體的性能能測試工作中中,并發用戶戶往往都是
41、借借助工具來進進行模擬的,LLoadRuunner中中稱之為并發發虛擬用戶。大數據量測試大數據量測試分分為兩種:一一種是針對某某些系統存儲儲、傳輸、統統計查詢等業業務進行大數數據量的測試試;另一種是是與并發測試試相結合的極極限狀態下的的綜合數據測測試。如專項項的大數據量量測試主要針針對前者,后后者盡量放在在并發測試中中。此外,也也可以把大數數據量測試分分為“運行時時大數據量測測試”與“歷歷史大數據量量測試”來進進行測試用例例設計。配置測試配置測試主要指指通過測試找找到系統各項項資源的最優優分配原則。配配置測試是系系統調優的重重要依據。例例如,可以通通過不停地調調整Oraccle的內存存參數來進
42、行行測試,使之之達到一個較較好的性能。可以看出,配置置測試本質上上是前面提到到的某些種類類的性能測試試組合在一起起而進行的測測試。可靠性測試在給系統加載一一定業務壓力力的情況下,使使系統運行一一段時間,以以此檢測系統統是否穩定。例例如,可以施施加讓CPUU資源保持770%900%使用率的的壓力,連續續對系統加壓壓8個小時,然然后根據結果果分析系統是是否穩定。這么多類型的性性能測試看起起來很嚇人,實實際上它們大大多是密切相相關的。例如如,運行8個個小時來測試試系統是否可可靠,而這個個測試極有可可能包含了可可靠性測試、強強度測試、并并發(用戶)測測試、負載測測試,等等。因此,當實施性性能測試時絕絕
43、不能割裂它它們的內部聯聯系去進行,而而應分析它們們之間的關系系,以一種高高效的方式來來規劃與設計計性能測試。為為此,本書在在1.2節提提出了“全面面性能測試模模型”,以更更好的方式來來開展性能測測試工作。1.1.2 性能測試應應用領域性能測試往往是是為了實現下下面的一個或或幾個目標:l 判定軟件件是否滿足預預期的性能需需求;l 根據測試試結果判定軟軟件的性能表表現;l 查找系統統可能存在的的性能問題,如如果有,則找找出并加以解解決;l 發現一些些應用程序在在功能實現方方面的缺陷;l 對一些存存在性能問題題的系統,找找出瓶頸并加加以解決;l 為用戶部部署系統提供供性能參考;l 通過分析性能測測試
44、的種種目目標,不難總總結出性能測測試主要應用用在幾個領域域中,下面分分別予以介紹紹。系統的性能瓶頸頸定位系統的性能瓶頸頸定位是性能能測試最常見見的應用領域域。借助LooadRunnner等工工具,可以在在測試場景運運行過程中監監控系統資源源、Web服服務器資源等等運行數據,與與響應時間進進行同步分析析,可以在一一定程度上進進行性能瓶頸頸的分析與定定位。系統的參數配置置通過性能測試可可以測試系統統在不同參數數配置下的性性能表現,進進而找出令系系統表現更優優的系統配置置參數,為應應用系統投產產提供最佳配配置建議。實際上,操作系系統、數據庫庫、中間件服服務器等的參參數配置是應應用系統發生生性能問題的
45、的重要原因。例如分配給Orracle的的內存大小與與系統自身的的業務特點有有極大關系,配配置不同的數數據庫,性能能表現就會不不同;而即使使在內存一定定的情況下,SSGA的分配配也會對性能能產生很大的的影響。因此此,要通過測測試,以確定定內存的最佳佳配置。發現一些軟件算算法方面的缺缺陷一些多線程、同同步并發算法法在單用戶模模式下測試是是很難發現問問題的,只有有通過模擬多多用戶的并發發操作,才能能驗證其運行行是否正常與與穩定。例如作者就經歷歷過在一次性性能測試過程程中,測試人人員模擬多個個用戶并發時時發現的一個個明顯的缺陷陷:測試對象象是一個隨機機分配任務的的模塊,只要要有用戶申請請,就會給用用戶
46、分配任務務。這個算法法在單用戶情情況下調試沒沒有任何問題題,但是當多多個用戶同時時申請任務時時,就發生了了把同一任務務分配給多個個不同用戶的的現象。經證證實,這個缺缺陷就是“同同步算法”發發生了問題而而引起的。系統的驗收測試試系統驗收測試經經常會驗證一一些預期的性性能指標,或或者驗證系統統中一些事務務指標是否符符合用戶期望望,這時就需需要借助性能能測試來完成成驗證工作。隨著用戶對性能能的重視,現現在性能測試試幾乎是系統統驗收測試中中必不可少的的內容之一。用用戶甚至自己己進行專門的的性能測試來來驗證系統上上線前的性能能,以保證運運行時的性能能穩定。因此此,性能測試試在用戶驗收收測試中越來來越重要
47、。系統容量規劃通過總結系統在在不同硬件環環境下的性能能表現,可以以為系統部署署時提供非常常好的參考。對對于一些性能能要求較高的的系統,性能能測試可以為為硬件規劃提提供很好的參參考數據,使使用戶在購買買硬件時“有有據可依”。例例如同一系列列機型:兩顆顆CPU系統統支持5000用戶并發、四四顆CPU支支持800用用戶并發,這這些都是用戶戶根據自身需需求來規劃硬硬件的重要依依據。產品評估/選型型產品評估/選型型是性能測試試的又一應用用領域。通過過性能測試,可可以對產品的的軟硬件性能能進行更全面面的評估,選選出更適合自自己的產品類類型。性能測試的應用用領域越來越越廣,因此在在實際工作中中,性能測試試往
48、往會一次次應用在一個個或多個領域域。對于軟件件性能測試設設計人員,應應該根據測試試的具體應用用領域、測試試原則和目標標來進行性能能測試的規劃劃與設計。1.1.3 性能測試常常見術語本節將介紹一些些性能測試中中的常見術語語,只有掌握握這些基礎的的性能測試知知識,才可以以進一步開展展測試工作。性性能測試常見見的術語主要要有并發、并并發用戶數量量、請求響應應時間、事務務響應時間、吞吞吐量、吞吐吐率、TPSS、點擊率、資資源利用率等等,下面分別別介紹它們。并發狹義的并發一般般分兩種情況況。一種是嚴嚴格意義上的的并發,即所所有的用戶在在同一時刻做做同一件事情情或操作,這這種操作一般般針對同一類類型的業務
49、。例例如在信用卡卡審批業務中中,一定數目目的用戶在同同一時刻對已已經完成的審審批業務進行行提交(操作作的不是同一一記錄);還還有一種是特特例,即所有有用戶進行完完全一樣的操操作,目的是是測試數據庫庫和程序對并并發操作的處處理。例如在在信用卡審批批業務中,所所有的用戶可可以一起申請請業務,或者者修改同一條條記錄。另外一種并發是是廣義的并發發。這種并發發與狹義的并并發的區別是是盡管多個用用戶對系統發發出了請求或或進行了操作作,但是這些些請求或操作作可以是相同同的,也可以以是不同的。對對整個系統而而言,仍然有有很多用戶同同時對系統進進行操作,因因此,仍然屬屬于并發的范范疇。可以看出,廣義義的并發是包
50、包含狹義的并并發的,而且且廣義的并發發更接近用戶戶的實際使用用情況,因為為對大多數系系統而言,只只有數量很少少的用戶進行行“嚴格意義義上的并發”。對對于性能測試試而言,這兩兩種并發一般般都需要進行行測試,通常常做法是先進進行嚴格意義義上的并發測測試。嚴格意意義上的并發發一般發生在在使用比較頻頻繁的模塊中中,盡管發生生的概率不是是特別高,但但是一旦發生生性能問題,后后果很可能是是致命的。嚴嚴格意義上的的并發測試往往往和功能測測試關聯起來來,因為只要要并發功能遇遇到異常通常常都是程序的的問題,這種種測試也是健健壯性和穩定定性測試的一一部分。并發用戶數量關于并發用戶的的數量,有兩兩種常見的錯錯誤觀點
51、。一一種錯誤觀點點是把并發用用戶數量理解解為使用系統統的全部用戶戶的數量,理理由是這些用用戶可能同時時使用系統;還有一種比比較接近正確確的觀點是把把用戶在線數數量理解為并并發用戶數量量。實際上,在在線用戶不一一定會和其他他用戶發生并并發,例如正正在瀏覽網頁頁信息的用戶戶,對服務器器是沒有任何何影響的。但但是,用戶在在線數量是統統計并發用戶戶數量的主要要依據之一。并發主要針對服服務器而言,是是否并發的關關鍵是看用戶戶的操作是否否對服務器產產生了影響。因因此,并發用用戶數量的正正確理解是,在在同一時刻與與服務器進行行交互的在線線用戶數量。這這些用戶的最最大特征是和和服務器發生生了交互,這這種交互既
52、可可以是單向傳傳送數據的,也也可以是雙向向傳送數據的的。并發用戶數量的的統計方法目目前還沒有準準確的公式,因因為不同的系系統會有不同同的并發特點點。例如OAA系統統計并并發用戶數量量的經驗公式式為:使用系系統的用戶數數量(520)。對對于這個公式式,沒有必要要拘泥于計算算出的結果,因因為為了保證證系統的擴展展空間,測試試時的并發用用戶數量都會會稍稍大一些些,除非要測測試系統能承承受的最大并并發用戶數量量。舉例說明明:如果一個個OA系統的的期望用戶為為1 0000個,只要測測試出系統能能支持2000個并發用戶戶就可以了。請求響應時間請求響應時間是是指從客戶端端發出請求到到得到響應的的整個過程的的
53、時間。這個個過程從客戶戶端發送一個個請求開始計計時,到客戶戶端接到從服服務器端返回回的響應結果果計時結束。在在某些工具中中,請求響應應時間通常會會被稱為“TTTLB”,即即“Timee to llast bbyte”,意意思是從發送送一個請求開開始,到客戶戶端收到最后后一個字節的的響應為止所所耗費的時間間。請求響應應時間的單位位一般為“秒秒”或“毫秒秒”。請求響響應時間的分分解如圖1-1所示。圖1-1 WWeb請求過過程分解圖從圖1-1可以以看出,請求求響應時間為為“網絡響應應時間”和“應應用程序與系系統響應時間間”之和,具具體由7個部部分組成,即即(N1+NN2+N3+N4)+(A1+A22
54、+A3)。事務響應時間事務可能由一系系列請求組成成,事務的響響應時間主要要針對用戶而而言,屬于宏宏觀上的概念念,是為了向向用戶說明業業務響應時間間而提出的。例例如:跨行取取款事務的響響應時間就是是由一系列的的請求組成的的。事務響應應時間和后面面的業務吞吐吐率都是直接接衡量系統性性能的參數。吞吐量指在一次性能測測試過程中網網絡上傳輸的的數據量的總總和。吞吐量量/傳輸時間間,就是吞吐吐率。吞吐率(Thrroughpput)通常用來指單位位時間內網絡絡上傳輸的數數據量,也可可以指單位時時間內處理的的客戶端請求求數量。它是是衡量網絡性性能的重要指指標。但是從用戶或業業務角度來看看,吞吐率也也可以用“請
55、請求數/秒”或或“頁面數/秒”、“業業務數/小時時或天”、“訪訪問人數/天天”、“頁面面訪問量/天天”來衡量。例例如在銀行卡卡審批系統中中,可以用“千千件/每小時時”來衡量系系統的業務處處理能力。TPS(Traansacttion PPer Seecond)每秒鐘系統能夠夠處理的交易易或事務的數數量。它是衡衡量系統處理理能力的重要要指標。TPPS是LoaadRunnner中重要要的性能參數數指標。點擊率(Hitt Per Seconnd)每秒鐘用戶向WWeb服務器器提交的HTTTP請求數數。這個指標標是Web應應用特有的一一個指標:WWeb應用是是“請求-響響應”模式,用用戶發出一次次申請,服
56、務務器就要處理理一次,所以以“點擊”是是Web應用用能夠處理交交易的最小單單位。如果把把每次點擊定定義為一次交交易,點擊率率和TPS就就是一個概念念。不難看出出,點擊率越越大,對服務務器的壓力也也越大。點擊擊率只是一個個性能參考指指標,重要的的是分析點擊擊時產生的影影響。需要注意的是,這這里的點擊不不是指鼠標的的一次“單擊擊”操作,因因為在一次“單單擊”操作中中,客戶端可可能向服務器器發出多個HHTTP請求求。資源利用率資源利用率指的的是對不同系系統資源的使使用程度,例例如服務器的的CPU利用用率、磁盤利利用率等。資資源利用率是是分析系統性性能指標進而而改善性能的的主要依據,因因此,它是WWe
57、b性能測測試工作的重重點。資源利用率主要要針對Webb服務器、操操作系統、數數據庫服務器器、網絡等,是是測試和分析析瓶頸的主要要參數。在性性能測試中,要要根據需要采采集具體的資資源利用率參參數來進行分分析。 HYPERLINK /bookfiles/509/10050917451.shtml 1.2 全面性性能測試模型型 1.2 全面面性能測試模模型通過前面的內容容可以看出,性性能測試的很很多內容都是是關聯的。這這就提供了一一條思路:性性能測試的很很多內容可以以經過一定的的組織來統一一進行。統一一開展性能測測試的最大好好處是,可以以按照由淺入入深的層次對對系統進行測測試,進而減減少不必要的的工
58、作量,以以實現節約測測試成本的目目的。為此,本本書提出了“全全面性能測試試模型”。“全面性能測試試模型”提出出的主要依據據是:一種類類型的性能測測試可以在某某些條件下轉轉化成為另一一種類型的性性能測試,而而這些測試的的實施方式很很類似。例如如:對一個網網站進行測試試,模擬100個到50個個用戶就是常常規的性能測測試。當用戶戶增加到10000乃至上上萬時就變成成了壓力/負負載測試。如如果同時對系系統進行大量量的數據查詢詢操作,就包包含了大數據據量測試。在“全面性能測測試模型”中中,把常見的的性能測試分分為8個類別別,然后結合合測試工具把把性能測試用用例歸納為55類來進行設設計。下面首首先介紹這8
59、8個性能測試試類別的主要要內容:預期指標的性能能測試系統在需求分析析和設計階段段都會提出一一些性能指標標,完成和這這些指標相關關的測試是性性能測試的首首要工作。本本模型把針對對預先確定的的一些性能指指標而進行的的測試稱為預預期指標的性性能測試。這些指標主要指指諸如“系統統可以支持11000個并并發用戶”、“系系統響應時間間不得長于110秒”等這這些在產品說說明書等文檔檔中規定得十十分明確的內內容。對這種種預先承諾的的性能要求,測測試小組應該該首先進行測測試驗證。獨立業務性能測測試獨立業務實際是是指一些與核核心業務模塊塊對應的業務務,這些模塊塊通常具有功功能比較復雜雜、使用比較較頻繁、屬于于核心
60、業務等等特點。這類類特殊的、功功能比較獨立立的業務模塊塊始終都是性性能測試的重重點。因此,不不但要測試這這類模塊和性性能相關的一一些算法,還還要測試這類類模塊對并發發用戶的響應應情況。核心業務模塊在在需求設計階階段就可以確確定,在集成成或系統測試試階段開始單單獨測試其性性能。如果是是系統類軟件件或特殊應用用領域的軟件件,通常從單單元測試階段段就開始進行行測試,并在在后繼的集成成測試、系統統測試、驗收收測試中進一一步進行,以以保證核心業業務模塊的性性能穩定。何何時開始測試試核心模塊主主要由性能測測試策略決定定,讀者可以以參考1.22.2節“性性能測試用例例模型”部分分。組合業務性能測測試通常所有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創新醫學教育培養未來醫療領袖力量
- 分布式技術在教育領域的應用及實施路線
- 健康心理教育與患者生活質量改善的研究
- 全員參與下的醫療設備使用效率提升探討
- 為商業生態注入透明和信任如何通過區塊鏈改善企業合作體驗
- 從無序到有序構建基于區塊鏈的商業合作新秩序研究
- 辦公健康管理中的醫療保險應用研究
- 票據培訓課件
- 利用區塊鏈保護醫療數據隱私的實踐與思考
- 農園用金屬工具制造企業縣域市場拓展與下沉戰略研究報告
- 2025年中考英語押題預測卷(蘇州專用)(原卷版)
- 初級出版專業技術人員職業資格真題答案解析2024
- 遼寧省部分示范性高中2025屆高三下學期4月模擬聯合調研數學試題(無答案)
- 二零二五協警聘用合同范文
- CT引導下經皮胃造瘺術專家共識(2025版)解讀課件
- 防雷安全知識培訓課件
- 醫療設備租賃服務及安全措施
- 2024年美容師考試相關法律法規解讀試題及答案
- 2024年山東司法警官職業學院招聘考試真題
- 產房護理人文關懷課件
- 2025年新版勞動合同范本
評論
0/150
提交評論