1. 程式人生 > >效能測試流程5步走:BS架構和CS架構效能指標大對比

效能測試流程5步走:BS架構和CS架構效能指標大對比

效能測試的目的,簡單說其實就是為了獲取待測系統的響應時間、吞吐量、穩定性、容量等資訊。而發現一些具體的效能相關的缺陷(如記憶體溢位、併發處理等問題),我認為只是一種附加結果。從更高的層次來說,效能測試最想發現的,是瓶頸。如何能得到所需要的資訊,就需要從多方面進行測試。

拿到一個性能測試任務的時候,我們首先需要明確我們的測試目標和輸出結果是什麼;沒有計劃的開始註定是失敗的。做效能測試需要一個規範的流程,劃分清各個階段需要做哪些工作,這樣我們在接到一個任務時就不會手忙腳亂。

效能測試流程大致分為一下幾個階段:

1、測試準備

2、指令碼開發與除錯

3、測試執行

4、測試結果評估

5、測試後跟蹤

測試準備包括:

1、測試目標:

從需求文件或者使用者獲取:併發使用者數,事務吞吐需求,響應時間需求,系統佔用資源需求,可擴充套件性需求等;

2、應用軟體:

從開發人員獲取:系統整體架構(BS/CS),採用開發語言,通訊協議,動態session,驗證碼等;

3、系統部署平臺:

從運維人員獲取:物理部署(區域網/虛擬機器),硬體架構(CPU/MEM/IO),作業系統,資料庫(版本/啟動引數/儲存佈局),中介軟體(引數配置),部署模式等;

4、系統負載模型:

通過調研獲取:從業務層面選取關鍵用例吞吐率以及使用者行為習慣,確定測試流程及流程業務比例;從系統負載方面瞭解高峰/平常場景吞吐率;

5、制定測試計劃和測試方案

測試指令碼是做好效能測試的基礎,監控結果是效能測試的關鍵;紮實的程式碼基礎和熟練掌握監控結果的收集和分析是效能測試的保障;系統上線後,對實際負載與效能情況和測試過程中做比較總結經驗也是學習提高的好方法。

在實際中作中我們經常會對兩種型別軟體進行測試:bs和cs,這兩方面的效能指標一般需要哪些內容呢?
Bs結構程式一般會關注的通用指標如下(簡):
Web伺服器指標指標:
* Avg Rps: 平均每秒鐘響應次數=總請求時間 / 秒數;
* Avg time to last byte per terstion (mstes):平均每秒業務角本的迭代次數 ,有人會把這兩者混淆;
* Successful Rounds:成功的請求;
* Failed Rounds :失敗的請求;
* Successful Hits :成功的點選次數;
* Failed Hits :失敗的點選次數;
* Hits Per Second :每秒點選次數;
* Successful Hits Per Second :每秒成功的點選次數;
* Failed Hits Per Second :每秒失敗的點選次數;
* Attempted Connections :嘗試連結數;
CS結構程式,由於一般軟體後臺通常為資料庫,所以我們更注重資料庫的測試指標:
* User 0 Connections :使用者連線數,也就是資料庫的連線數量;
* Number of deadlocks:資料庫死鎖;
* Butter Cache hit :資料庫Cache的命中情況
當然,在實際中我們還會察看多使用者測試情況下的記憶體,CPU,系統資源呼叫情況。這些指標其實是引申出來效能測試中的一種:競爭測試。什麼是競爭測試,軟體競爭使用各種資源(資料紀錄,記憶體等),看他與其他相關係統對資源的爭奪能力。
我們知道軟體架構在實際測試中制約著測試策略和工具的選擇。如何選擇效能測試策略是我們在實際工作中需要了解的。

一般軟體可以按照系統架構分成幾種型別:
c/s
client/Server 客戶端/伺服器架構
基於客戶端/伺服器的三層架構
基於客戶端/伺服器的分散式架構
b/s
基於瀏覽器/Web伺服器的三層架構
基於中介軟體應用伺服器的三層架構l
基於Web伺服器和中介軟體的多層架構l

總結:

總的來說,我認為,效能測試的難度主要不在技術手段上,網際網路時代技術都是共享的,要善於去搜索利用他人的成果。即使自己搞不定,團隊內一定還有專業的開發工程師、資料庫管理員、系統管理員可以幫你搞定。真正的難點在於,你要想出來如何去測是有效的、有保障的,這才是測試工程師最重要的能力。

還是那個觀點,思想才是根本。

歡迎加入  51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ                    群:                   755431660