完整的性能测试流程软件测试性能测试流程
前言
本篇文章帶大家一起學習性能測試
1,使用jmeter工具進行接口的性能壓測
2,熟練使用jmeter工具
3,針對項目接口進行壓測(性能測試的流程和操作的過程介紹)
4,分析調優(拓展部分)
一,關于性能測試的理論介紹
為什么要進行性能測試?
業務方面需求:
1.如每年雙十一活動/微信春晚搶紅包/12306春運訂票等
2.當前服務器配置是否支持10000人同時使用
功能:有 /無
性能:好/壞
性能關注點:
性能(效率)
(1)時間特點:即服務器處理用戶請求的響應時間,如卡/不卡的情況
(2)資源特點:軟件運行時,對服務器資源的消耗情況,如CPU,內存,磁盤等
什么是性能測試?一般是指服務器的性能
使用自動化工具,模擬不同的場景,對軟件各項性能指標進行測試和評估的過程
1.后臺處理程序的性能(代碼的性能)
2.中間件,數據庫,架構設計等是否存在瓶頸
中間件:tomcat,apache,nginx等應用服務器
性能測試的目的是什么?
1,評估當前系統能力,如驗收第三方提供的軟件
2,找到性能瓶頸,優化性能
3,評估軟件能否滿足未來的需求,例如 淘寶雙十一交易額逐年遞增
性能測試和功能測試比較
1.區別:關注點不一樣
功能測試:主要關注功能上(滿足條件,和不滿足條件的)
性能測試:主要關注業務場景上 (響應時間 消耗資源)
2.功能測試和性能測試相輔相成
測試順序:一般先功能測試 ,后性能測試
性能測試的策略,即性能測試的分類有哪些?(面試高頻知識點)
1,基準測試:獲取單個用戶測試的各項性能指標,為多用戶并發測試提供參考依據
2,負載測試:是驗證在不同的并發下系統的表現情況,測試30,50,80個用戶的性能
案例:健身,舉啞鈴
10斤啞鈴,舉起10個需要15秒。
20斤啞鈴,舉起10個需要15秒
30斤啞鈴,舉起10個需要15秒---最優負載量
40斤啞鈴,舉起10個需要20秒---最優負載量
50斤啞鈴,舉起10個需要40秒
60斤啞鈴,舉起10個需要100秒---最大負載量
70斤啞鈴,舉不起來
3,穩定性測試:在服務器穩定運行的情況下,進行長時間測試,時長一般為1天
4,其他:并發測試,壓力測試,容量測試
橫向坐標:系統當前的用戶量,越往右用戶量越大!
縱向坐標:
1 :資源的利用情況(Utilization,包括硬件資源和軟件資源)
2:吞吐量(Throughput,這里是指每秒事務數)即處理能力
3:響應時間(Response Time),業務處理的響應時間
(1)在A點----B點區間內,隨著用戶數量的增加 【在最優負載內】
系統資源的使用情況 在逐步增加的
系統處理能力也在逐步增加
系統的響應時間變化不大
(2)在B點----C點區間內,隨著用戶數量的增加 【達到了最大負載量】
系統資源的使用情況 不變
系統處理能力不變
系統的響應時間在逐步增加
(3)在C點----D點區間內,隨著用戶數量的增加 【系統崩潰,超過了最大負載量】
系統資源的使用情況
系統處理能力會減小
系統的響應時間在逐步增加
系統處理的最大用戶數量是(B)
系統長時間穩定運行時,推薦的用戶數量是(B)
并發測試:是指在極短的時間內,發送多個請求 來驗證服務器對并發的處理能力。例如 搶紅包,搶購,秒殺活動等
壓力測試:是在強負載下(大數據量,大量并發用戶下)的測試,查看應用程序在峰值的使用情況,
(1)穩定性壓力測試:在系統高負載的情況下(臨近C點)長時間運行(24小時)查看系統處理能力。
(2)破壞性壓力測試:在系統極限負載的情況下(C-D點)對系統進行壓力測試,查看系統容錯能力和錯誤恢復能力。
容量測試:關注軟件的極限壓力下的各個參數值 例如 最大TPS (每秒事務處理量(TransactionPerSecond)),最大并發數,最大連接數(數據庫建立連接)
性能測試的常用指標有哪些?(面試高頻知識點)
定義:在性能測試的過程中 記錄的數據值,用這些數據值與需求中的性能要求做對比,達到標準則無問題,未達到則是性能BUG
1.響應時間:從客戶端發起請求開始,到客戶端從收到服務器端返回的結果的整個消耗時間
響應時間=網絡時間+應用程序處理時間
2.并發數(正在發生請求的用戶,,,)
同一時刻 不同的用戶做同一個操作或對同一個服務器做不同的操作。
絕對并發:同一時刻不同的用戶做同一個操作。
3.吞吐量:每秒服務器處理的請求個數或事務數。從技術角度衡量系統性能重要指標,TPS 每秒事務數
4.點擊數(使用少):只有web項目才有此指標,
5.資源使用率:指系統資源使用的情況, 資源利用率=資源的使用量/總的資源可用量×100%
1)建議CPU不高于80% CPU:的能力高低直接影響了整個電腦的運行速度,絕大多數的程序,都要經過它的運算,當然也包括病毒,如果它的使用率太高,會導致整個電腦的速度下降
2)內存不高于80% 內存:程序運行時所消耗的空間
3)磁盤不高于90% 磁盤:存儲數據文件
4)網絡不高于80% 影響數據的傳輸速度
6.錯誤率:系統在負載情況下失敗業務的概率 ,錯誤率=(失敗業務數 / 業務總數)*100%
性能測試的流程有哪些?(面試高頻知識點)
1.性能測試需求分析
2.性能測試計劃與方案
3.性能測試用例
4.性能測試腳本編寫/錄制
5.建立性能測試環境
6.執行測試用例
7.性能測試監控
8.性能分析和調優
9.性能測試報告總結
性能測試需求分析
1,熟悉被測試的系統
(1)熟悉被測試的系統的業務功能
(2)熟悉測試系統的技術架構
2.明確性能測試內容
業務方面:確定關鍵業務,即用戶使用頻率高的業務功能
技術方面:邏輯復雜高的業務 即CPU密集運行的地方
3.明確測試范圍
負載測試:最優,最大負載量
穩定性測試:能否長時間穩定地運行
并發測試:用戶一起使用時是否會出問題
4.確定測試指標
沒有明確指標時:可以參考類似系統對比,查相關資料,
有明確指標時
例如:(1)下單業務并發20個用戶
(2)平均響應時間要小于等于3S
(3)事務成功率100%
(4)CPU使用率小于等于85%
性能測試計劃與方案
1.項目背景
2.測試目的
3.測試范圍
4.測試策略
5.風險控制
6.交付清單
7.進度與分工
性能測試用例
要素:用例標題,用例編號,用例前置條件,用例步驟,用例預期結果,用例實際結果(需要監控的各項性能指標)
模板如下,和功能測試用例差不多一樣
執行測試步驟
1.測試腳本編寫/錄制:用例編寫完成后,結合用例的需要 進行測試腳本的編寫
2.搭建測試環境:一般包括硬件和軟件環境及網絡環境(運維和開發協助完成)
注意:盡可能和用戶使用的環境一樣
3.執行測試腳本:先保證腳本調試通過之后,才能進入正式的壓測階段,在執行測試腳本同時,要先進行性能運行場景的設置,再運行腳本
4.性能測試監控:監控服務器的各項指標 例如:監控CPU,內存,網絡,tps,磁盤等
5.性能分析和調優:對結果進行分析以后,提測系統存在性能的瓶頸。調優 即讓開發改代碼
(性能的BUG數量少,但開發 修改可能一個月的時間才能修復)
性能測試報告
1.性能測試需求覆蓋情況,測試過程回顧,測試中發現的問題,
2.各類風險如果控制的 ,目前是否存在簽證的風險
3.經過本次性能測試后,總結測試經驗和教訓
總結
以上是生活随笔為你收集整理的完整的性能测试流程软件测试性能测试流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB调试caffe,在MATLA
- 下一篇: 电脑配置推荐电脑推荐配置