qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          性能測(cè)試用戶模型(三):基礎(chǔ)數(shù)據(jù)分析、場(chǎng)景數(shù)據(jù)

           性能測(cè)試用戶模型(一):概述、術(shù)語(yǔ)定義、基礎(chǔ)數(shù)據(jù)、壓力度量

            性能測(cè)試用戶模型(二):用戶模型圖

            基礎(chǔ)數(shù)據(jù)分析

            以下圖表均取自互聯(lián)網(wǎng),本文是在“已經(jīng)獲取所需數(shù)據(jù)”的前提下,講解性能測(cè)試的一些設(shè)計(jì)思路。至于如何才能取得這些數(shù)據(jù),將在后續(xù)的文章中說(shuō)明。

          系統(tǒng)訪問(wèn)量分布

            由系統(tǒng)的日訪問(wèn)量分布圖,可知系統(tǒng)的訪問(wèn)壓力集中在哪個(gè)時(shí)間段內(nèi)。系統(tǒng)的壓力是在一天中平均分布的,還是集中在某幾個(gè)更小的時(shí)間段內(nèi)。根據(jù)此信息,我們對(duì)測(cè)試場(chǎng)景的時(shí)間進(jìn)行設(shè)計(jì),如從分布圖中明顯看出每天的大部分訪問(wèn)量集中在9:00~11:00和14:00~16:00兩個(gè)時(shí)段,那么就可以設(shè)計(jì)2小時(shí)內(nèi)完成一半訪問(wèn)量的測(cè)試場(chǎng)景。

          用戶的平均活躍時(shí)間

            用戶活躍時(shí)間,是指用戶一次使用系統(tǒng)的時(shí)長(zhǎng),可用來(lái)指導(dǎo)測(cè)試腳本的設(shè)計(jì),即每個(gè)虛擬用戶腳本應(yīng)該在多長(zhǎng)時(shí)間內(nèi)執(zhí)行完。

            由系統(tǒng)訪問(wèn)量分布和用戶活躍時(shí)間兩個(gè)數(shù)據(jù),可以對(duì)系統(tǒng)使用的并發(fā)度進(jìn)行估算。比如已知系統(tǒng)在2個(gè)小時(shí)內(nèi)有200訪問(wèn)量,且分布接近于平均,用戶的平均活躍時(shí)間為30分鐘,那么此時(shí)間段的并發(fā)度應(yīng)為:200*30/120=50。這里并發(fā)度50傳遞的信息是,在一個(gè)用戶活躍周期內(nèi),總共會(huì)有50個(gè)用戶與服務(wù)端進(jìn)行交互(即相對(duì)并發(fā))。也就是說(shuō)任意時(shí)間點(diǎn),最大的絕對(duì)并發(fā)可能性是50,當(dāng)然實(shí)際可能遠(yuǎn)低于此,可以根據(jù)業(yè)務(wù)特點(diǎn)再乘以相應(yīng)比例進(jìn)行估算。

            在性能測(cè)試時(shí),可以依據(jù)此數(shù)據(jù)設(shè)計(jì)系統(tǒng)高峰期壓力的測(cè)試場(chǎng)景。比如我們已知,系統(tǒng)壓力最大時(shí),單位時(shí)間段內(nèi)活躍用戶有100人(并發(fā)度100),那么這種壓力場(chǎng)景,就可以以用戶平均活躍時(shí)間為測(cè)試時(shí)間段,啟動(dòng)100個(gè)虛擬用戶并在該時(shí)間段內(nèi)完成各自的工作量。

           即請(qǐng)求之間的間隔(思考)時(shí)間,如在編輯頁(yè)面上停留多久才會(huì)點(diǎn)提交按鈕。如果無(wú)此數(shù)據(jù),性能測(cè)試腳本只有運(yùn)行時(shí)長(zhǎng)是有數(shù)據(jù)(活躍時(shí)間)支撐的,腳本中的各請(qǐng)求之間的思考時(shí)間,只能通過(guò)常規(guī)判斷和猜測(cè),由性能測(cè)試人員自己掌控。收集到此數(shù)據(jù)后,性能測(cè)試腳本會(huì)更加符合真實(shí)用戶的操作習(xí)慣,更加接近真實(shí)用戶。

          熱點(diǎn)模塊(頁(yè)面)

            分析系統(tǒng)各模塊或頁(yè)面的訪問(wèn)頻率,可以用來(lái)檢查性能測(cè)試是否設(shè)計(jì)了足夠的覆蓋、是否遺漏的用戶頻繁使用的功能,并據(jù)此對(duì)用戶模型進(jìn)行完善。

            此外,此數(shù)據(jù)可用來(lái)分析各模塊或功能所涉及到的工作量,如每天平均完成多少次提交操作、多少次統(tǒng)計(jì)操作。這對(duì)于確定系統(tǒng)的使用壓力有很大的作用。

            場(chǎng)景數(shù)據(jù)

            最后,綜合所有數(shù)據(jù),為特定測(cè)試場(chǎng)景制訂出成如下表格:

          總體

           

          場(chǎng)景名稱

          100用戶負(fù)載場(chǎng)景

           

          場(chǎng)景描述

          模擬系統(tǒng)使用高峰期時(shí),在2小時(shí)左右有100用戶的訪問(wèn)

           

          場(chǎng)景時(shí)長(zhǎng)

          2h

           

          場(chǎng)景加載策略

          每4.5分鐘加載5個(gè)虛擬用戶。因?yàn)橐?小時(shí)內(nèi)完成100用戶的訪問(wèn),而每個(gè)用戶的運(yùn)行時(shí)間在30分鐘左右,那么在1小時(shí)30分鐘時(shí)就最后一批用戶就要開(kāi)始訪問(wèn)系統(tǒng),即90分鐘內(nèi)加載100個(gè)用戶。

           

          虛擬用戶數(shù)

          100

           

          用戶模型

          見(jiàn)XX用戶模型

           

          虛擬用戶運(yùn)行時(shí)間

          30min

           

          平均思考時(shí)間

          30~60s

           

          場(chǎng)景并發(fā)度

          25。

          虛擬用戶數(shù)*(虛擬用戶運(yùn)行時(shí)間/場(chǎng)景時(shí)長(zhǎng))

          操作說(shuō)明

          登錄

          Think Time

          平均8s,最小5s,最大20s

          Pass/Fail 條件

          如果失敗,重試一次,依然失敗就中止。

          數(shù)據(jù)

          每虛擬用戶使用不同的賬號(hào)

          ... 

           

           

            可以說(shuō),用戶模型表達(dá)的是,系統(tǒng)運(yùn)行中的壓力是如何分布的。

            而場(chǎng)景數(shù)據(jù)表達(dá)的是,要給系統(tǒng)施加多大的壓力。

            只有結(jié)合用戶模型和場(chǎng)景數(shù)據(jù)兩部分,才能構(gòu)造出一個(gè)確定的負(fù)載場(chǎng)景。

            如果到這里都已經(jīng)做好,并且經(jīng)過(guò)了技術(shù)負(fù)責(zé)人和業(yè)務(wù)負(fù)責(zé)人的確認(rèn),那么接下來(lái)要做的就是按照設(shè)計(jì)來(lái)實(shí)現(xiàn)測(cè)試腳本了。


          posted on 2013-03-01 09:59 順其自然EVO 閱讀(359) 評(píng)論(0)  編輯  收藏 所屬分類: 性能測(cè)試

          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 华宁县| 罗定市| 云南省| 金山区| 宁陵县| 承德市| 星子县| 广东省| 左云县| 南皮县| 康平县| 东山县| 泰安市| 灵宝市| 合肥市| 庄河市| 武清区| 同仁县| 扶绥县| 孝昌县| 灵寿县| 重庆市| 凤城市| 琼结县| 龙南县| 浦东新区| 云林县| 武宣县| 阿克陶县| 沙坪坝区| 克东县| 织金县| 鄂托克前旗| 抚松县| 武隆县| 淳化县| 富川| 石景山区| 伊川县| 南乐县| 宜兰市|