性能測試及其實施過程_第1頁
性能測試及其實施過程_第2頁
性能測試及其實施過程_第3頁
性能測試及其實施過程_第4頁
性能測試及其實施過程_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1. 什么是性能測試 21.1. 能評測 21.2. 性能調(diào)優(yōu) 22. 性能測試的目的 23. 何時進行性能測試 34. 性能測試的關(guān)鍵步驟 34.1. 影響系統(tǒng)性能因素分析 34.2. 測試前需搜集的信息 34.3. 測試過程中的信息收集 44.4. 關(guān)鍵點性能診斷 44.5. 瓶頸分析 54.6. 調(diào)優(yōu)方案的制定 55. 性能測試的實施步驟 65.1. 性能測試實施步驟概述 6性能測試實施步驟 6性能測試及其實施過程- 魏靖 QQ: 381557174Weijing518200 前言:最近我對性能測試過程有了全新的認識, 也有了很大的收獲, 其中最大的收獲是使我有 了在進行性能測試之前對影

2、響系統(tǒng)性能的因素進行分析的意識, 這種意識的產(chǎn)生是我做性能 測試工作從理論走向?qū)嵺`的第一步。1. 什么是性能測試系統(tǒng)的性能是一個比較大的概念, 覆蓋面非常廣泛, 對于軟件系統(tǒng)來說, 包括執(zhí)行效率、 穩(wěn)定性、安全性、兼容性、資源占用情況、可靠性和可擴展性等。性能測試用來保證產(chǎn)品發(fā) 布后系統(tǒng)的性能能夠滿足用戶的需求。 性能測試在軟件質(zhì)量保證中起重要作用。 通常情況下 存在性能調(diào)優(yōu)和性能評測兩種性能測試策略。1.1. 能評測性能評測主要包括下面兩項內(nèi)容: 在真實環(huán)境下,檢查系統(tǒng)服務等級的滿足情況,評價并報告整個系統(tǒng)的性能。 對系統(tǒng)的未來容量做出預測和規(guī)劃。需要指出的是這里的“容量”是指系統(tǒng)性能的 擴

3、展情況。性能評測是性能調(diào)優(yōu)的基礎(chǔ),性能評測能為性能調(diào)優(yōu)提供方向性依據(jù)。1.2. 性能調(diào)優(yōu)性能調(diào)優(yōu)的步驟:查找形成系統(tǒng)瓶頸或者故障的根本原因;進行性能調(diào)整和優(yōu)化;評估性能調(diào)整的結(jié)果;需要注意的是通常為了實現(xiàn)目標性能調(diào)優(yōu)的過程通常是上述幾個步驟循環(huán)執(zhí)行的過程。我們通常為了達到以下目標而2. 性能測試的目的性能測試的最終目的是為了最大限度的滿足用戶的需求,進行性能測試:評價軟件系統(tǒng)當前的性能。(在真實環(huán)境下,檢查系統(tǒng)服務等級的滿足情況,評價 并報告整個系統(tǒng)的性能。) 預測軟件系統(tǒng)未來性能,即根據(jù)當前測試環(huán)境的配置情況下獲得的性能參數(shù),對未 來軟件系統(tǒng)在實際運行環(huán)境下的性能情況進行預測。尋找瓶頸,進行

4、系統(tǒng)調(diào)優(yōu)。即通過性能測試找出影響系統(tǒng)整體性能的關(guān)鍵步驟或過 程,為系統(tǒng)調(diào)優(yōu)提供方向性依據(jù)。3. 何時進行性能測試對測試人員來說, 在產(chǎn)品的功能穩(wěn)定下來后, 就應該盡早開始對產(chǎn)品進行性能測試。 此我所想強調(diào)的是進行性能測試的前提是功能的穩(wěn)定, 在軟件功能不穩(wěn)定或功能不確定的情 況下進行性能測試實施是比較困難的,測試結(jié)論也不太可靠。4. 性能測試的關(guān)鍵步驟4.1. 影響系統(tǒng)性能因素分析4.1.1.硬件服務器網(wǎng)絡設(shè)備(交換機、防火墻、路由器、網(wǎng)絡是否暢通、進出規(guī)則是什么?)其他外圍設(shè)備4.1.2.軟件內(nèi)部應用軟件(測試主體)第三方應用系統(tǒng)軟件(中間件、數(shù)據(jù)庫、 web 服務器)4.1.3.系統(tǒng)其他配

5、置或處理機制Session 復制 / 同步機制會話保持機制F5 分發(fā)、重定向機制4.2. 測試前需搜集的信息內(nèi)部應用信息內(nèi)部應用實現(xiàn)邏輯、算法、應用架構(gòu)圖接口方式、異常處理、網(wǎng)絡協(xié)議4.2.1.配置信息軟件配置.1 中間件配置Java 虛擬機配置連接數(shù)配置.2 數(shù)據(jù)庫配置數(shù)據(jù)庫連接數(shù)連接池硬件配置4.2.2.網(wǎng)絡設(shè)備服務器及網(wǎng)路拓撲圖防火墻網(wǎng)絡設(shè)備配置信息4.3. 測試過程中的信息收集在性能測試過程中我們要注意對以下信息進行收集:客戶端性能指標,如:并發(fā)用戶數(shù)、每分鐘的交易數(shù)、響應時間、吞吐量等。 非客戶端的性能指標,如操作系統(tǒng)、數(shù)據(jù)庫服

6、務器、中間件、網(wǎng)絡狀況。4.4. 關(guān)鍵點性能診斷響應時間并發(fā)用戶量吞吐量Cpu內(nèi)存高速緩存磁盤及外設(shè)中間件服務器性能數(shù)據(jù)庫服務器性能等4.5. 瓶頸分析對系統(tǒng)瓶頸分析時我們通常從以下角度去分析:客戶端 網(wǎng)絡 服務器 硬件 軟件 應用軟件 web 服務器 數(shù)據(jù)庫服務器4.5.1.常用尋找瓶頸方法分解時序時序分解就是通過分析一個處理過程中各個環(huán)節(jié),找出處理過程中的異常環(huán)節(jié)范圍界定范圍界定是通過逐步擴大或縮小測試范圍, 將對系統(tǒng)性能影響的因素鎖定在一定的范圍 之內(nèi),在這個范圍內(nèi)進行瓶頸查找。4.6. 調(diào)優(yōu)方案的制定通常我們從以下角度去制定系統(tǒng)調(diào)優(yōu)方案:4.6.1.硬件平臺

7、服務器Cpu 內(nèi)存 硬盤4.6.2.網(wǎng)絡狀況帶寬負載網(wǎng)絡延遲傳輸故障4.6.3.軟件平臺數(shù)據(jù)庫中間件4.6.4.應用級別線程級別會話級別代碼級別5. 性能測試的實施步驟5.1. 性能測試實施步驟概述概括來說性能測試的實施步驟是以下步驟循環(huán)執(zhí)行的過程:測試工具制定測試計劃T測試需求分析T測試案例制定T測試環(huán)境配置(包括軟硬件環(huán)境、等)7錄制測試腳本T設(shè)計測試場景T執(zhí)行測試T獲取測試結(jié)果T測試結(jié)果評估和測試報告 T制定測試計劃T測試需求分析T 5.2. 性能測試實施步驟5.2.1.測試計劃的編寫過程分析應用程序應用程序分析可以確保使用的測試環(huán)境能夠在測試中精確的反映應用程序的環(huán)境和配

8、 置。通常我們要從以下幾個方面對應用程序的分析:.1 系統(tǒng)組件如客戶機網(wǎng)絡中間件和服務器等建議繪制一份應用程序結(jié)構(gòu)示意圖。.2 系統(tǒng)配置連接系統(tǒng)的用戶數(shù) 應用程序客戶端以及服務器的配置情況(包括軟件配置和硬件配置) 數(shù)據(jù)庫服務器和 web 服務器的類型(硬件、數(shù)據(jù)庫類型、操作系統(tǒng)、文件服務器等) 服務器與客戶端之間的通信方式服務器和客戶端之間的中間件配置和應用服務器 可能影響響應時間的其他網(wǎng)絡組件(如調(diào)制解調(diào)器等) 通信設(shè)備的情況.3 應用程序使用模型分析哪些用戶使用該系統(tǒng) 每種用戶的數(shù)量及主要業(yè)務類型業(yè)務處理分布情況等 通過對應用程序使用模型的分析我

9、們可以確定需要重點測試的功能。定義測試目標簡單的說也就是我們要獲取哪些性能參數(shù)或指標。方案實施計劃.1 定義性能度量的范圍度量應用程序中不同點的響應時間, 并根絕測試目標確定在哪里運行 vuser (虛擬用戶 ),已經(jīng)運行哪些 vuser..2 定義 vuser 測試需求分析活動根據(jù)對 vuser 類型的分析以及他們的典型任務和測試目標來創(chuàng)建 vuser 腳本。.3 選擇 vuser使用多少 gui 用戶來模擬每一種類型的典型用戶連接等。.4 選擇測試軟件和硬件軟件和硬件應該具有強大的性能和足夠快的運行速度,以

10、模擬所需數(shù)量的虛擬用戶。測試檢查目標計劃度量最終用戶的響應時間 定義最優(yōu)的硬件配置檢查可靠性硬件或軟件升級對系統(tǒng)的影響對新產(chǎn)品評估確定瓶頸度量系統(tǒng)容量5.2.2.測試需求分析測試的對象是什么?系統(tǒng)配置如何?應用系統(tǒng)的使用模式是什么?5.2.3.測試案例的制定測試策略:對比測試環(huán)境和真實業(yè)務測試環(huán)境,真實業(yè)務操作環(huán)境又可能涉及局域 網(wǎng)環(huán)境和機房的是環(huán)境等。測試案例:一個測試案例通常包含的內(nèi)容有,案例名稱、并發(fā)用戶數(shù)、網(wǎng)絡環(huán)境、 數(shù)據(jù)量、備注等。測試內(nèi)容:測試內(nèi)容一般包括并發(fā)性能測試、疲勞強度測試、大數(shù)據(jù)量測試和系統(tǒng) 資源監(jiān)控等。5.2.4.測試環(huán)境、測試工具、和測試數(shù)據(jù)準備測試環(huán)境

11、直接影響測試效果,所有的測試結(jié)果都是在一定的軟硬件環(huán)境約束下的結(jié)果, 測試環(huán)境不同,測試結(jié)果可能會有不同。測試環(huán)境的準備.1 測試環(huán)境的基本原則要滿足軟件運行的最低要求,不一定選擇將要部署的環(huán)境; 選用與被測系統(tǒng)相一致的操作系統(tǒng)和軟件平臺; 營造相對獨立的測試環(huán)境,即不受其他因素的干擾; 無毒環(huán)境;.2 性能測試環(huán)境準備時需要的注意事項如果是完全真實的應用運行環(huán)境,要盡可能降低測試對現(xiàn)有業(yè)務的影響; 如果建立近似的真實環(huán)境,首先要達到服務器、數(shù)據(jù)庫、以及中間件的真實,并且 要有一定的數(shù)據(jù)量,客戶端可以次要考慮; 必須考慮測試工具的硬件和軟件配置要求;

12、測試和環(huán)境中應該包括安裝、備份、及恢復過程。.3 測試環(huán)境配置操作系統(tǒng)的版本(包括各種服務及安裝補丁版本) ;網(wǎng)絡軟件的版本;傳輸協(xié)議;服務器及工作站配置;測試工具配置;.4 良好測試環(huán)境的標準保證達到測試執(zhí)行的技術(shù)需求;保證得到穩(wěn)定的、可重復的、正確的測試結(jié)果;測試工具的準備網(wǎng)絡協(xié)議的選擇測試工具中的協(xié)議是指工具提供給我們的測試接口, 也可以認為測試類型。 客戶端于服務器之間的通信協(xié)議是選擇測試協(xié)議的唯一標準。常見的錯誤認識: B/S 運行模式用的一定是 http 協(xié)議, C/S 運行模式用的一定是 Winsocket 協(xié)議。5.2.4

13、.4測試數(shù)據(jù)的準備實施性能測試時, 需要運行系統(tǒng)相關(guān)的業(yè)務, 這時需要一些數(shù)據(jù)支持才可以運行業(yè)務,這部分數(shù)據(jù)即為測試數(shù)據(jù)。5.2.5.測試腳本的錄制和編輯調(diào)試錄制腳本是要注意錄制用戶在客戶端應用程序中執(zhí)行的典型業(yè)務流程。 腳本越小運行效 率越高,不建議錄制包含多個業(yè)務處理過程的大腳本。測試腳本分配所遵循的幾個原則腳本是越小越好,就像寫 code 一樣的,不要太長,盡量做到一個功能(Transaction)一個腳本。如果有些功能是連續(xù)的,必須先做上一個,才能工作下一個,那就只好 放在一起了。要結(jié)合用戶實際使用情況,一般在一個系統(tǒng)中是多個用戶使用多個功能,某些功能 使用的頻率更大一些

14、,我們在錄制腳本之前就要設(shè)計好,某個腳本會跑幾個用戶,一共需要多少個腳本,能滿足性能測試的需求有些人喜歡在 LR 中測試幾乎所有的功能,其實這樣不合適,我們把最常用的、使用頻率最高的、最多人用的拿出來測試。對腳本的編輯過程中需要注意的幾個概念事務:事務(Transaction)是這樣一個點,我們?yōu)榱撕饬磕硞€action的性能,需要在action 的開始和結(jié)束位置插入這樣一個范圍,這樣就定義了一個transaction,LoadRunner 運行到該事務的開始點時, LoadRunner 就會開始計時,直到運行到該 事務的結(jié)束點,計時結(jié)束。這個事務的運行時間在結(jié)果中會有反映。插入事

15、務操作 可以在錄制過程中進行,也可以在錄制結(jié)束后進行。 LoadRunner 運行在腳本中插入 不限數(shù)量的事務。 比如一個單據(jù) ,把從登錄到保存成功退出整個作為一個腳本,對于需要關(guān)注的保存 ,輸入的幫助定義為單獨的事務,以取得響應時間, 需要響應時間的設(shè)事務。集合點: 集合點是一個并發(fā)訪問的點, 在測試計劃中, 可能會要求系統(tǒng)能夠承受 1000 人同時提交數(shù)據(jù), 在 LoadRunner 中可以通過在提交數(shù)據(jù)操作前面加入集合點, 這樣 當虛擬用戶運行到提交數(shù)據(jù)的集合點時, LoadRunner 就會檢查同時有多少用戶運行 到集合點, 如果不到 1000 人, LoadRunner 就會命令已經(jīng)

16、到集合點的用戶在此等待, 當在集合點等待的用戶達到 1000 人時, LoadRunner 命令 1000 人同時去提交數(shù)據(jù), 并發(fā)訪問的目的。注意: 集合點經(jīng)常和事務結(jié)合起來使用, 常放在事務的前面, 集合點只能插入到 Action 部分, vuser_init 和 vuser_end 中不能插入集合點。檢查點:(Text/lmage)檢查點對于查詢類的腳本,一定要添加檢查點,以保證在測試時結(jié)果的正確性因為LR只要檢測到網(wǎng)頁的響應,就認為是pass而并不管當前網(wǎng)頁內(nèi) 容的正確性 在進行壓力測試時, 為了檢查 Web 服務器返回的網(wǎng)頁是否正確, VuGen 允許我們插入 Text/lmag 檢

17、查點,這些檢查點驗證網(wǎng)頁上是否存在指定的 Text 或者 Image,還可以測試在比較大的壓力測試環(huán)境中,被測的網(wǎng)站功能是否保持正確。關(guān)聯(lián): 在腳本回放過程中, 客戶端發(fā)出請求, 通過關(guān)聯(lián)函數(shù)所定義的左右邊界值 (也 就是關(guān)聯(lián)規(guī)則),在服務器所響應的內(nèi)容中查找,得到相應的值,已變量的形式替 換錄制時的靜態(tài)值,從而向服務器發(fā)出正確的請求,這種動態(tài)獲得服務器響應內(nèi)容 的方法被稱作關(guān)聯(lián)。 當客戶端的某個請求是隨著服務器端的相應而動態(tài)變化的時候, 我們就需要用到關(guān)聯(lián)。如:客戶端發(fā)出獲得登錄頁面的請求服務器端得到該請求后, 返回登錄頁面,同時動態(tài)生成一個 Session Id 當用戶輸入用戶名密碼,請求

18、登錄時, 該 Session Id 同時被發(fā)送到服務器端如果該 Session Id 在當前會話中有效,那么返回 登錄成功的頁面,如果不正確則登錄失敗在第一次錄制過程中l(wèi)oadrunner 把這個值記錄了下來,寫到了腳本中,但再次回放時,客戶端發(fā)出同樣的請求,而服務器端 再一次動態(tài)的生成了 Session Id,此時客戶端發(fā)出的請求就是錯誤的,為了獲得這個 動態(tài)的 Session Id 我們這里用到了關(guān)聯(lián)。參數(shù)化: 函數(shù)中參數(shù)的值就是在錄制過程中輸入的實際值。 例如,你錄制了一個 Web 應用程序的腳本。 腳本生成器生成了一個聲明, 該聲明搜索名稱為 “軟件測試” 的 圖書的數(shù)據(jù)庫。當你用多個

19、虛擬用戶和迭代回放腳本時,也許你不想重復使用相同 的值“軟件測試”,還需要其他的值如“項目管理”。例如平常經(jīng)常用到的,登陸 界面輸入用戶名和密碼,那么,你就可以用參數(shù)來取代這個常量。結(jié)果就是你可以 用指定的數(shù)據(jù)源的數(shù)值來取代參數(shù)值。數(shù)據(jù)源可以是一個文件,也可以是內(nèi)部產(chǎn)生 的變量。5.2.6.場景制定創(chuàng)建 Vuser 組方案由 Vuser 組構(gòu)成, Vuser 模擬與應用程序進行交互的實際用戶。運行方案時 Vuser 會在服務器上生成負載,測試工具會監(jiān)視服務器和事務性能。配置 Vuser 中的 Vuser其實就是為定義的 Vuser組中的各個 Vuser定義屬性。對于每個 Vuser,可以分配不同的腳本和負載生成器計算機。配置 Vuser 運行時的設(shè)置也就是對腳本運行時的情況進行設(shè)置。配置負載生成器指出哪些負載生成器將在方案中運行Vuser。配置終端服務設(shè)置5.2.7.測試執(zhí)行運行場景在執(zhí)行期間察看 Vuser5.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論