本節內容包括:
效能測試流程
效能測試成功要素
效能測試常用術語
效能測試通過標準
1、效能測試流程
在很多同學的概念中,效能測試就是使用loadrunner、jmeter等工具進行壓測,然後得到測試結果即可,但仔細想想,對誰進行測試?測試目的是什麼?監測指標有哪些?得到的結果如何分析(怎樣的結果算通過)等等。所以使用工具壓測只是效能測試最基礎的乙個步驟,下面先來看看效能測試的一般流程:
(1)業務學習:通過檢視需求文件、prd等相關文件+手工操作來了解系統功能;
(2)分析需求:分析系統的非功能需求,圈定效能測試的範圍,了解系統效能指標;
(3)工作評估:工作量分解,評估工作量,計畫資源投入(需要多少硬體資源,多少人力、時長來完成測試工作)。
(4)設計模型:可以理解為測試場景,是單一測試場景還是混合測試場景;
(5)編寫計畫:測試計畫應明確列出測試範圍、人力投入、持續時間、工作內容、風險評估、風險應對策略等;
(6)準備測試環境:準備伺服器(部署被測系統),負載機(安裝壓測工具,產生負載的機器)
(7)準備測試資料:根據測試場景(設計模型)準備資料,原因有兩個:a、有些資料是支撐系統執行的基礎(比如我們要對登入進行壓測,首先需要準備一些註冊好的賬號);b、不同量級資料影響效能結果(比如從不同量級的資料庫查詢結果,時間肯定不一樣),至於準備什麼量級的資料則需要跟專案實際情況來設計;
(8)開發指令碼:根據測試場景,測試用例開發測試指令碼(錄製或手動編寫);
(9)測試執行:執行測試;
(10)缺陷管理:跟蹤測試過程中發現的缺陷;
(11)效能分析:對效能測試結果進行分析,是否滿足預期目標,如果不滿足則需找出原因;
(12)效能調優:根據上一步的分析,嘗試優化系統;
(13)測試報告:對測試工作進行總結,報告測試結果,發現的問題等
(14)評審:對效能報告中的內容進行評審,確認問題、評估上線風險。雖然有時候效能測試結果不理想,但基於時間和成本等方面的考慮也會上線,後續再快速迭代。
效能測試交付件:
測試計畫
測試指令碼
測試程式
測試報告
2、效能測試成功要素
效能測試上手較難,是一門融合測試、開發、運維、需求調研、架構、協調管理等綜合技能的學科,掌握乙個測試工具只是最基礎的一步。效能測試有幾大難點:
需求分析
場景設計
效能診斷調優
環境搭建和模擬
3、效能測試常用術語
(1)負載:模擬使用者操作對伺服器造成壓力的過程,比如模擬100個使用者同時登入;
(2)效能測試(performance test):在指定的負載情況下,系統效能指標(響應時間、吞吐量等)是否滿足要求;
(3)負載測試(loading test):在一定的硬體環境前提下,通過不斷的增加負載(不同的虛擬使用者數)來確定滿足效能指標情況下所能夠承受的最大併發使用者數。簡單來說,就是幫我們對系統進行定容定量,找出系統效能拐點,給予生成環境規劃建議。這裡說的效能指標包括:tps(每秒事務數)、rt(事務平均響應時間)、cpu using(cpu利用率)、memory using(記憶體利用率)等;
(4)壓力/強度測試:在一定的軟硬體環境下,通過高負載的手段來使伺服器資源(強調伺服器資源,硬體資源)處於極限狀態,測試系統在極限狀態下長時間執行十分穩定,確定是否穩定的指標包括tps、rt、cpu利用率、記憶體利用率等;
(5)穩定性測試:在一定軟硬體環境下,長時間執行一定的負載,確定系統在滿足效能指標的前提下是否執行穩定。與上面的壓力/強度測試區別在於負載並不強調在極限狀態下,一般使用目標負載的1.5~2倍的負載數量進行測試;
(6)tps:每秒完成事務數。事務是指乙個操作集合,不同場景中事務所包含的操作不同,這個概念我們後續結合例項介紹;
(7)rt:響應時間。指乙個事務花費多長時間完成,為了使這個值更具代表性,會統計平均值,也就是art,不過一般說rt就是指平均響應時間。
(8)pv(page view):每秒使用者訪問頁面的次數,此引數可以幫助我們分析平均每秒有多少個使用者訪問頁面
(9)vuser(virtual user):虛擬使用者,用來模**實使用者進行操作;
(10)concurrency(併發):
狹義併發:虛擬使用者在同一時刻做同一件事情或操作,這種操作一般針對同一型別的業務,或者所有使用者進行完全一樣的操作,目的是測試資料庫和程式對併發操作的處理。
廣義併發:虛擬使用者對系統進行操作,但操作可以不同;
狹義併發多適用於單一測試場景,廣義併發多適用於混合測試場景、穩定性測試場景;
(11)場景(scenario):模擬真實使用者某個操作的過程,這個過程就可以稱為乙個場景,我們舉個論壇系統的例子;
單一場景:使用者登入,單單這個login的動作就是乙個場景;
混合場景:使用者發帖場景,可能包含以下幾個動作,先登入,開啟發帖頁,輸入文字,選擇板塊,發帖,這幾個動作組成了乙個發帖的混合場景;
(12)思考時間(think time):因為使用者在進行操作時,每個操作是有時間間隔的,對應到指令碼中,就是兩個請求指令碼之間的時間間隔
4、效能測試通過標準
效能測試基本概念
1 應用系統從請求發出開始到客戶端收到相應所消耗的時間 2 應用系統從請求發出開始到客戶端接收到最後乙個位元組資料所消耗的時間 ps 由於瀏覽器的行為是既定的,所以仍然採用第二種方式來描述響應時間 併發使用者數 1 業務併發使用者數 同乙個時間段內訪問系統的使用者數量,該概念一般在效能測試 perf...
效能測試基本概念
1.併發使用者數 就是模擬每秒多少人同時作業系統,當前,未來三年,極大值 卡死,但只要停掉系統就可恢復 2.高峰週期 在哪個時間段訪問系統使用者數量最多 與專案團隊評估 3.場景 正確使用場景,模擬使用者真實操作,每個測試場景就是乙個用例 4.協議和請求 效能測試都是走協議的,建立http請求,用f...
效能測試方法及基本流程
隨著應用軟體使用者負載的增加和愈來愈複雜的應用環境,使用者的響應速度 系統的安全執行等效能問題 逐漸成為軟體系統必須考慮的指標之一。效能測試通常通過自動化的測試工具模擬多種正常 峰值以及異常負載條件來對系統的各項效能指標進行測試,用來檢測軟體是否達到使用者提出的效能指標,及時發現軟體系統中存在的瓶頸...