微信小程序性能測試之jmeter踩坑秘籍(前言)
最近要做個微信小程序的性能壓測,雖然之前只做過web端的,但想一想都是壓後端的接口,所以果斷答應了下來,之前對jmeter都是小打小鬧,所以趁著這次機會好好擺弄擺弄。
--------------------------------------------------------------------------------踩坑前總結哈理論,這篇寫給自己的-----------------------------------------------------------------------------------
一,性能測試概述
看了些資料,我這裏小捋一下,有可能說得不準確,歡迎大家拍磚。(以下摘自段念的《軟件性能測試過程詳解與案例剖析》)
什麽叫性能測試:
觀察系統在一個給定的環境和場景中的性能表現是否與預期目標一致,評判系統是否存在性能缺陷,並根據測試結果識別性能瓶頸,改善系統性能的完整的過程
不同視角下的軟件性能:
1,用戶視角的軟件性能
從用戶的角度看,軟件性能就是軟件對用戶操作的響應時間,就像單擊一個按鈕,到應用系統把本次操作的結果以用戶能察覺的方式展示出來,這個過程所消耗的時間
2,管理員視角的軟件性能
管理員是一種特殊的用戶,除了關心系統的響應時間外,還會關心和系統狀態相關的信息,比如在1000用戶並發下,業務A的響應為3秒,此時的系統狀態如何,CPU內存如何等等
3,開發視角的軟件性能
從開發人員的角度看,除關心上面用戶的內容外,最想知道如何通過調整設計和代碼實現,系統設置等方法提高軟件的性能表現,以及發現並解決由於大量用戶訪問時引起的缺陷
二,性能測試理論
性能測試的應用領域:
1,能力驗證(描述方式:某系統能否在A條件下具有B能力)
2,規劃能力(描述方式:應該如何使系統具有我們要求的性能能力;或在某種可能發生的條件下,系統具有如何的性能能力)
3,性能調優(主要對應於對系統性能進行調優,一般會和其他性能測試應用領域的活動一起)
4,缺陷發現(通過性能測試的手段來發現系統中存在的缺陷,可以作為系統測試階段的一種補充測試手段)
5,性能基準比較(應用於敏捷開發過程中,不設定明確的性能目標,通過每次叠代的性能表現的變化,根據這些變化覺得叠代是否達到了預期目標)
性能測試的方法:
1,驗收性能測試
驗收性能測試方法通過模擬生產運行的業務壓力量和使用場景組合,測試系統的性能是否滿足生產性能要求
2,負載測試
負載測試方法在被測系統上不斷增加壓力,直到性能指標(如響應時間)超過預定指標或某種資源使用已達到飽和狀態
3,壓力測試
壓力測試方法測系統在一定飽和狀態下,例如CPU、內存等在飽和使用情況下,系統能夠處理的會話能力,以及系統能否出現錯誤
4,配置測試
配置測試方法通過對被測系統軟硬件環境的調整,了解各種不同環境對系統性能影響的程度,從而找到系統各項資源的最優分配原則
5,並發測試
並發測試方法通過模擬用戶的並發訪問,測試多用戶並發訪問同一個應用、同一個模塊或者數據記錄時是否存在死鎖或者其他性能問題
6,可靠性測試
可靠性測試方法通過給系統加載一定的業務壓力(例如資源在70%-90%的使用率),讓應用持續運行一段時間,測試系統在這種條件下能否穩定運行
7,失敗恢復測試
失敗恢復測試方法是針對有冗余備份和負載均衡的系統設計的,檢驗如果系統局部發生故障,用戶是否能夠繼續使用系統,或在這種情況發生下,用戶受到多大程度的影響
三,性能測試流程
說起測試流程,都大同小異,也遵循功能測試流程,這裏記錄一個非敏捷過程中的PTGM(Performance Testing General Model)模型:
1,測試前期準備
包括系統基礎功能驗證;組建測試團隊;測試工具需求確認
2,測試工具引入
包括選擇工具;工具應用的技能培訓;確定工具的應用過程
3,測試計劃
包括性能測試的領域分析;用戶活動剖析與業務建模;確定性能目標;制定性能測試時間計劃
4,測試設計與開發
包括測試環境設計;測試場景設計;測試用例設計;腳本和輔助工具開發
5,測試執行與管理
包括建立測試環境;部署測試腳本和測試環境;執行測試和記錄結果
6,測試分析
用於對測試結果進行分析,根據測試的目的和目標給出測試結論
---------------------------------------------------------------------------------------未完待續-------------------------------------------------------------------------------
下篇結合自己的實際過程,接著寫性能測試中關註的一些指標
微信小程序性能測試之jmeter踩坑秘籍(前言)