發(fā)布時間:2020-07-25
性能測試最想發(fā)現(xiàn)的,是瓶頸。做性能測試需要一個規(guī)范的流程,劃分清各個階段需要做哪些工作,這樣我們在接到一個任務(wù)時就不會手忙腳亂。
Web測試中,B/S與C/S架構(gòu)的區(qū)別和聯(lián)系:
①B/S最大的優(yōu)點就是可以在任何地方進行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護。系統(tǒng)的擴展非常容易。
②C/S架構(gòu)可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實現(xiàn)。
③C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)開發(fā)不同版本的軟件,導(dǎo)致產(chǎn)品的更新?lián)Q代需要快,更新的代價高,效率低。
④C/S和B/S并沒有本質(zhì)的區(qū)別:B/S是基于特定通信協(xié)議(HTTP)的C/S架構(gòu),也就是說B/S包含在C/S中,是特殊的C/S架構(gòu)。
性能測試流程大致分為以下幾個階段:
1、測試準(zhǔn)備;
2、腳本開發(fā)與調(diào)試;
3、測試執(zhí)行;
4、測試結(jié)果評估;
5、測試后跟蹤;
測試準(zhǔn)備包括:
1、測試目標(biāo):從需求文檔或者用戶獲?。翰l(fā)用戶數(shù),事務(wù)吞吐需求,響應(yīng)時間需求,系統(tǒng)占用資源需求,可擴展性需求等;
2、應(yīng)用軟件:從開發(fā)人員獲?。合到y(tǒng)整體架構(gòu)(BS/CS),采用開發(fā)語言,通信協(xié)議,動態(tài)session,驗證碼等;
3、系統(tǒng)部署平臺:從運維人員獲?。何锢聿渴穑ň钟蚓W(wǎng)/虛擬機),硬件架構(gòu)(CPU/MEM/IO),操作系統(tǒng),數(shù)據(jù)庫(版本/啟動參數(shù)/存儲布局),中間件(參數(shù)配置),部署模式等;
4、系統(tǒng)負載模型:通過調(diào)研獲取從業(yè)務(wù)層面選取關(guān)鍵用例吞吐率以及用戶行為習(xí)慣,確定測試流程及流程業(yè)務(wù)比例;從系統(tǒng)負載方面了解高峰/平常場景吞吐率;
5、制定測試計劃和測試方案:測試腳本是做好性能測試的基礎(chǔ),監(jiān)控結(jié)果是性能測試的關(guān)鍵;扎實的代碼基礎(chǔ)和熟練掌握監(jiān)控結(jié)果的收集和分析是性能測試的保障;系統(tǒng)上線后,對實際負載與性能情況和測試過程中做比較總結(jié)經(jīng)驗也是學(xué)習(xí)提高的好方法。
在實際中作中我們經(jīng)常會對兩種類型軟件進行測試:bs和cs,這兩方面的性能指標(biāo)一般需要哪些內(nèi)容呢?
Bs結(jié)構(gòu)程序一般會關(guān)注的通用指標(biāo)如下:
Web服務(wù)器指標(biāo)指標(biāo):
* Avg Rps: 平均每秒鐘響應(yīng)次數(shù)=總請求時間 / 秒數(shù);
* Avg time to last byte per terstion (mstes):平均每秒業(yè)務(wù)角本的迭代次數(shù) ,有人會把這兩者混淆;
* Successful Rounds:成功的請求;
* Failed Rounds :失敗的請求;
* Successful Hits :成功的點擊次數(shù);
* Failed Hits :失敗的點擊次數(shù);
* Hits Per Second :每秒點擊次數(shù);
* Successful Hits Per Second :每秒成功的點擊次數(shù);
* Failed Hits Per Second :每秒失敗的點擊次數(shù);
* Attempted Connections :嘗試鏈接數(shù);
CS結(jié)構(gòu)程序,由于一般軟件后臺通常為數(shù)據(jù)庫,所以我們更注重數(shù)據(jù)庫的測試指標(biāo):
* User 0 Connections :用戶連接數(shù),也就是數(shù)據(jù)庫的連接數(shù)量;
* Number of deadlocks:數(shù)據(jù)庫死鎖;
* Butter Cache hit :數(shù)據(jù)庫Cache的命中情況
當(dāng)然,在實際中我們還會察看多用戶測試情況下的內(nèi)存,CPU,系統(tǒng)資源調(diào)用情況。這些指標(biāo)其實是引申出來性能測試中的一種:競爭測試。什么是競爭測試,軟件競爭使用各種資源(數(shù)據(jù)紀(jì)錄,內(nèi)存等),看他與其他相關(guān)系統(tǒng)對資源的爭奪能力。
我們知道軟件架構(gòu)在實際測試中制約著測試策略和測試工具的選擇。如何選擇性能測試策略是我們在實際工作中需要了解的。
一般軟件可以按照系統(tǒng)架構(gòu)分成幾種類型:
c/s:client/Server 客戶端/服務(wù)器架構(gòu);基于客戶端/服務(wù)器的三層架構(gòu);基于客戶端/服務(wù)器的分布式架構(gòu)。
b/s:基于瀏覽器/Web服務(wù)器的三層架構(gòu);基于中間件應(yīng)用服務(wù)器的三層架構(gòu)l;基于Web服務(wù)器和中間件的多層架構(gòu)。
總的來說,性能測試中如何去測是有效的、有保障的,這才是測試工程師最重要的能力。
web性能測試文章推薦閱讀:
高并發(fā)系統(tǒng)性能測試之性能調(diào)優(yōu)和優(yōu)化策略
如何開展數(shù)據(jù)庫系統(tǒng)的性能需求分析?如何制定數(shù)據(jù)庫能力評估模型?
全鏈路性能需求分析的要點是什么?和傳統(tǒng)線下性能測試有什么區(qū)別
什么是WebSocket?有哪些支持WebSocket協(xié)議的壓力測試工具?
cs項目怎么做性能測試?cs性能測試跟bs有什么區(qū)別?
大型web網(wǎng)站壓力測試技巧及常見的web頁面性能測試工具
電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報價)。
您的信息已成功提交!
我們的客服人員稍后會與您聯(lián)系