更新時間:2020年06月07日17時06分 來源:傳智播客 瀏覽次數(shù):
一、準(zhǔn)備工作
在什么階段開展性能測試工作?一般情況下,是在被測系統(tǒng)已完成功能測試、系統(tǒng)趨于穩(wěn)定的情況下,才會進(jìn)行性能測試。
1. 組建測試團(tuán)隊
根據(jù)被測系統(tǒng)的實(shí)際情況,組建一個性能測試團(tuán)隊,團(tuán)隊成員包括:開發(fā)人員、運(yùn)維人員、DBA和測試人員等。
2. 性能需求調(diào)研
性能需求調(diào)研工作一般是有性能測試人員負(fù)責(zé),產(chǎn)品經(jīng)理、開發(fā)人員、運(yùn)維人員配合完成。
調(diào)研系統(tǒng)線上環(huán)境的性能需求,包括性能需求、可靠性需求、可維護(hù)性需求等。
調(diào)研系統(tǒng)相關(guān)信息,如硬件參數(shù)配置、系統(tǒng)架構(gòu)與部署方式等。
調(diào)研業(yè)務(wù)場景信息,如關(guān)鍵業(yè)務(wù)邏輯與處理流程、交易列表、交易量信息、業(yè)務(wù)分布規(guī)律等。
3. 工具的選擇
綜合系統(tǒng)設(shè)計、工具成本、測試團(tuán)隊的技能來考慮,選擇合適的測試工具。
壓測工具:JMeter、Loadrunner、Locust等等。
監(jiān)控工具:nmon、lepus、jvisualvm、prometheus、grafana等等。
二、性能測試計劃
1. 分析性能測試背景
根據(jù)對項目背景和業(yè)務(wù)的了解,確定本次性能測試要解決的問題點(diǎn)。常見的情況有:
對于一個新系統(tǒng),需要測試系統(tǒng)的承受能力。
對于運(yùn)行中的系統(tǒng)不能滿足實(shí)際的需求,需要確定性能瓶頸。
增加了新的業(yè)務(wù),需要重新評估系統(tǒng)的承受能力。
系統(tǒng)架構(gòu)進(jìn)行了調(diào)整,需要重新評估系統(tǒng)的承受能力。
2. 分析用戶場景
根據(jù)對系統(tǒng)業(yè)務(wù)、用戶活躍時間、訪問頻率、場景交互等各方面的分析,整理業(yè)務(wù)場景,為測試腳本開發(fā)提供依據(jù)。
3. 確定性能目標(biāo)
針對具體的業(yè)務(wù)功能點(diǎn),制定期望的性能目標(biāo)。其中需要和其他業(yè)務(wù)部門進(jìn)行溝通協(xié)商,以及結(jié)合當(dāng)前系統(tǒng)的響應(yīng)時間等數(shù)據(jù),確定最終我們需要達(dá)到的響應(yīng)時間和系統(tǒng)資源使用率等目標(biāo)。
4. 制定性能測試實(shí)施計劃
根據(jù)項目組的時間安排,計劃本次性能測試的起止時間、參與人員、產(chǎn)出物等等。
三、性能測試設(shè)計
1. 測試環(huán)境設(shè)計
不同的軟件和硬件配置會制約系統(tǒng)的整體性能,所以需要部署多個不同的測試環(huán)境,在不同的硬件配置上檢查應(yīng)用系統(tǒng)的性能,并對不同配置下系統(tǒng)的測試結(jié)果進(jìn)行分析,得出最優(yōu)結(jié)果。需要重點(diǎn)關(guān)注有數(shù)據(jù)庫服務(wù)器、應(yīng)用服務(wù)器、軟件運(yùn)行環(huán)境。
2. 測試場景設(shè)計
根據(jù)被測系統(tǒng)的業(yè)務(wù)特性,并通過和業(yè)務(wù)部門溝通以及以往用戶操作習(xí)慣,確定用戶操作習(xí)慣模式,以及不同的場景用戶數(shù)量,操作次數(shù),確定測試指標(biāo),以及性能監(jiān)控等。
3. 測試用例設(shè)計
根據(jù)設(shè)計的測試場景,編寫測試用例。用例的核心內(nèi)容包括:用例編號、用例標(biāo)題、前置條件、操作步驟、測試數(shù)據(jù)、預(yù)期結(jié)果、實(shí)際結(jié)果等等。
4. 編寫測試腳本
根據(jù)測試用例和選擇的工具,準(zhǔn)備測試數(shù)據(jù),編寫測試腳本。
四、性能測試執(zhí)行
1. 部署測試環(huán)境
一般由運(yùn)維或開發(fā)人員進(jìn)行環(huán)境的部署,并進(jìn)行資源協(xié)調(diào)。
2. 執(zhí)行測試腳本
在已部署好的測試環(huán)境中,按照業(yè)務(wù)場景和測試用例,按順序執(zhí)行我們已經(jīng)設(shè)計好的測試腳本。
3. 性能監(jiān)控和記錄
根據(jù)選擇的測試工具和監(jiān)控工具,在壓測的過程中對各項性能指標(biāo)進(jìn)行監(jiān)控和記錄。
五、性能測試分析
分析不同的測試環(huán)境下,硬件設(shè)備的性能指標(biāo)與預(yù)期的性能指標(biāo)進(jìn)行對比,確定是否達(dá)到了我們需要的結(jié)果。針對沒有達(dá)到預(yù)期的指標(biāo),分析具體的瓶頸點(diǎn)。
分析不同的測試環(huán)境下,分析應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、中間件等組件的性能指標(biāo)。
在性能測試執(zhí)行過程中,可能會發(fā)現(xiàn)某些功能上的不足或存在的缺陷,以及需要優(yōu)化的地方。
六、性能測試調(diào)優(yōu)
確定問題:根據(jù)性能分析的結(jié)果確定存在的性能問題。
分析問題:根據(jù)確定的問題進(jìn)行具體詳細(xì)的分析出現(xiàn)問題的原因。
確定調(diào)整目標(biāo)和解決方案。
測試解決方案:對調(diào)優(yōu)后的系統(tǒng)再次進(jìn)行測試。
分析調(diào)優(yōu)結(jié)果:分析調(diào)優(yōu)結(jié)果是否到達(dá)了預(yù)期目標(biāo)。
七、性能匯總與報告
對性能測試的過程和結(jié)果進(jìn)行匯總
編寫性能測試報告
推薦了解傳智播客軟件測試培訓(xùn)課程。
猜你喜歡:
在測試環(huán)境中,一般都是如何部署被測程序的?
web端和app端兼容性考慮哪些方面?
如何同步CentOS7的Chrony系統(tǒng)時鐘?【IT運(yùn)維培訓(xùn)】
2020-04-2910分鐘創(chuàng)建阿里云容器服務(wù)kubernetes專有版[圖文]
2020-04-29進(jìn)程管理工具Supervisor安裝部署教程【運(yùn)維培訓(xùn)】
2020-04-28Kubernetes網(wǎng)絡(luò)模型詳細(xì)介紹[IT運(yùn)維培訓(xùn)]
2020-04-04如何通過U盤安裝物理電腦linux系統(tǒng)?
2020-04-04API服務(wù)網(wǎng)關(guān)實(shí)現(xiàn)之APISIX安裝和部署
2020-04-04