單元測試
場景設計:
比如一個獲取用戶頭像的請求,用戶的頭像存放在多台DB裡,並由多個web服務器(webserver1,webserver2)緩存頭像並根據用戶的HTTP請求返回給客戶端用戶頭像,由於web服務器緩存了用戶頭像,是有狀態服務,所以HTTP請求裡要帶userid參數,7層負載根據userid做哈希後把請求路由給緩存該userid對應用戶頭像的web服務器。
請求格式:
GET/getportrait.ASPx?userid={userid}
其中{userid}是Int32類型,路由算法是{userid}mod2=0的話路由給webserver1,{userid}mod2=1的話路由給webserver2
應答格式:
200OKHTTP1.0
Content-Length:5
Content-Type:text/txt
{userportrait}
其中為了測試方便{userportrait}為文本格式,就是webserver本身的機器名字
測試用例:
請求GET/getportrait.ASPx?userid=1111,預期返回應答webserver2
請求GET/getportrait.ASPx?userid=2222,預期返回應答webserver1
具體測試userid可隨機生成整數,並根據是否可被2整除對應答進行預期。
性能測試
測試准備:
兩台物理機RealServer1和RealServer2,一台軟負載機器SoFTProxy,兩台測試機TestClient1,TestClIEnt2。
其中SoFTProxy的配置:Xeno3.0G(16核),16G內存,Windows2003x64,千M網卡(先不考慮雙網卡均衡)。
RealServer配置:Xeno1.86G(4核),8G內存,Windows2003x86