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