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