linux资源使用统计指南,指南:工作量分析文档
指南:工作量分析文檔
工作量分析文檔
工作量分析文檔用于在不同的性能測(cè)試中確定要使用的變量并定義變量值,利用這些性能測(cè)試可以模擬主角特征、最終用戶業(yè)務(wù)功能(用例)、負(fù)載和容量。
主題
軟件質(zhì)量要從不同的維度來進(jìn)行評(píng)估,其中包括可靠性、功能和性能(請(qǐng)參見)。創(chuàng)建工作量分析文檔(請(qǐng)參見)是為了識(shí)別并定義不同的變量,這些變量會(huì)影響應(yīng)用程序或系統(tǒng)的性能,并會(huì)影響到評(píng)估性能所需的評(píng)測(cè)。工作量分析文檔由以下角色使用:測(cè)試設(shè)計(jì)員(請(qǐng)參見)使用工作量分析文檔來為不同的性能測(cè)試生成測(cè)試用例
測(cè)試員(請(qǐng)參見)使用工作量分析文檔來更好地了解測(cè)試的目標(biāo)并正確地實(shí)現(xiàn)該目標(biāo)
用戶代表(請(qǐng)參見)使用工作量分析文檔來評(píng)估在進(jìn)行性能評(píng)估時(shí)所執(zhí)行的工作量、測(cè)試用例和測(cè)試的適當(dāng)性。
工作量分析文檔中包括的信息側(cè)重于以下主要變量的特征和屬性:要在性能測(cè)試過程中執(zhí)行和評(píng)估的用例(請(qǐng)參見)
要在性能測(cè)試過程中模擬/仿真的主角(請(qǐng)參見)
負(fù)載 - 同時(shí)參與的主角的數(shù)量和類型、被執(zhí)行的用例的數(shù)量和類型以及時(shí)間或吞吐量百分比。
將用來執(zhí)行并評(píng)估性能測(cè)試的部署系統(tǒng)(實(shí)際的、模擬的或仿真的)(請(qǐng)參見,部署視圖)
如其名稱所示,性能測(cè)試是為了評(píng)測(cè)和評(píng)估測(cè)試對(duì)象的性能特征或行為而執(zhí)行的。為了成功地設(shè)計(jì)、實(shí)施和執(zhí)行性能測(cè)試,需要確定并使用代表實(shí)際情況的變量值,以及這些變量的例外值。
可以為性能測(cè)試確定并使用兩種類型的用例:- 在性能測(cè)試中所評(píng)測(cè)和評(píng)估的用例
- 可能對(duì)關(guān)鍵用例的性能行為產(chǎn)生影響的非關(guān)鍵用例
并非在測(cè)試對(duì)象中實(shí)施的所有用例都是性能測(cè)試的對(duì)象。關(guān)鍵用例是那些將成為性能測(cè)試重點(diǎn)的用例,這意味著它們的性能行為將得到評(píng)測(cè)和評(píng)估。
要確定關(guān)鍵用例,可確定用例是否符合一條或多條以下標(biāo)準(zhǔn):用例需要評(píng)測(cè)和評(píng)估性能
用例被一個(gè)或多個(gè)主角頻繁執(zhí)行
用例表現(xiàn)出較高的系統(tǒng)使用率百分比
用例需要使用重要的系統(tǒng)資源
列出關(guān)鍵用例,以將其包括在性能測(cè)試中。
在確定并列出關(guān)鍵用例的同時(shí),應(yīng)檢查事件的用例流。特別是,應(yīng)開始確定當(dāng)執(zhí)行用例時(shí)在主角(類型)和系統(tǒng)之間的特定事件序列。
另外,還需確定(或核實(shí))以下信息:用例的前提條件,如數(shù)據(jù)的狀態(tài)(什么樣的數(shù)據(jù)應(yīng)/不應(yīng)存在)和測(cè)試對(duì)象的狀態(tài)
可能是常量(相同量)的數(shù)據(jù),或從一個(gè)用例實(shí)例到下一個(gè)用例實(shí)例必須不同的數(shù)據(jù)
該用例與其他用例之間的關(guān)系,例如在執(zhí)行該用例時(shí)必須遵循的順序
用例的執(zhí)行頻率,例如同時(shí)執(zhí)行的用例實(shí)例的數(shù)量,或用例占系統(tǒng)總負(fù)載的百分比
與關(guān)鍵用例不同,關(guān)鍵用例是性能測(cè)試的重點(diǎn),而重要用例是那些可能影響關(guān)鍵用例性能行為的用例。重要用例包括符合一條或多條以下標(biāo)準(zhǔn)的用例:用例必須在執(zhí)行關(guān)鍵用例之前或之后執(zhí)行
用例被一個(gè)或多個(gè)主角頻繁執(zhí)行
用例表現(xiàn)出較高的系統(tǒng)使用率百分比
用例需要使用重要的系統(tǒng)資源
用例在執(zhí)行關(guān)鍵用例的同時(shí)在部署系統(tǒng)上定期執(zhí)行,如電子郵件或后臺(tái)打印。
在確定并列出重要用例的同時(shí),應(yīng)檢查事件的用例流和附加信息(類似于上面對(duì)關(guān)鍵用例進(jìn)行的檢查)。
成功的性能測(cè)試不僅需要確定執(zhí)行關(guān)鍵用例和重要用例的主角,還必須模擬/仿真主角行為。也就是說,一個(gè)主角實(shí)例在執(zhí)行與另一個(gè)主角實(shí)例相同的用例和事件用例流的同時(shí),可以與測(cè)試對(duì)象進(jìn)行不同的交互(響應(yīng)提示、輸入不同數(shù)據(jù)值等活動(dòng)需要更長(zhǎng)的時(shí)間)。可考慮以下的簡(jiǎn)單用例:
一臺(tái) ATM 機(jī)器的主角和用例。
主角“顧客”在用例執(zhí)行的第一個(gè)實(shí)例中是一位有經(jīng)驗(yàn)的 ATM 用戶,但在另一個(gè)主角實(shí)例中卻是一位沒有經(jīng)驗(yàn)的 ATM 用戶。有經(jīng)驗(yàn)的 ATM 主角迅速瀏覽 ATM 用戶界面,他幾乎不會(huì)花時(shí)間來閱讀每條提示,而是按照記憶按動(dòng)按鈕。但沒有經(jīng)驗(yàn)的 ATM 主角則要閱讀每條提示,并且在作出響應(yīng)之前要用較多的時(shí)間來理解信息。符合實(shí)際的性能測(cè)試反映了這種差異,從而可確保準(zhǔn)確地評(píng)估在部署測(cè)試對(duì)象時(shí)的性能行為。
首先確定以上列出的各個(gè)用例的主角。然后確定可能執(zhí)行各個(gè)用例的不同主角原型。在上面的 ATM 示例中,可能有以下主角原型:有經(jīng)驗(yàn)的 ATM 用戶
沒有經(jīng)驗(yàn)的 ATM 用戶
ATM 用戶的帳戶位于該 ATM 的銀行網(wǎng)絡(luò)“之內(nèi)”(用戶的開戶銀行為擁有該 ATM 的銀行)
ATM 用戶的帳戶位于該 ATM 的銀行網(wǎng)絡(luò)之外(其他競(jìng)爭(zhēng)銀行)
對(duì)于每個(gè)主角原型,需確定主角屬性的不同值,例如:思考時(shí)間 -主角響應(yīng)測(cè)試對(duì)象的各項(xiàng)提示所用的時(shí)間
按鍵速度 -主角與接口交互的速度
請(qǐng)求速度 - 主角向測(cè)試對(duì)象提出請(qǐng)求的速度
重復(fù)次數(shù) - 按順序重復(fù)用例或請(qǐng)求的次數(shù)
交互方法 -主角所使用的交互方法,例如使用鍵盤輸入值、切換到某個(gè)子段、使用快捷鍵等,或使用鼠標(biāo)“指向并單擊”、“剪切并粘貼”等。
此外,對(duì)于每個(gè)主角原型,應(yīng)確定它們的工作簡(jiǎn)檔,并指定它們要執(zhí)行的所有用例和流程,以及執(zhí)行用例的主角所用時(shí)間的百分比或工作量的比例。這些信息可用于確定和創(chuàng)建符合實(shí)際的負(fù)載(請(qǐng)參見下面的“負(fù)載和負(fù)載屬性”)。
另外,還必須確定唯一標(biāo)識(shí)環(huán)境的部署系統(tǒng)特定屬性和變量,因?yàn)檫@些屬性也會(huì)影響性能的評(píng)測(cè)和評(píng)估。這些屬性包括:物理硬件(CPU 速度、內(nèi)存、磁盤緩存等)
部署構(gòu)架(服務(wù)器的數(shù)量、處理活動(dòng)的分布等)
網(wǎng)絡(luò)屬性
可以與測(cè)試對(duì)象同時(shí)安裝和執(zhí)行的其他軟件(和用例)
確定并列出性能測(cè)試中可以包括的系統(tǒng)屬性和變量。該信息可以從多處獲得,其中包括:軟件構(gòu)架文檔(請(qǐng)參見,部署視圖)
前景文檔(請(qǐng)參見)
涉眾請(qǐng)求(請(qǐng)參見)
前面已經(jīng)提到過,負(fù)載是影響測(cè)試對(duì)象的性能行為的因素之一。負(fù)載的定義為:“模擬的最終用戶與測(cè)試對(duì)象進(jìn)行交互的實(shí)例,以及影響系統(tǒng)使用和性能的變量”
準(zhǔn)確地確定將被用來執(zhí)行和評(píng)估性能行為的負(fù)載是很關(guān)鍵的。一般情況下,性能測(cè)試要在不同的負(fù)載下執(zhí)行多次,每種負(fù)載都是下列屬性的一種變形:與測(cè)試對(duì)象同時(shí)進(jìn)行交互的主角數(shù)量
與測(cè)試對(duì)象進(jìn)行交互的主角類型(以及每個(gè)主角所執(zhí)行的用例類型)
各個(gè)關(guān)鍵用例的執(zhí)行頻率,及其按順序執(zhí)行的頻率(重復(fù)頻率)
對(duì)于用于評(píng)估測(cè)試對(duì)象性能的每種負(fù)載,應(yīng)確定以上各變量的值。各個(gè)變量在不同的負(fù)載中所使用的值可以從業(yè)務(wù)用例模型(請(qǐng)參見)中獲得,或通過觀察和訪問主角獲得。至少應(yīng)獲得三種負(fù)載:最佳 - 反映最佳可能部署條件的負(fù)載,例如,只有一個(gè)或少數(shù)幾個(gè)主角與系統(tǒng)進(jìn)行交互、只執(zhí)行關(guān)鍵用例,這種負(fù)載在測(cè)試過程中很少執(zhí)行或根本不執(zhí)行額外的軟件或用例。
額定 - 反映當(dāng)前部署條件的負(fù)載。
峰值 - 反映最差部署條件的負(fù)載,例如,最大數(shù)量的主角、執(zhí)行最大數(shù)量的關(guān)鍵用例,這種負(fù)載要同時(shí)執(zhí)行許多或所有額外的軟件和用例。
如果性能測(cè)試包括強(qiáng)度測(cè)試(請(qǐng)參見和)時(shí),應(yīng)確定幾種額外的負(fù)載,每種負(fù)載都針對(duì)于一個(gè)系統(tǒng)或負(fù)載變量,并將其設(shè)置到部署系統(tǒng)的正常預(yù)期容量之上。
只有在對(duì)測(cè)試進(jìn)行評(píng)測(cè)并對(duì)性能行為進(jìn)行評(píng)估后,性能測(cè)試才能獲得成功。在確定性能評(píng)測(cè)和標(biāo)準(zhǔn)時(shí),應(yīng)考慮以下因素:要進(jìn)行哪些評(píng)測(cè)?
在執(zhí)行測(cè)試對(duì)象或用例的過程中,關(guān)鍵的評(píng)測(cè)點(diǎn)在哪里/是什么?
判斷性能行為是否可以接受的標(biāo)準(zhǔn)是什么?
性能評(píng)測(cè)
在執(zhí)行測(cè)試的過程中可以進(jìn)行多種不同的評(píng)測(cè)。要確定將進(jìn)行的最重要的評(píng)測(cè),并證明它們?yōu)槭裁醋钪匾?/p>
下面列出了所監(jiān)測(cè)或捕獲到的最常見的性能行為:測(cè)試腳本狀態(tài)或狀況 - 以圖形化方式描述測(cè)試執(zhí)行過程的當(dāng)前狀態(tài)、狀況或進(jìn)度
響應(yīng)時(shí)間/吞吐量 - 評(píng)測(cè)(或計(jì)算)響應(yīng)時(shí)間或吞吐量(通常表述為每秒鐘處理的事務(wù)數(shù))。
統(tǒng)計(jì)性能 - 使用統(tǒng)計(jì)方法(如平均數(shù)、標(biāo)準(zhǔn)偏差和百分位數(shù))對(duì)響應(yīng)時(shí)間/吞吐量進(jìn)行評(píng)測(cè)性(或計(jì)算性)的描述。
追蹤 - 捕獲執(zhí)行期間主角(測(cè)試腳本)與測(cè)試對(duì)象之間的來往消息或會(huì)話,或者數(shù)據(jù)流和/或流程。
有關(guān)詳細(xì)信息,請(qǐng)參見。
關(guān)鍵性能評(píng)測(cè)點(diǎn)
在上面的“用例和用例屬性”部分中已經(jīng)提到,不必為性能測(cè)試執(zhí)行所有用例。同樣,不必為每個(gè)被執(zhí)行的用例進(jìn)行所有性能評(píng)測(cè)。通常會(huì)有一個(gè)(或幾個(gè))特定的用例流程專門用于評(píng)測(cè)。或者,在特定的事件用例流中可能存在特定序列的事件,這些事件將為評(píng)估性能行為而進(jìn)行評(píng)測(cè)。應(yīng)謹(jǐn)慎地為性能行為的評(píng)測(cè)選擇最重要的起“點(diǎn)”和終“點(diǎn)”。它們通常是最顯而易見的事件序列,或者是我們可以通過更改軟件或硬件來直接影響的點(diǎn)。
例如,在上面提到的 ATM - 提款用例中,從主角進(jìn)行提款操作的起點(diǎn)到該用例結(jié)束的終點(diǎn)(即主角收到他的銀行卡而 ATM 準(zhǔn)備接受另一張卡),我們可以評(píng)測(cè)整個(gè)用例的性能特征,如下圖中黑色的“總計(jì)花費(fèi)時(shí)間”所示:
但請(qǐng)注意,有很多事件序列會(huì)影響總計(jì)花費(fèi)時(shí)間。我們可以控制某些事件序列(例如閱讀卡中信息、核實(shí)卡類型、開始與銀行系統(tǒng)的通信等,如上圖中的 B、D 和 E 項(xiàng)),但卻無法控制其他序列(例如主角在輸入他們的提款金額之前輸入他們的 PIN 或閱讀提示,如上圖中的 A、C 和 F 項(xiàng))。在上例中,除了評(píng)測(cè)總計(jì)花費(fèi)時(shí)間外,還要評(píng)測(cè)序列 B、D 和 E 的響應(yīng)時(shí)間,因?yàn)檫@些事件的響應(yīng)時(shí)間對(duì)主角來說最為顯而易見(并且我們可以通過用于部署的軟件/硬件來影響這些響應(yīng)時(shí)間)。
性能評(píng)測(cè)標(biāo)準(zhǔn)
一旦確定了關(guān)鍵性能評(píng)測(cè)和評(píng)測(cè)點(diǎn),就要檢查性能標(biāo)準(zhǔn)。性能標(biāo)準(zhǔn)在補(bǔ)充規(guī)約(請(qǐng)參見)中列出。如有必要,應(yīng)修訂該標(biāo)準(zhǔn)。
性能評(píng)測(cè)通常要使用兩項(xiàng)標(biāo)準(zhǔn):響應(yīng)時(shí)間或吞吐率
百分位數(shù)
按秒評(píng)測(cè)的響應(yīng)時(shí)間或按所處理的事務(wù)(或消息)量評(píng)測(cè)的吞吐率是主要的標(biāo)準(zhǔn)。
例如,在“提款”用例中,所規(guī)定的標(biāo)準(zhǔn)為“每個(gè) B、D 和 E 事件(參見上圖)都必須在 3 秒鐘之內(nèi)發(fā)生(合并后總計(jì)為 9 秒)”。如果在測(cè)試過程中,我們注意到每個(gè)被確定為 B、D 或 E 的事件所花費(fèi)的時(shí)間超過了規(guī)定的 3 秒標(biāo)準(zhǔn),就要記錄一項(xiàng)失敗。
百分位數(shù)評(píng)測(cè)可以同響應(yīng)時(shí)間和/或吞吐率結(jié)合使用,它們用于“在統(tǒng)計(jì)上忽略”在規(guī)定標(biāo)準(zhǔn)以外的評(píng)測(cè)。例如,現(xiàn)在規(guī)定的用例性能標(biāo)準(zhǔn)為“B、D 或 E 事件的 90% 都必須在 3 秒鐘之內(nèi)發(fā)生...”。在測(cè)試執(zhí)行過程中,如果我們?cè)u(píng)測(cè)到所有性能評(píng)測(cè)中的 90% 都發(fā)生在規(guī)定標(biāo)準(zhǔn)之內(nèi),就不記錄失敗。
總結(jié)
以上是生活随笔為你收集整理的linux资源使用统计指南,指南:工作量分析文档的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python编程从入门到实践~类
- 下一篇: linux 其他常用命令