qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

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

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

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

            基礎數據分析

            以下圖表均取自互聯網,本文是在“已經獲取所需數據”的前提下,講解性能測試的一些設計思路。至于如何才能取得這些數據,將在后續的文章中說明。

          系統訪問量分布

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

          用戶的平均活躍時間

            用戶活躍時間,是指用戶一次使用系統的時長,可用來指導測試腳本的設計,即每個虛擬用戶腳本應該在多長時間內執行完。

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

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

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

          熱點模塊(頁面)

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

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

            場景數據

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

          總體

           

          場景名稱

          100用戶負載場景

           

          場景描述

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

           

          場景時長

          2h

           

          場景加載策略

          每4.5分鐘加載5個虛擬用戶。因為要在2小時內完成100用戶的訪問,而每個用戶的運行時間在30分鐘左右,那么在1小時30分鐘時就最后一批用戶就要開始訪問系統,即90分鐘內加載100個用戶。

           

          虛擬用戶數

          100

           

          用戶模型

          見XX用戶模型

           

          虛擬用戶運行時間

          30min

           

          平均思考時間

          30~60s

           

          場景并發度

          25。

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

          操作說明

          登錄

          Think Time

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

          Pass/Fail 條件

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

          數據

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

          ... 

           

           

            可以說,用戶模型表達的是,系統運行中的壓力是如何分布的。

            而場景數據表達的是,要給系統施加多大的壓力。

            只有結合用戶模型和場景數據兩部分,才能構造出一個確定的負載場景。

            如果到這里都已經做好,并且經過了技術負責人和業務負責人的確認,那么接下來要做的就是按照設計來實現測試腳本了。


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

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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 沭阳县| 新化县| 上饶县| 托克托县| 大安市| 永清县| 宁明县| 克拉玛依市| 正定县| 松江区| 普定县| 金沙县| 南木林县| 卓尼县| 子长县| 泸溪县| 深圳市| 进贤县| 呼伦贝尔市| 呼和浩特市| 响水县| 离岛区| 修武县| 西青区| 乡城县| 乌兰察布市| 永和县| 共和县| 珠海市| 临漳县| 靖安县| 镇原县| 辽源市| 邵阳县| 当雄县| 麻阳| 土默特右旗| 利川市| 綦江县| 临潭县| 高阳县|