• <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的隨機函數

    發布: 2009-12-02 16:28 | 作者: 網絡轉載 | 來源: 領測軟件測試 | 查看: 713次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試工具中如何巧用LoadRunner的隨機函數

    LoadRunner有自帶的隨機函數,如果巧妙的加以采用,能解決一些看似很困難的實際問題。下面通過實際案例來做個分享。

      前段時間在做一個項目的性能測試。該項目比較特殊,它與數據庫直連,根據外部傳入的SQL ID和SQL參數,從指定數據庫中讀取SQL模版,拼裝成真實的SQL語句、執行,并將得到的結果放入緩存中。目的是減少數據庫的壓力。

      該系統將支撐大量的SQL操作,性能自然成為備受關注的焦點之一。

      由于它跟SQL語句相關,在真實環境下,同一時間可能執行著不同類型的SQL,即便是同一類型,其參數也各式各樣。那么,怎樣才能模擬出最符合實際情況的性能測試場景呢?

      首先設計場景,即,在LoadRunner中按照比例隨機取到某一類型的SQL,再隨機傳入參數給它,讓最終的每條SQL都是隨機生成,各不相同。

      從場景中,可以看到,此處涉及雙重隨機。只采用loadruner的參數設置是無法實現的。此時需要想辦法先按設定好的比例隨機取到SQL,然后在每條SQL上隨機取參數列表中的參數。

      于是想到了loadrunner的隨機函數。先實現隨機取SQL ID,之后再在特定的SQL中隨機取參數列表中的參數。

      LoadRunner中,隨機函數是rand(),它用來產生0到rand_max之間的隨機整數。函數原型是

      int rand ( void );

      然而調用rand之前,必須給隨機數產生一個隨機種子。這個種子由srand()函數產生。其原型是

      int srand ( seedTime );

      采用上述兩個函數,就能實現第一重隨機了。具體腳本代碼如下:

          //generate rand number
          int rNum = 0;
          srand(time(NULL));
          rNum = rand() % 10;
          lr_output_message(”the number is :%d”,rNum); //print the current random number
          生成隨機數后,再按比例用if … else … 來取到各種類型的SQL,并給它們傳參。具體腳本代碼如下:
          //get certain SQL and random value
          if (rNum>=0 && rNum<2) {

          web_url(”test”, “URL=http://host_name:8080/interface?sqlId=sqlid_name2&value={random_para2} “,
                 ”Resource=0″,
                 ”RecContentType=text/html”,
                 ”Referer=”,
                 ”Snapshot=tn.inf”,
                 “Mode=HTTP”,
                 LAST);
          }
            …

          else if(rNum>=8 && rNum<10){
                 web_url(”test”, “URL=http://host_name:8080/interface?sqlId=sqlid_name2&value={random_para2} “,
                 ”Resource=0″,
                 ”RecContentType=text/html”,
                 ”Referer=”,
                 ”Snapshot=tn.inf”,
                 “Mode=HTTP”,
                 LAST);
          }
          else {
                rNum = 0;
                lr_output_message(”the number is :%d”,rNum);
          }

      注:sqlid_name是SQL ID名稱;random_para是通過file方式實現的隨機參數;tn是web_url函數的快照名稱。

      通過上面的腳本,實現了性能測試設計的場景。調試通過后,放入Controller中執行。實際執行過程中,Vuser將會按比例隨機取到不同類型的SQL,并隨機取到SQL中的參數,執行特定的SQL語句。

      巧用LoadRunner的隨機函數,能幫助我們解決不少實際問題。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: loadrunner LoadRunner Loadrunner loadRunner 工具 軟件測試 隨機函數


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品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>