posts - 97,  comments - 5,  trackbacks - 0

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

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

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

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

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

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

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

          用戶的平均活躍時間

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

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

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

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

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

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

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

            場景數(shù)據(jù)

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

          總體

           

          場景名稱

          100用戶負(fù)載場景

           

          場景描述

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

           

          場景時長

          2h

           

          場景加載策略

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

           

          虛擬用戶數(shù)

          100

           

          用戶模型

          XX用戶模型

           

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

          30min

           

          平均思考時間

          30~60s

           

          場景并發(fā)度

          25

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

          操作說明

          登錄

          Think Time

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

          Pass/Fail 條件

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

          數(shù)據(jù)

          每虛擬用戶使用不同的賬號

          ... 

           

           

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

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

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

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



          天貓 軟件自動化測試開發(fā)

          posted on 2013-09-25 17:48 zouhui 閱讀(174) 評論(0)  編輯  收藏 所屬分類: 2.軟件測試 性能自動化
          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(2)

          隨筆分類(94)

          隨筆檔案(94)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 礼泉县| 楚雄市| 色达县| 合水县| 岫岩| 德阳市| 肃宁县| 舒城县| 峡江县| 福清市| 分宜县| 阜宁县| 平度市| 阿尔山市| 泽州县| 龙里县| 临清市| 屯留县| 万山特区| 公主岭市| 桓仁| 工布江达县| 大方县| 邳州市| 泾源县| 合山市| 内丘县| 雷波县| 房产| 怀宁县| 龙门县| 肃北| 北流市| 英吉沙县| 嘉禾县| 道真| 上栗县| 西平县| 司法| 定结县| 乐清市|