TestLoadBalancer測試均衡負載
什麼是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() { Function RunTest() { for($i=1; $i -le $env:TLB_TOTAL_PARTITIONS; $i++) { Function StopServer() { Function Runner() { 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的執行結果。
====================================分割線================================
最新內容請見作者的GitHub頁:http://qaseven.github.io/
相關文章
- ORACLE 11G負載均衡測試Oracle負載
- jmeter壓力測試實現負載均衡JMeter負載
- RAC負載均衡的簡單測試(三)負載
- RAC負載均衡的簡單測試(二)負載
- RAC負載均衡的簡單測試(一)負載
- RAC負載均衡的簡單測試(四)負載
- 搭建LVS負載均衡測試環境負載
- WEBLOGIC連線OracleRAC的負載均衡測試(轉載)WebOracle負載
- 負載均衡探測器lbd負載
- Haproxy和Nginx負載均衡測試效果對比記錄Nginx負載
- 負載均衡負載
- gRPC負載均衡(客戶端負載均衡)RPC負載客戶端
- gRPC負載均衡(自定義負載均衡策略)RPC負載
- NGINX 負載均衡Nginx負載
- WebSocket負載均衡Web負載
- IP負載均衡負載
- 【Nginx】負載均衡Nginx負載
- nginx負載均衡Nginx負載
- JMeter分散式壓測/JMeter負載新增/jmeter負載均衡/jmeter Windows系統壓測負載新增JMeter分散式負載Windows
- 負載均衡技術(一)———負載均衡技術介紹負載
- 解密負載均衡技術和負載均衡演算法解密負載演算法
- 負載測試工具Ripplet負載
- (一)效能測試(壓力測試、負載測試)負載
- 負載均衡技術(二)———常用負載均衡服務介紹負載
- 【知識分享】四層負載均衡和七層負載均衡負載
- 簡單測試nginx1.90做TCP協議負載均衡的功能NginxTCP協議負載
- nginx 負載均衡 使用ip_hash方式解決session問題 測試Nginx負載Session
- 淺談負載均衡負載
- 漫談負載均衡負載
- Nginx負載均衡模式Nginx負載模式
- 面試之負載均衡面試負載
- 負載均衡知多少?負載
- 負載均衡簡介負載
- 負載均衡詳解負載
- LoadBalancer負載均衡負載
- 負載均衡叢集負載
- 負載均衡---ribbon負載
- Nginx--負載均衡Nginx負載