乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      在軟件測試工具中如何巧用LoadRunner的隨機(jī)函數(shù) - 軟件測試網(wǎng) _領(lǐng)測軟件測試網(wǎng)站...

       紅燒小螞蟻 2010-09-03

      在軟件測試工具中如何巧用LoadRunner的隨機(jī)函數(shù)

       

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

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

        該系統(tǒng)將支撐大量的SQL操作,性能自然成為備受關(guān)注的焦點之一。

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

        首先設(shè)計場景,即,在LoadRunner中按照比例隨機(jī)取到某一類型的SQL,再隨機(jī)傳入?yún)?shù)給它,讓最終的每條SQL都是隨機(jī)生成,各不相同。

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

        于是想到了loadrunner的隨機(jī)函數(shù)。先實現(xiàn)隨機(jī)取SQL ID,之后再在特定的SQL中隨機(jī)取參數(shù)列表中的參數(shù)。

        LoadRunner中,隨機(jī)函數(shù)是rand(),它用來產(chǎn)生0到rand_max之間的隨機(jī)整數(shù)。函數(shù)原型是

        int rand ( void );

        然而調(diào)用rand之前,必須給隨機(jī)數(shù)產(chǎn)生一個隨機(jī)種子。這個種子由srand()函數(shù)產(chǎn)生。其原型是

        int srand ( seedTime );

        采用上述兩個函數(shù),就能實現(xiàn)第一重隨機(jī)了。具體腳本代碼如下:

       

            //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
            生成隨機(jī)數(shù)后,再按比例用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方式實現(xiàn)的隨機(jī)參數(shù);tn是web_url函數(shù)的快照名稱。

        通過上面的腳本,實現(xiàn)了性能測試設(shè)計的場景。調(diào)試通過后,放入Controller中執(zhí)行。實際執(zhí)行過程中,Vuser將會按比例隨機(jī)取到不同類型的SQL,并隨機(jī)取到SQL中的參數(shù),執(zhí)行特定的SQL語句。

        巧用LoadRunner的隨機(jī)函數(shù),能幫助我們解決不少實際問題。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多