性能測試的目的_第1頁
性能測試的目的_第2頁
性能測試的目的_第3頁
性能測試的目的_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、軟件性能測試國軟件性能測試的目的:為了驗(yàn)證系統(tǒng)是否達(dá)到用戶提出的性能指標(biāo),同時發(fā)現(xiàn)系統(tǒng)中存在的性能瓶頸,起到優(yōu)化系統(tǒng)的目的。軟件性能測試的基本概念:軟件性能測試,英文是Performanee Testi ng。軟件性能測試是在交替進(jìn)行負(fù)荷和強(qiáng)迫測試時常用的術(shù)語。理想的“軟件性 能測試”(和其他類型的測試)應(yīng)在需求文檔或質(zhì)量保證、測試計劃中定義。軟件 性能測試一般包括負(fù)載測試和軟件壓力測試。通常驗(yàn)證軟件的性能在正常環(huán)境和系統(tǒng)條件下重復(fù)使用是否還能滿足性能 指標(biāo)?;蛘邎?zhí)行同樣任務(wù)時新版本不比舊版本慢。 一般還檢查系統(tǒng)記憶容量在運(yùn) 行程序時會不會流失(memory leak)。比如,驗(yàn)證程序保存一個

2、巨大的文件新版 本不比舊版本慢。軟件性能測試的幾種方法1. SEI負(fù)載測試計劃過程目標(biāo):產(chǎn)生一個清晰、好理解、可驗(yàn)證的負(fù)載測試計劃內(nèi)容:關(guān)注6個區(qū)域:目標(biāo)、用戶、用例、生產(chǎn)環(huán)境、測試環(huán)境、測試場景工具:IBM、HR OpenSource工具都支持。需有文檔配合2. RBI方法目標(biāo):快速識別性能瓶頸內(nèi)容:重點(diǎn)測試“吞吐量”指標(biāo),因?yàn)?RBI認(rèn)定80%勺系統(tǒng)性能瓶頸由吞吐 量造成。按照網(wǎng)絡(luò)、硬件、數(shù)據(jù)庫、應(yīng)用服務(wù)器、代碼的順序自上而下分析性能工具:IBM、HR OpenSource工具都支持。需使用分析模塊、根據(jù) Weblogic、 Oracle區(qū)別有專門的工具實(shí)現(xiàn)RBI。3. 性能下降曲線分析法

3、目標(biāo):性能隨著用戶數(shù)的增加而出現(xiàn)下降趨勢的曲線分析、查看性能下降的環(huán)境點(diǎn)與上下文。確定性能閥值。內(nèi)容:通過單用戶區(qū)域、性能平坦區(qū)域、壓力區(qū)域、性能拐點(diǎn)進(jìn)行監(jiān)控和分 析。工具:IBM、HR OpenSource工具都支持。IBM報表功能更強(qiáng)。4. HP(LoadRuner)性能分析法特點(diǎn):側(cè)重于該廠商的性能分析方法、主要體現(xiàn)在需求收集、VU腳本。軟件性能測試的幾個階段:對于互聯(lián)網(wǎng)應(yīng)用軟件,性能是其質(zhì)量的一個非常重要的組成部分。作為解決 軟件性能問題的重要手段,軟件軟件性能測試已經(jīng)廣為人們所熟悉, 并受到很高 的關(guān)注。一般而言,軟件性能測試都是在項(xiàng)目的后期才開展,被測試的對象通常是已經(jīng)具備一定穩(wěn)定

4、性的產(chǎn)品。而實(shí)際上,軟件性能測試應(yīng)貫穿于整個軟件生命 周期中,和功能測試一樣,軟件性能測試也分為幾個階段。軟件生命周期與軟件性能測試不論哪種軟件生命周期模型,需求分析、設(shè)計、編碼、測試和運(yùn)行維護(hù)這幾 個階段都是其中的基本要素,只是在不同的軟件生命周期模型中可能迭代、 合并、 拆分或重組這幾個階段,在此不做過多的描述。與其他幾個階段相對應(yīng),測試從 軟件開發(fā)過程按階段可以劃分為:單元測試、集成測試、系統(tǒng)測試,在其他的書 上可能還能見到諸如確認(rèn)測試、 驗(yàn)收測試等名詞, 但是前 3 種測試確實(shí)是最基本 的測試活動,而其他的測試活動只是在某些軟件開發(fā)過程中會發(fā)生。值得注意的是, 通常在談?wù)搯卧獪y試、 集

5、成測試和系統(tǒng)測試時, 其實(shí)僅僅談 論的是不同階段的功能測試 ; 而當(dāng)討論軟件性能測試時,絕大多數(shù)的情況是,一 個已經(jīng)開發(fā)完畢或基本開發(fā)完畢的軟件, 測試人員用一種或幾種軟件性能測試工 具,以盡量模擬真實(shí)用戶行為的方式對該軟件進(jìn)行并發(fā)操作, 收集并比較不同場 景的結(jié)果, 然后對軟件的性能進(jìn)行分析, 這個活動通常發(fā)生在系統(tǒng)測試階段, 甚 至更往后的階段,如運(yùn)行維護(hù)階段。一直以來, 軟件性能測試跟單元測試、 集成測試似乎都是絕緣的。 可是它們 真的應(yīng)該是絕緣的嗎 ?沒有任何理由可以說明軟件性能測試跟單元測試、集成測 試無關(guān),除非你認(rèn)為“這太難了,我不會做”。軟件性能測試的幾個術(shù)語1. 響應(yīng)時間 我把

6、“響應(yīng)時間”的概念確定為“對請求作出響應(yīng)所需要的時間”, 把響應(yīng) 時間作'為用戶視角的軟件性能的主要體現(xiàn)。響應(yīng)時間劃分為“呈現(xiàn)時間”和 “系統(tǒng)響應(yīng)時間”兩個部分。其中“呈現(xiàn)時間”取決于數(shù)據(jù)在被客戶端收到響應(yīng)數(shù)據(jù)后呈現(xiàn)頁面所消耗 的時間、而“響應(yīng)時間”指J2EE應(yīng)用服務(wù)器從請求發(fā)出開始到客戶端接受到數(shù) 據(jù)所消耗的時間。 軟件性能測試一般不關(guān)注“呈現(xiàn)時間”, 因?yàn)槌尸F(xiàn)時間很大程 度上取決于客戶端的表現(xiàn)。 在這里我們沒有使用很多軟件性能測試定義中的概念 “系統(tǒng)響應(yīng)時間”定義為“應(yīng)用系統(tǒng)從請求發(fā)出開始到客戶端接收到最后 一個字節(jié)數(shù)據(jù)所消耗的時間”, 沒有使用這種標(biāo)準(zhǔn)的原因是, 可以使用一些編程

7、 技巧在數(shù)據(jù)尚未完全接收完成時進(jìn)行呈現(xiàn)來減少用戶感受到的響應(yīng)時間,對于 HNDLZCGLXT這個項(xiàng)目中,我們針對 C/S系統(tǒng)采用前者標(biāo)準(zhǔn),對于 B/S我們依 然采用后一種標(biāo)準(zhǔn)。2. 并發(fā)用戶數(shù)我把“并發(fā)用戶數(shù)”與“同時在線數(shù)”進(jìn)行區(qū)別對待, 我的“并發(fā)用戶數(shù)” 的標(biāo)準(zhǔn)是:并發(fā)用戶數(shù)取決于測試對象的目標(biāo)業(yè)務(wù)場景, 因此,在確定這個“并 發(fā)用戶數(shù)”前,必須(必要)先對用戶的業(yè)務(wù)進(jìn)行分解、 分析出典型的業(yè)務(wù)場景 (也 就是用戶最常使用、 最關(guān)注的業(yè)務(wù)操作 ) ,然后基于場景采用某些方法 (有多種計 算并發(fā)用戶數(shù)的數(shù)學(xué)模型與公式 )獲得“并發(fā)用戶數(shù)”。這樣做的原因是:假設(shè)一個應(yīng)用系統(tǒng)、最高峰有 500

8、 人同時在線、但這 500 人卻不是并發(fā)用戶數(shù)、因?yàn)榧僭O(shè)在一個時間點(diǎn)上、有 50%的人在填寫復(fù)雜的表格 ( 填寫表格動作對服務(wù)器沒有任何負(fù)擔(dān)、只有在“提交”動作的時候才會對服務(wù) 器系統(tǒng)構(gòu)成壓力 )、有 40%的人在不停的從一個頁面跳轉(zhuǎn)到另外一個頁面 ( 不停發(fā) 出請求與回應(yīng)、產(chǎn)生服務(wù)器壓力 )、還有 10%的人掛在線上,沒有任何操作在發(fā) 呆:)( 沒有對服務(wù)器構(gòu)成壓力的動作 ) 。因此只有那 40%的人真正對服務(wù)器產(chǎn)生 了壓力,從這里例子可以看出、 并發(fā)用戶數(shù)關(guān)心的是不但是業(yè)務(wù)并發(fā)用戶數(shù)、 還 取決于業(yè)務(wù)邏輯、業(yè)務(wù)場景。因此我們需要本文第六部分軟件性能測試文檔4、5、 6。3. 吞吐量 我把吞

9、吐量定義為“單位時間內(nèi)系統(tǒng)處理的客戶請求的數(shù)量”, 直接體現(xiàn)軟件系統(tǒng)的性能承載能力, 對于交互式應(yīng)用系統(tǒng)來說、 吞吐量反映的是服務(wù)器承受 的壓力、在容量規(guī)劃的測試中、吞吐量是一個重要指標(biāo)、它不但反映在中間件、 數(shù)據(jù)庫上、更加體現(xiàn)在硬件上。我們在以下方面利用這個指標(biāo):(1) 用來協(xié)助設(shè)計軟件性能測試場景, 衡量軟件性能測試是否達(dá)到了預(yù)計的 設(shè)計目標(biāo)、比如J2EE應(yīng)用系統(tǒng)的連接池、數(shù)據(jù)庫事務(wù)發(fā)生頻率、事務(wù)發(fā)生次數(shù)。(2) 用來協(xié)助分析性能瓶頸、參照本文第二部分總的 RBI 方法。4. 性能計數(shù)器 性能計數(shù)器式描述服務(wù)器或操作系統(tǒng)性能的一些數(shù)據(jù)指標(biāo)、 例如對 WINDOWS來說使用內(nèi)存數(shù)、CPU使用

10、率、進(jìn)程時間等都是常見的計數(shù)器。Page對于性能計數(shù)器這個指標(biāo)來說、需要考慮到的不但有硬件計數(shù)器、web服務(wù)器計數(shù)器、Weblogic服務(wù)器計數(shù)器、Servlet性能計數(shù)器、EJB2的性能計數(shù)器、 JSF性能計數(shù)器、JMS性能計數(shù)器。找到這些指標(biāo)是使用性能計數(shù)器的第一步、 關(guān)鍵是找到性能瓶頸、 確定系統(tǒng)閥值、提供優(yōu)化建議才是性能計數(shù)器使用的關(guān)鍵。 性能計數(shù)器復(fù)雜而繁多、與代碼上下文環(huán)境、系統(tǒng)配置情況、系統(tǒng)架構(gòu)、開發(fā)方 式、使用到的規(guī)范實(shí)現(xiàn)、工具、類庫版本都有緊密的聯(lián)系、在此不作贅述。5. 思考時間我把思考時間確定為“休眠時間”。 從業(yè)務(wù)系統(tǒng)的角度來說, 這個時間指的 是用戶在驚醒操作時、 每個

11、請求之間的時間間隔、 從自動化測試的角度來說、 要 真實(shí)的測試模擬用戶操作、就必須在測試腳本中讓各個操作之間等待一段時間、 體現(xiàn)在腳本上就是在操作之間放置一個 Think 的函數(shù),體現(xiàn)為腳本中兩個請求語 句之間的間隔時間、不同的測試工具提供了不同的函數(shù)或方法來實(shí)現(xiàn)思考時間、 比如 HP LoadRuner和 IBM Rational Performanee Tester的方式就完全不同。軟件性能測試若干要點(diǎn):1、軟件性能測試是在功能測試完成之后進(jìn)行。2、軟件性能測試計劃、方案一般與測試用例統(tǒng)一在一個文檔里。3、測試環(huán)境應(yīng)盡量與用戶環(huán)境保持一致。4、軟件性能測試一般使用測試工具和測試人員編制測試

12、腳本來完成, 軟件 性能測試的環(huán)境應(yīng)單獨(dú)運(yùn)行盡量避免與其他軟件同時使用。5、軟件性能測試的重點(diǎn)在于前期數(shù)據(jù)的設(shè)計與后期數(shù)據(jù)的分析。6、軟件性能測試的用例主要涉及到整個系統(tǒng)架構(gòu)的問題, 所以測試用例一旦生成,改動一般不大, 所以做軟件性能測試的重復(fù)使用率一般比較高。(說明:當(dāng)系統(tǒng)中出現(xiàn)的某個功能點(diǎn)需要修改,它一般只會影響到功能測試的設(shè)計用例, 而對于軟件性能測試, 很少影響到軟件性能測試的設(shè)計用例。 但是如果某個功能 有較大的修改,軟件性能測試也應(yīng)該進(jìn)行重新測試。 )軟件性能測試小 Tips :1、軟件性能測試指標(biāo)的來源:測試的依據(jù)是產(chǎn)品的需求規(guī)格說明書 ; 如果 用戶沒有提出性能指標(biāo)則根據(jù)用戶

13、需求、 測試設(shè)計人員的經(jīng)驗(yàn)來設(shè)計各項(xiàng)測試指 標(biāo)。2、軟件性能測試的目的: 通過測試確認(rèn)軟件是否滿足產(chǎn)品的性能需求, 同 時發(fā)現(xiàn)系統(tǒng)中存在的性能瓶頸,起到優(yōu)化系統(tǒng)的目的。3、軟件性能測試的指標(biāo):服務(wù)器的各項(xiàng)指標(biāo)(CPU使用率、內(nèi)存占用率、 硬盤占用率等 ) 、后臺數(shù)據(jù)庫的各項(xiàng)指標(biāo)和軟件的響應(yīng)時間:(1)操作系統(tǒng)有關(guān)的指標(biāo):CPU平均利用率、內(nèi)存平均占用率、硬盤占用率、 I/O 數(shù)量、網(wǎng)絡(luò)時延(2) 數(shù)據(jù)庫有關(guān)的指標(biāo):l/Owait、Men平均使用率、cpu平均使用率、在一 次I/O操作中所讀的最大BLOCK數(shù)、Log的增長情況、數(shù)據(jù)庫的訪問速度、數(shù) 據(jù)庫能支持的最大用戶數(shù)、數(shù)據(jù)庫CACH命中率、不同數(shù)據(jù)庫參數(shù)下的性能情況、 鎖的處理(3) 軟件有關(guān)的指標(biāo):交易的平均響應(yīng)時間 (從接收請求到回復(fù)響應(yīng)的時 間) 、每秒交易數(shù)量 (單位時間里的執(zhí)行次數(shù) ) 、對中間件功能的調(diào)用、遠(yuǎn)程處理 延遲4、查看性能指標(biāo)的命令和方法:vmstat :虛擬內(nèi)存的統(tǒng)計 (cpu/io)iostat :設(shè)備的 IO 統(tǒng)計netstat :網(wǎng)絡(luò)活動信息統(tǒng)計top :內(nèi)存統(tǒng)計cat /proc/meninfo:查看系統(tǒng)的總 men大小cat

溫馨提示

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

最新文檔

評論

0/150

提交評論