一、什麼是軟體效能
定義:軟體的效能是軟體的一種非功能特性,它關注的不是軟體是否能夠完成特定的功能,而是在完成該功能時展示出來的及時性。
由定義可知效能關注的是軟體的非功能特性,所以一般來說效能測試介入的時機是在功能測試完成之後。另外,由定義中的及時性可知效能也是一種指標,可以用時間或其它指標來衡量,通常我們會使用某些工具或手段來檢測軟體的某些指標是否達到了要求,這就是效能測試。
效能測試定義:指通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項效能指標進行測試。
二、效能測試型別
負載測試:是指對系統不斷地增加壓力或增加一定壓力下的持續時間,直到系統的某項或多項效能指標達到安全臨界值,例如某種資源已經達到飽和狀態等 。
壓力測試:壓力測試是評估系統處於或超過預期負載時系統的運**況,關注點在於系統在峰值負載或超出最大載荷情況下的處理能力。
穩定性測試:在給系統載入一定業務壓力的情況下,使系統執行一段時間,以此檢測系統是否穩定。
併發測試:測試多個使用者同時訪問同乙個應用、同乙個模組或者資料記錄時是否存在死鎖或者其他效能問題,
三、效能測試基本概念
1、響應時間
a)定義:從使用者傳送乙個請求到使用者接收到伺服器返回的響應資料這段時間就是響應時間
b) 關鍵路徑:下圖為一次http請求經過的路徑,請求會經過網路傳送到web伺服器進行處理,如果需要操作db,再由網路**到資料庫進行處理,然後返回值給web伺服器,web伺服器最後把結果資料通過網路返回給客戶端。
c) 計算方法:response time = (n1+n2+n3+n4)+ (a1+a2+a3),即:(網路時間 + 應用程式處理時間)
d) 響應時間-負載對應關係:
圖中拐點說明:
1、響應時間突然增加
2、意味著系統的一種或多種資源利用達到的極限
3、通常可以利用拐點來進行效能測試分析與定位
2、吞吐量
a)定義:單位時間內系統處理的客戶端請求的數量
b)計算單位:一般使用請求數/秒做為吞吐量的單位,出可以使用 頁面數/秒錶表示。
另外,從業務角度來說也可以使用 訪問人數 /天 或 頁面訪問量/天 做為單位。
c)計算方法:throughput = (number of requests) / (total time).
d)吞吐量-負載對應關係:
圖中拐點說明:
1、吞吐量逐漸達到飽和
2、意味著系統的一種或多種資源利用達到的極限
3、通常可以利用拐點來進行效能測試分析與定位
3、併發數:
併發使用者數:某一物理時刻同時向系統提交請求的使用者數,提交的請求可能是同乙個場景或功能,也可以是不同場景或功能。
系統使用者數:系統註冊的總使用者資料
4、資源利用率
a) 定義:指的是對不同系統資源的使用程度,通常以占用最大值的百分比來衡量
b) 通常需要關注的伺服器資源如下:
2、記憶體:大腦中的記憶塊區,將眼睛,**等收集到的資訊記錄起來的地方,以供cpu進行判斷,但是是臨時的,訪問速度快,如果關機或斷電這裡的資料會消失。
3、磁碟io:大腦中的記憶區塊,將重要的資料儲存起來(永久儲存,關機或斷電不會丟失,速度慢),以便將來再次使用這些資料。
4、網路:
c)資源利用-負載對應關係:
圖中拐點說明:
1、伺服器某薦資源使用逐漸達到飽和
2、通常可以利用拐點來進行效能測試分析與定位
5、其它常用概念:
a) tps:transactions per second,每秒事務數
c)點選數:每秒鐘使用者向web伺服器提交的http請求數。這個指標是web應用特有的乙個指標:web應用是"請求-響應"模式,使用者發出一次申請,伺服器就要處理一次,所以點選是web應用能夠處理的交易的最小單位。如果把每次點選定義為乙個交易,點選率和tps就是乙個概念。容易看出,點選率越大,對伺服器的壓力越大。點選率只是乙個效能參考指標,重要的是分析點選時產生的影響。需要注意的是,這裡的點選並非指滑鼠的一次單擊操作,因為在一次單擊操作中,客戶端可能向伺服器發出多個http請求.
uv:作為乙個獨立的使用者,訪問站點的所有頁面均算作乙個uv(unique visitor,使用者訪問)
效能基礎理論
一 效能測試的意義 現狀 網際網路行業發展快,使用者量大大增加 業務和系統架構越來越複雜,資料越來越多,使用者不僅僅滿足於功能的實現,在某些場景下,更在意系統效能。二 什麼是效能測試 百科解釋 效能測試是通過自動化的測試工具模擬多種正常 峰值以及異常負載條件來對系統的各項效能指標進行測試。負載測試和...
軟體測試基礎理論
軟體產品的質量 指的是實體特性的綜合,表示實體滿足明確或隱含要求的能力。軟體測試的目的 1 驗證軟體是否滿足軟體開發合同或者專案開發計畫,系統 子系統設計文件,軟體需求規格說明等規定的軟體質量要求。2 通過測試,發現軟體缺陷3 為軟體產品質量的測量和評價提供依據。軟體測試的四個過程 1 測試策劃 主...
軟體測試基礎理論
軟體質量 軟體產品的特性可以滿足使用者功能 效能需求的能力。軟體產品質量的六大特性 功能性 可靠性 可使用性 效率 可維護性 可移植性 測試計畫包括 a.概述 b.測試範圍 c.測試策略d.資源安排 e.進度安排 f.發布標準 g.測試交付件 測試用例 用例編號 用例名稱 所屬功能模組 前置條件 測...