<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

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

    Test Load Balancer 測試均衡負載

     什么是Test Load Balancer ?

      Test Load Balancer 測試分發工具,它能把所有的測試按照某個策略(數量、時間)均衡分布到不同的計算機上運行。

      問題域?

      一個典型的問題,當軟件開發團隊在做CI(持續集成)時,必須讓CI的構建時間保持在一個合理的時間,比如10分鐘為一個上線,但是由于需求的不斷增多測試的數量也隨之增加,花費在運行這些測試的時間越來越多,影響到了整個交付團隊的進度。為了盡可能的縮短交付周期時間,減少測試的運行時間,一個行之有效的方法就是讓測試并行執行。

      Test Load Balancer 如何工作 ?

      TLB(Test Load Balancer)有兩個比較重要的概念:

      server:存儲,查詢測試數據(測試時間、測試結果等)

      balancer:測試分支,指定測試套件,設置server的url等

      Balancer與CI或者與某種測試框架一起工作,Server只是一個數據交互中心,Balancer需要測試的數據需要和Server通信。

      如何使用?

      TLB必須結合構建工具使用,我們以TLB自帶的例子為例。

      examples/ant_junit

      這個例子使用shell寫的運行腳本,我在windows上做的,先把它的腳本改改。

      把run_balancer.sh和上級目錄的recipe.sh在powershell腳本里面合并。

    $env:TLB_JOB_NAME='ant_junit'
    $env:TLB_TOTAL_PARTITIONS='2'
    $env:TEST_TASK='ant test.balanced'

    Function StartServer() {
        cd ..\..\server
        .\server.bat start
        cd ..\examples\ant_junit
    }

    Function RunTest() {
        $env:TLB_DATA_DIR='.\demo_tlb_store'
        $env:TLB_OUT_FILE-".\tlb_balancer.out"
        $env:TLB_ERR_FILE='.\tlb_balancer.err'
        $env:TLB_BASE_URL='http://localhost:7019'
        $env:TLB_JOB_VERSION='1.0.0'

        for($i=1; $i -le $env:TLB_TOTAL_PARTITIONS; $i++) {
            $env:TLB_PARTITION_NUMBER='$i'
            $env:TLB_BALANCER_PORT='300$i'
            iex $TEST_TASK
        }
    }

    Function StopServer() {
        cd ..\..\server
        .\server.bat stop
        cd ..\examples\ant_junit
    }

    Function Runner() {
        StartServer
        RunTest
        StopServer
    }

    Runner

      TLB所有的設置依賴環境變量, TLB_TOTAL_PARTITIONS指定所有的測試分成多少份,TLB_BASE_URL指定TLB Server的地址,TLB_PARTITION_NUMBER當前node執行那一份測試,TLB_BALANCER_PORT指定node的端口。

      StartServer啟動TLB服務器,會開啟一個cmd窗口,關閉的時候調用腳本關閉這個窗口就可以關閉TLB 服務器。

      RunTest 運行測試,在每個node都必須配置TLB_PARTITION_NUMBER和TLB_BALANCER_PORT.

      StopServer 關閉TLB Server。

      Runner 腳本入口函數。

      這里的腳本是把TLB Server 和 Balancer寫在一起的,只為show一下TLB如何使用,如果要在不同node運行,必須把它分成server和balancer兩部分腳本。server只需要 StartServer 和StopServer函數,而node只需要RunTest函數,去掉for循環,指定具體的TLB_PATTITION_NUMBER和PORT就可以了。

      TLB不足?

      TLB雖然可以實現測試分發,但是如果不結合CI工具的話,就必須手動的去運行每個node,而且在server也不能監控和收集每個node的運行結果。

    posted on 2012-06-27 09:48 順其自然EVO 閱讀(319) 評論(0)  編輯  收藏 所屬分類: 性能測試

    <2012年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲JIZZJIZZ妇女| 亚洲一线产区二线产区区| 国产成人精品免费视频大全| 国产a不卡片精品免费观看| 亚洲av永久中文无码精品| 国产无遮挡吃胸膜奶免费看| 男女超爽视频免费播放| 亚洲乱码中文字幕手机在线| 人碰人碰人成人免费视频| 亚洲精品国产品国语在线| 免费精品久久天干天干| 亚洲国产人成网站在线电影动漫| 99精品在线免费观看| 亚洲一区二区影视| 日韩毛片免费在线观看| 日本激情猛烈在线看免费观看| 国产亚洲欧洲Aⅴ综合一区| a级精品九九九大片免费看| 亚洲黄色在线视频| 四虎www成人影院免费观看| 一级毛片在线完整免费观看| 亚洲va久久久噜噜噜久久| 免费观看美女用震蛋喷水的视频 | 免费国产成人午夜电影| 五月天国产成人AV免费观看| 亚洲VA中文字幕不卡无码| 中文字幕在线免费| 亚洲国产精品久久久久秋霞小| 亚洲精品无码久久久| 久久这里只精品国产免费10| 亚洲永久在线观看| 亚洲一区无码精品色| 日韩成人免费视频| 亚洲中文字幕无码爆乳| 国产亚洲人成网站在线观看| 最近中文字幕2019高清免费| 色婷婷六月亚洲综合香蕉| 亚洲成AV人片在线观看WWW| 女人张开腿给人桶免费视频 | 亚洲国产香蕉人人爽成AV片久久 | 亚洲精选在线观看|