性能測試用戶模型(二):用戶模型圖 《轉載》
性能測試用戶模型(一):概述、術語定義、基礎數據、壓力度量
用戶模型
用戶的行為主要分為兩部分來考慮,一是針對一類特定角色的用戶,二是針對整個用戶群體。通過一組圖形來描述用戶的行為、操作路徑以及系統各部分的使用率,此種方法稱之為用戶模型(或者系統使用模型)。
用戶模型表示的是系統的使用場景,更準確的說是一個特定時間段的系統使用情況。操作路徑是用戶模型的核心,通過用戶模型,每個人都可以輕易的理解系統是如何被使用的。
基本圖形:

用戶類型

動作類型

同步點(集合點)

選擇或數據

條件

循
環

退出

分支

合并

擴展圖形
隨機順序訪問

應用示例
下面以一個在線書店為例,假設我們已經得知以下信息:
● 有4種類型的用戶:新用戶、已注冊用戶、供應商、管理員。
● 所有的用戶都從主頁開始。
● 新用戶和已注冊用戶可以做如下操作:
● 通過標題、作者、關鍵字搜索圖書
● 添加到購物車
● 新用戶可以注冊成為會員。
● 會員可以登錄、修改帳戶信息、下訂單、查看訂單狀態
● 管理員和供應商必須從主頁登錄,然后進入管理頁面。
● 管理員可以添加新書、查看訂單狀態、更改訂單狀態、取消訂單
● 供應商可以查看庫存和銷售的統計報表。
首先為每個類型的用戶分別繪制模型圖。根據已知數據來制定用戶的操作路徑、操作比例。
新用戶[1]

解釋:假設有100個新用戶,其中33個會進行多次搜索,有5個用戶會因為沒有找到相關書目而退出系統。其他的95個用戶都可以找到所需書目并將其放入購物車中,這時會有20個用戶沒有創建賬號直接退出,其他的75個用戶都選擇了創建賬號。之后有45個用戶成功提交了訂單,另外30個只是保存了訂單。最后有60個用戶是通過直接關閉瀏覽器退出系統的,選擇注銷的只有15個。
會員
解釋:100個會員,有一半是進行買書流程的,還有一半是進入賬號進行信息維護和查看訂單狀態。
管理員

解釋:管理員操作都需要從登錄管理頁面開始,操作最多的是查看訂單狀態(50%),其中有一半的訂單需要修改,增加書目和取消訂單都占25%。
供應商

解釋:供應商也需要從管理員頁面登錄。供應商用戶只能進行查看報表操作,可以選擇多種不同類型的報表進行統計,平均每個用戶需要查看3種報表。
確定了各個用戶角色的模型后,再根據各用戶所占的比例,合并成整體用戶群的使用模型。

解釋:從整體考慮,新用戶占20%,會員70%,管理員4%,供應商6%。不同類型的用戶通過不同顏色來標識,所有的用戶都需要從主頁開始訪問系統。此模型反應了系統的整體使用情況,也即測試場景需要模擬的壓力。而測試場景中具體要執行的測試腳本,則主要根據各類型用戶各自的用戶模型來開發。
在繪制出模型圖后仍然需要不斷的同技術人員、業務人員溝通討論,找出模型中不合理或者遺漏之處,并逐步完善,直到共同確認。甚至是測試結束后,也需要根據系統實際運行環境來不斷調整,為后續的測試提供更準確的模型。
但只依靠模型圖仍然不能有效的對壓力進行描述,可以發現前文提到的種種基礎數據信息目前還未得到使用,如用戶操作的間隔時間、頁面上需要輸入的數據等等。沒有模型,這些數據是缺少實用意義的;沒有數據,模型圖也無法得到應用。
--------------------------------------------------------------------------------
[1]分支百分比的兩種表示方式:一是各分支的數值之和等于前一個節點的數值(本文采取的方式),二是各分支的數值之和總等于100%。兩種方式各有優點:第一種的圖形更直觀,對觀察者來說每一處的壓力大小一目了然。第二種對于腳本的實現者來說更容易,實現測試腳本時無需再次換算,而且如果某一個節點有修改,無需考慮后續節點