• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件測試工具LoadRunner模擬真實用戶訪問

    發表于:2010-05-05來源:作者:點擊數: 標簽:軟件測試loadrunnerLoadRunnerLoadrunnerloadRunner
    軟件測試工具 LoadRunner 模擬真實用戶訪問、 在進行 壓力測試 設計時,總會碰到一些case需要考慮用戶實際的行為對系統的影響。使用 lr 錄制腳本時,有很多方法都可以模擬用戶的真實使用狀態,例如: 1、lr_think_time()函數的使用可以模擬用戶瀏覽的操作;

    軟件測試工具LoadRunner模擬真實用戶訪問、

    在進行壓力測試設計時,總會碰到一些case需要考慮用戶實際的行為對系統的影響。使用lr錄制腳本時,有很多方法都可以模擬用戶的真實使用狀態,例如:
      1、lr_think_time()函數的使用可以模擬用戶瀏覽的操作;
      2、模擬Network Speed(Runtime-setting下的Network-Speedsimulation),可以模擬用戶訪問速度為最大帶寬、自定義帶寬以及各個連接模式的帶寬(ADSL、ISDN等);
      3、代理設置(Runtime-setting下的Internet里的proxy設置),可以模擬用戶訪問的代理服務器設置;
      4、IP欺騙,設置IP欺騙可以模擬vuser使用不用的IP進行腳本運行,具體設置請參考51testing里的相關。帖子

      如果一個頁面上有很多業務項入口,我們要測試用戶訪問后會選擇某個業務項進入瀏覽的壓力,這個時候我們可以考慮如下設置來模擬:
      1、分別錄制多個腳本,在場景控制器中加載多個組,應用不同的組策略來模擬用戶的業務訪問:
      例:有100個用戶登錄首頁,然后有30個人去訪問【新聞】業務,有40個人訪問【財經】,還有30個人訪問【論壇】;
      (1)、分別錄制訪問【新聞】、【財經】、【論壇】的腳本 ;
      (2)、使用場景控制器(Controller) ;
      (3)、添加組(group)【新聞】腳本,設置vuser數為30;添加組(group)【財經】腳本,設置vuser數為40;添加組(group)【論壇】腳本,設置vuser數為30。

      2、在一個腳本里錄制多個action,然后使用集合點(rendezvous)來一起運行多個action
      例如:有100個用戶登錄首頁,然后平均訪問【新聞】、【財經】、【論壇】;
      (1)、分別錄制訪問【新聞】、【財經】、【論壇】的腳本到不同的action里 ;
      (2)、在每個action腳本主函數action(){}的開始設置同一個集合點(名稱相同);
      (3)、使用場景控制器(Controller)設置100個vuser運行,即可達到平均訪問3個業務的效果。

      除了上面的方法,我再介紹一種使用隨機數的方法:
      例如:未知用戶數量,有70%的人使用百度( http://www.baidu.com),有17%的人使用谷歌(http://www.google.cn),有7%的人使用yahoo(http://search.cn.yahoo.com),剩余的人使用搜狗(http://www.sogou.com)進行搜索,那么怎么模擬呢?

      腳本示例如下:

    Action()
    {
     int which; //存儲隨機數的變量
     which = rand()%100; //生成0-99的隨機數并賦值給which
     lr_log_message ("DebugInfo:which=%d\n",which);//調試信息

     if (which >= 30)//70%訪問baidu
     {
      web_url("www.baidu.com",
        "URL=http://www.baidu.com/",
        "TargetFrame=",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=",
        "Snapshot=t1.inf",
        "Mode=HTML",
        LAST);
     }
     else if ((which >=13) and (which <30))//17%訪問Google
     {
      web_url("www.google.cn",
        "URL=http://www.google.cn/",
        "TargetFrame=",
        "Resource=0",
        "RecContentType=text/html",
        "Referer=",
        "Snapshot=t2.inf",
        "Mode=HTML",
        EXTRARES,
        "Url=/images/nav_logo3.png", ENDITEM,
        LAST);
     }
     else if ((which >=6) and (which <13)) //7%訪問yahoo
     {
      web_url("search.cn.yahoo.com",
       "URL=http://search.cn.yahoo.com/",
       "TargetFrame=",
       "Resource=0",
       "RecContentType=text/html",
       "Referer=",
       "Snapshot=t3.inf",
       "Mode=HTML",
       EXTRARES,
       "Url=/testing/uppic/200709/20070911101206590.gif", ENDITEM,
       "Url=/testing/uppic/200709/20070911101207694.gif", ENDITEM,
       LAST);
     }
     else        //6%訪問sogou
     {
      web_url("www.sogou.com",
       "URL=http://www.sogou.com/",
       "TargetFrame=",
       "Resource=0",
       "RecContentType=text/html",
       "Referer=",
       "Snapshot=t4.inf",
       "Mode=HTML",
       EXTRARES,
       "Url=/images/tab.gif", ENDITEM,
       "Url=http://pv.sogou.com/pv.gif?t?=1181198683187446?r?=", ENDITEM,
       LAST);
     }
     return 0;
    }

      這么寫腳本其實和組策略形成的效果沒有什么分別,但是我覺得還是寫這樣的結構比較好,我自己也不知道為什么。
      這個寫法是從游戲腳本語言(lua)中學會的,以前測試游戲的時候總是看腳本語言(lua),有很多寶物的掉率就是根據隨機數判斷來決定的。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>