日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

基礎(chǔ)篇二

 nicolh 2010-08-16

第一部分 基礎(chǔ)篇
1 軟件性能測試基本概念
1.1什么是軟件性能

性能是一種指標(biāo),表明軟件系統(tǒng)或構(gòu)件對于其及時性要求的符合程度;其次,性能是軟件產(chǎn)品的一種特性,可以用時間來進(jìn)行度量.

性能的及時性用響應(yīng)時間或者吞吐量來衡量.

對于交互式應(yīng)用(例如典型的web應(yīng)用)來說,我們一般以用戶感受到的響應(yīng)時間來描述系統(tǒng)的性能,而對于非交互式應(yīng)用(嵌入式系統(tǒng)或者銀行等的業(yè)務(wù)處理系統(tǒng))而言,響應(yīng)時間是指系統(tǒng)對事件產(chǎn)生響應(yīng)所需要的時間.
1.1.1用戶視角的軟件性能

軟件對用戶操作的響應(yīng)時間.分客觀和主觀兩種情況.
1.1.2管理員視角的軟件性能

系統(tǒng)的響應(yīng)時間+系統(tǒng)狀態(tài)的相關(guān)信息.(系統(tǒng)的可擴(kuò)展性\并發(fā)能力等指標(biāo))
1.1.3
開發(fā)視角的軟件性能

響應(yīng)時間+性能瓶頸.

如何通過調(diào)整設(shè)計和代碼實現(xiàn),或是如何通過調(diào)整系統(tǒng)設(shè)置等方法提高軟件的性能表現(xiàn).

對軟件性能問題進(jìn)行定位,了解性能的制約因素和引起性能問題的關(guān)鍵原因.
1.1.4
總結(jié)
1.2軟件性能的幾個主要術(shù)語
1.2.1
響應(yīng)時間

對請求做出響應(yīng)需要的時間.

合理的響應(yīng)時間取決于實際的用戶需求.
1.2.2
并發(fā)用戶數(shù)

1)業(yè)務(wù)角度 業(yè)務(wù)并發(fā)數(shù)

2)服務(wù)端承受的壓力 并發(fā)數(shù)
1.2.3
吞吐量

吞吐量是指單位時間內(nèi)系統(tǒng)處理的客戶請求的數(shù)量”,直接體現(xiàn)軟件系統(tǒng)的性能承載能力.一般來說,吞吐量用請求數(shù)/秒或者是頁面數(shù)/秒來衡量,從業(yè)務(wù)的角度,吞吐量也可以用訪問人數(shù)/天或者是處理的業(yè)務(wù)數(shù)/小時等單位來衡量.當(dāng)然,從網(wǎng)絡(luò)的角度來說,也可以從字節(jié)數(shù)/天來考察網(wǎng)絡(luò)流量.

不同的并發(fā)用戶數(shù),對同一個系統(tǒng)施加相同的吞吐量壓力,很可能得到不同的測試結(jié)果.

吞吐量本身是個直觀的指標(biāo),兩個不同系統(tǒng)可能具有不同的用戶數(shù)和用戶使用模式,但如果具有基本一直的吞吐量,則可以說,他們具有基本相同的平均處理能力.
1.2.4
性能計數(shù)器

性能計數(shù)器(Counter)是描述服務(wù)器或者操作系統(tǒng)性能的一些數(shù)據(jù)指標(biāo).例如,對于windows系統(tǒng)來說,使用內(nèi)存數(shù)(Memory In Usage),進(jìn)程時間(Total Process Time)等都是常見的計數(shù)器.

在性能測試中常用資源利用率進(jìn)行橫向的對比.e.g.在進(jìn)行測試時發(fā)現(xiàn),資源A的使用率達(dá)到了接近100%的數(shù)值,而其他資源利用率都處于比較低的水平,則可以很清楚地知道,資源A就很有可能是系統(tǒng)的一個性能瓶頸.
1.2.5
思考時間

業(yè)務(wù)角度:這個時間指的是用戶在進(jìn)行操作時,每個請求之間的間隔時間.

如果測試的目的是為了驗證應(yīng)用系統(tǒng)具有預(yù)期的能力”(也就是所說的能力驗證的應(yīng)用領(lǐng)域),就應(yīng)該盡量模仿用戶在使用業(yè)務(wù)時的真實思考時間;如果目的是進(jìn)行更一般的研究,例如了解系統(tǒng)在壓力下的性能水平或者了解系統(tǒng)承受壓力的能力”(也就是所說的規(guī)劃能力的應(yīng)用領(lǐng)域),則可以采用0思考時間.
1.3軟件性能測試方法論
1.3.1SEI
負(fù)載測試計劃過程

關(guān)注于負(fù)載測試計劃的方法,其目標(biāo)是產(chǎn)生清晰,易理解,可驗證的負(fù)載測試計劃”.過程包括6個區(qū)域:目標(biāo),用戶,用例,生產(chǎn)環(huán)境,測試環(huán)境和測試場景.
1.3.2RBI
方法

RBI(Rapid Bottleneck Identify)方法是一種用于快速識別系統(tǒng)性能瓶頸的方法.給方法基于以下一些事實:

1.發(fā)現(xiàn)的80%系統(tǒng)的性能瓶頸都有吞吐量制約.

2,并發(fā)用戶數(shù)和吞吐量瓶頸之間存在一定的關(guān)聯(lián);

3.采用吞吐量測試可以更快速定位問題.

1.3.3性能下降曲線分析法

性能下降曲線實際上描述的是性能隨用戶數(shù)增長而出現(xiàn)下降趨勢的曲線.這里所說的性能可以是響應(yīng)時間,也可以是吞吐量或者點擊數(shù)/秒的數(shù)據(jù).一般主要指響應(yīng)時間.

這種分析法主要關(guān)注性能下降曲線上的各個區(qū)間和響應(yīng)的拐點,通過識別不同的區(qū)間和拐點,從而為性能瓶頸識別和性能調(diào)優(yōu)提供依據(jù).
1.3.4LoadRunner
的性能測試過程

計劃測試,測試設(shè)計,創(chuàng)建VU腳本,創(chuàng)建測試場景,運(yùn)行測試場景和分析結(jié)果6個步驟.
1.3.5Segue
提供的性能測試過程

從確定性能基線開始,通過單用戶對應(yīng)用的訪問獲取性能取值的基線,然后設(shè)定克接受的性能目標(biāo)(響應(yīng)時間),用不同的并發(fā)用戶數(shù)等重復(fù)進(jìn)行測試.適合性能調(diào)優(yōu)和性能優(yōu)化.
1.3.6
本書提供的PTGM模型

過程分為測試前期準(zhǔn)備,測試工具引入,測試計劃,測試設(shè)計與開發(fā),測試執(zhí)行和管理以及測試分析等6個步驟.
1.4本章小結(jié)

2 性能測試的應(yīng)用領(lǐng)域
2.1性能測試的方法
2.1.1性能測試

通過模擬生產(chǎn)運(yùn)行的業(yè)務(wù)壓力量和使用場景組合,測試系統(tǒng)的性能是否滿足生產(chǎn)性能要求。

特點:

1):主要目的是驗證系統(tǒng)是否有系統(tǒng)宣稱具有的能力。

2):需要事先了解被測試系統(tǒng)典型場景,并具有確定的性能目標(biāo)。

3):這種方法要求在已確定的環(huán)境下運(yùn)行。
2.1.2
負(fù)載測試

通過在被測系統(tǒng)上不斷增加壓力,直到性能指標(biāo),例如“響應(yīng)時間”超過預(yù)定指標(biāo)或者某種資源使用已經(jīng)達(dá)到飽和狀態(tài)。 這種方法可以找到系統(tǒng)的處理極限,為系統(tǒng)調(diào)優(yōu)提供數(shù)據(jù)。又稱“可量性測試”。

特點:

1):主要目的是找到系統(tǒng)處理能力的極限。

2):需要在給定的測試環(huán)境下進(jìn)行,通常也需要考慮被測系統(tǒng)的業(yè)務(wù)壓力量和典型場景,使得測試結(jié)果具有業(yè)務(wù)上的意義。

3):一般用來了解系統(tǒng)的性能容量,或者是配合性能調(diào)優(yōu)來使用。
2.1.3
壓力測試

測試系統(tǒng)在一定飽和狀態(tài)下,例如CPU、內(nèi)存等在飽和使用情況下,系統(tǒng)能夠處理的會話能力,以及系統(tǒng)是否會出現(xiàn)錯誤。

特點:

1):主要目的是檢查系統(tǒng)處于壓力情況下時,應(yīng)用的表現(xiàn)。

2):一般通過模擬負(fù)載等方法,使得系統(tǒng)的資源使用達(dá)到較高的水平。

3):一般用于測試系統(tǒng)的穩(wěn)定性。
2.1.4
配置測試

通過對被測系統(tǒng)的軟/硬件環(huán)境的調(diào)整,了解各種不同環(huán)境對系統(tǒng)性能影響的程度,從而找到系統(tǒng)各項資源的最優(yōu)分配原則。

特點:

1):主要目的是了解各種不同因素對系統(tǒng)性能影響的程度,從而判斷出最值得進(jìn)行的調(diào)優(yōu)操作。

2):一般在對系統(tǒng)性能狀況有初步了解后進(jìn)行。

3):一般用于用戶性能調(diào)優(yōu)和規(guī)劃能力。
2.1.5
并發(fā)測試

通過模擬用戶的并發(fā)訪問,測試多用戶并發(fā)訪問同一個應(yīng)用、同一個模塊或者數(shù)據(jù)記錄時是否存在死鎖或者其他性能問題。

特點:

(1)      主要目的是發(fā)現(xiàn)系統(tǒng)中可能隱藏的并發(fā)訪問時的問題。

(2)      主要關(guān)注系統(tǒng)可能存在的并發(fā)問題,例如系統(tǒng)中的內(nèi)存泄露、線程鎖和資源爭用方面的問題。

(3)      可以在開發(fā)的各個階段使用,需要相關(guān)的測試工具的配合和支持。

一般來說,并發(fā)測試出了需要性能測試工具進(jìn)行并發(fā)負(fù)載的產(chǎn)生外,還需要一些其他工具進(jìn)行代碼級別的檢查和定位。
2.1.6
可靠性測試

通過給系統(tǒng)加載一定的業(yè)務(wù)壓力(例如資源在70%-90%的使用率)的情況下,讓應(yīng)用持續(xù)運(yùn)行一段時間,測試系統(tǒng)在這種條件下是否能夠穩(wěn)定運(yùn)行。一般用“平均無故障時間”(MTBF)或是“失效率”來衡量。

特點:

1):主要目的是驗證系統(tǒng)是否支持長期穩(wěn)定的運(yùn)行。

2):需要在壓力下持續(xù)一段時間的運(yùn)行。

3):需要關(guān)注系統(tǒng)的運(yùn)行狀況。
2.1.7
失效恢復(fù)測試

針對有冗余備份和負(fù)載均衡的系統(tǒng)設(shè)計。

特點:

1):主要目的是驗證在局部故障情況下,系統(tǒng)能否繼續(xù)使用。

2):這種性能測試方法還需要指出,當(dāng)問題發(fā)生時“能支持多少用戶訪問”的結(jié)論和“采用何種應(yīng)急措施”的方案。

3):一般來說,只有對系統(tǒng)持續(xù)運(yùn)行指標(biāo)有明確要求的系統(tǒng)才需要進(jìn)行這種類型的測試。
2.2性能測試應(yīng)用領(lǐng)域分析
2.2.1
能力驗證

描述方式:系統(tǒng)能否在A條件下具有B能力?

特點:

1):要求在已確定的環(huán)境下運(yùn)行。

2):需要根據(jù)典型場景設(shè)計測試方案和用例。
2.2.2
規(guī)劃能力

描述方式:“某系統(tǒng)能否支持未來一段時間內(nèi)的用戶增長”或是“應(yīng)該如何調(diào)整系統(tǒng)配置,使系統(tǒng)能夠滿足增長的用戶數(shù)的需要”

特點:

1):是一種探索性的測試

2):可被用來了解系統(tǒng)的性能以及擴(kuò)展性能的方法
2.2.3
性能調(diào)優(yōu)

一個標(biāo)準(zhǔn)的系統(tǒng)性能調(diào)優(yōu)過程:

1)確定基準(zhǔn)環(huán)境、基準(zhǔn)負(fù)載和基準(zhǔn)性能指標(biāo)

所謂的標(biāo)準(zhǔn)是指每次執(zhí)行性能測試時的環(huán)境嚴(yán)格保持一致。

2)調(diào)整系統(tǒng)運(yùn)行環(huán)境和實現(xiàn)方法,執(zhí)行測試

3個方面的調(diào)整:硬件環(huán)境,系統(tǒng)設(shè)置,應(yīng)用級別

3)記錄測試結(jié)果,進(jìn)行分析
2.2.4
發(fā)現(xiàn)缺陷
2.2.5
總結(jié)


2.3本章小結(jié)
3 性能計數(shù)器及性能分析方法
3.1操作系統(tǒng)計數(shù)器及分析
3.1.1Windows
操作系統(tǒng)的主要計數(shù)器
3.1.2UNIX
操作系統(tǒng)的主要計數(shù)器
3.1.3
內(nèi)存分析方法

內(nèi)存分析用于判斷系統(tǒng)有無內(nèi)存瓶頸,是否需要通過增加內(nèi)存等手段提高系統(tǒng)性能表現(xiàn)。
3.1.4
處理器分析方法
3.1.5
磁盤IO分析方法
3.1.6
進(jìn)程分析方法
3.1.7
網(wǎng)絡(luò)分析方法
3.2應(yīng)用服務(wù)器計數(shù)器
3.2.1IIS
應(yīng)用服務(wù)器計數(shù)器
3.2.2J2EE
應(yīng)用服務(wù)器計數(shù)器
3.3數(shù)據(jù)庫計數(shù)器
3.4本章小結(jié)
4 性能測試工具原理
4.1性能測試工具模型

性能測試工具包括以下部件:

虛擬用戶腳本產(chǎn)生器:截獲數(shù)據(jù)流-〉根據(jù)錄制時選擇的協(xié)議類型,對數(shù)據(jù)流進(jìn)行分析-〉用腳本函數(shù)將客戶端和服務(wù)端之間的數(shù)據(jù)流交互過程體現(xiàn)為腳本的語句。

壓力產(chǎn)生器:根據(jù)腳本內(nèi)容,產(chǎn)生實際的負(fù)載。

用戶代理:運(yùn)行在負(fù)載機(jī)上的進(jìn)程,該進(jìn)程與產(chǎn)生負(fù)載壓力的進(jìn)程或者線程協(xié)作,接受調(diào)度系統(tǒng)的命令,調(diào)度產(chǎn)生負(fù)載壓力的進(jìn)程或者線程。從這個意義上來說,用戶代理也可以是被看作是壓力產(chǎn)生器的組成部分。用戶代理一般以后臺方式在負(fù)載機(jī)上運(yùn)行。

壓力調(diào)度和監(jiān)控系統(tǒng):性能測試工具中直接與用戶交互的主要內(nèi)容。是否具有強(qiáng)大的性能計數(shù)器監(jiān)控能力通常也是衡量性能測試工具的功能是否完備的指標(biāo)之一。

壓力結(jié)果分析工具:不能代替分析者進(jìn)行性能結(jié)果的范喜,最多只是提供多種不同的數(shù)據(jù)揭示和呈現(xiàn)方法而已。對這些數(shù)據(jù)進(jìn)行分析必然要依靠測試工程師對系統(tǒng)性能分析的經(jīng)驗和知識。
4.2性能測試腳本錄制時的協(xié)議類型
4.3
性能測試工具的選擇與評估
4.4
本章小結(jié)
5 性能測試的組織
5.1性能測試團(tuán)隊的人員構(gòu)成

角色:項目測試經(jīng)理,測試設(shè)計,測試開發(fā),測試執(zhí)行,測試分析,支持
5.2性能測試的過程模型
5.2.1
測試前期準(zhǔn)備

1):系統(tǒng)計出功能驗證

2):組建測試團(tuán)隊

3):測試工具需求確認(rèn)

4):性能預(yù)備測試(可選活動)
5.2.2
測試工具引入

工具選擇-〉工具應(yīng)用技能培訓(xùn)-〉確定工具應(yīng)用過程
5.2.3
測試計劃

性能測試領(lǐng)域分析-〉用戶活動剖析與業(yè)務(wù)建模-〉確定性能目標(biāo)-〉確定測試時間計劃
5.2.4
測試設(shè)計與開發(fā)

測試環(huán)境設(shè)計-〉測試場景設(shè)計-〉測試用例設(shè)計
5.2.5
測試執(zhí)行與管理

建立測試環(huán)境->部署測試腳本和測試環(huán)境->執(zhí)行測試和記錄結(jié)果
5.2.6
測試分析

性能分析的通用方法之一就是“拐點分析”的方法。“拐點分析”方法是一種利用性能計數(shù)器曲線圖上的拐點進(jìn)行性能分析的方法,該方法的基本思想是基于這個事實:性能產(chǎn)生瓶頸是由于某個資源的使用達(dá)到了極限,此時的表現(xiàn)是隨著壓力增大系統(tǒng)性能表現(xiàn)急劇下降,因此,只要關(guān)注性能表現(xiàn)上的“拐點”,獲得“拐點”附近的資源使用情況,就能夠定位出系統(tǒng)的性能瓶頸。“拐點分析”的方法在確定引起系統(tǒng)瓶頸的系統(tǒng)資源方面能發(fā)揮一定作用,但由于其只能定位到島資源上的制約,而不能直接定位到引起制約的原因,因此,該方法還必須配合其他方法使用,才能最終確定引起性能瓶頸的最根本原因??捎糜?#8220;拐點分析”的圖表包括“負(fù)載--響應(yīng)時間曲線”、“負(fù)載吞吐量曲線”等。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多