压力测试和负载测试区别_如何理解与区分软件性能测试、负载测试、稳定性测试、压力测试...
性能測試、負(fù)載測試、穩(wěn)定性測試、壓力測試之間有何區(qū)別?剛開始自己也不能很好的區(qū)分,隨著一些具體性能測試實(shí)踐的開展,大概有一個基本的認(rèn)識,總結(jié)如下:
首先,大致了解下軟件產(chǎn)品的性能受哪些因素的影響
我們知道,軟件總是運(yùn)行在一定的環(huán)境下 ,這種環(huán)境包括支撐軟件運(yùn)行的軟硬件環(huán)境和影響軟件運(yùn)行的外部條件。為了讓客戶使用軟件系統(tǒng)感到滿意,必須確保系統(tǒng)運(yùn)行良好,達(dá)到高安全、高可靠和高性能。其中,系統(tǒng)是否具有高性能的運(yùn)行特征,不僅取決于系統(tǒng)本身的設(shè)計(jì)和程序算法,而且取決于系統(tǒng)的運(yùn)行環(huán)境(硬件環(huán)境)。系統(tǒng)的運(yùn)行環(huán)境會依賴于哪些關(guān)鍵因素,例如:
- 系統(tǒng)架構(gòu),如分布式服務(wù)器集群還是集中式主機(jī)系統(tǒng)等。
- 硬件配置,如服務(wù)器的配置, CPU、內(nèi)存等配置越高,系統(tǒng)的性能會越好。
- 網(wǎng)絡(luò)帶寬,隨著帶寬的提高,客戶端訪問服務(wù)器的速度會有較大的改善。
- 支撐軟件的選定 ,如選定不同的數(shù)據(jù)庫管理系統(tǒng)( Oracle. MySQL等 )和web應(yīng)用服務(wù)器( Tomcat Glassish. Jboss. WebLogic等 ),對應(yīng)用系統(tǒng)的性能都有影響。
- 外部負(fù)載,同時有多少個用戶連接、用戶上載文件大小、數(shù)據(jù)庫中的記錄數(shù)等都會對系統(tǒng)的性能有影響。一般來說 ,系統(tǒng)負(fù)載越大,系統(tǒng)的性能會降低。
從上面可以看出,使系統(tǒng)的性能達(dá)到一個最好的狀態(tài),不僅通過對處在特定環(huán)境下的系統(tǒng)進(jìn)行測試以完成相關(guān)的驗(yàn)證,而且往往要根據(jù)測試的結(jié)果,對系統(tǒng)的設(shè)計(jì)、代碼和配置等進(jìn)行調(diào)整,提高系統(tǒng)的性能。 許多時候,系統(tǒng)性能的改善是測試調(diào)整、再測試再調(diào)整、一個持續(xù)改進(jìn)的過程,這就是我們經(jīng)常說的性能調(diào)優(yōu)。在了解了這樣一個背景之后 ,就比較容易理解為什么在性能測試中常常要談負(fù)載測試。從測試的目的出發(fā)、從用戶的需求出發(fā),就比較容易區(qū)分性能測試、負(fù)載測試、穩(wěn)定性測試、壓力測試。
其次,如何理解性能測試、負(fù)載測試、穩(wěn)定性測試、壓力測試
性能測試、負(fù)載測試、穩(wěn)定性測試、壓力測試的測試目的不同,但其手段和方法在一定程度上比較相似,通常會使用相同的測試環(huán)境和測試工具,而且都會監(jiān)控系統(tǒng)所占用資源的情況以及其它相應(yīng)的性能指標(biāo),這也是造成我們?nèi)菀桩a(chǎn)生概念混淆的主要原因。
性能測試類型
廣義上性能測試指的是以下幾種性能測試類型:
- 性能測試
- 負(fù)載測試
- 壓力測試
- 穩(wěn)定性測試
一般系統(tǒng)的性能指標(biāo)
- 響應(yīng)時間(系統(tǒng)為其服務(wù)所耗費(fèi)的時間)。
- 吞吐量(簡單講就是系統(tǒng)在每單位時間內(nèi)能處理多少個事務(wù)/請求/單位數(shù)據(jù)等)。
- 資源使用率(常見的資源有:CPU占用率、內(nèi)存使用率、磁盤I/O、網(wǎng)絡(luò)I/O)。
- 點(diǎn)擊數(shù)(單位時間內(nèi),系統(tǒng)響應(yīng)客戶的請求,是系統(tǒng)處理能力的一個很有用的指標(biāo))。
- 并發(fā)用戶數(shù)(并發(fā)用戶數(shù)用來度量服務(wù)器并發(fā)容量和同步協(xié)調(diào)能力)。
我們?nèi)∑渲心硯讉€性能指標(biāo),舉個栗子。我們先假設(shè)一個場景:XX查詢系統(tǒng),其中一項(xiàng)產(chǎn)品規(guī)格(性能指標(biāo))為300用戶并發(fā)查詢,頁面首屏結(jié)果請求響應(yīng)時間不超過3秒。
性能測試
測試A點(diǎn)的系統(tǒng)性能。
性能測試是為了獲得系統(tǒng)在某種特定的條件下(包括特定的負(fù)載條件下)的性能指標(biāo)數(shù)據(jù)。
負(fù)載測試
測試 A點(diǎn)以下到C點(diǎn)系統(tǒng)性能。
負(fù)載測試的目標(biāo)是測試在一定負(fù)載情況下系統(tǒng)性能(不關(guān)注穩(wěn)定性,也就是說不關(guān)注長時間運(yùn)行),實(shí)際中我們常從比較小的負(fù)載開始,逐漸增加模擬用戶的數(shù)量(增加負(fù)載), 觀察不同負(fù)載下應(yīng)用程序響應(yīng)時間、數(shù)據(jù)吞吐量、系統(tǒng)資源使用率(如CPU、內(nèi)存)等,直到到系統(tǒng)的某項(xiàng)或多項(xiàng)性能指標(biāo)達(dá)到安全臨界值(如,系統(tǒng)內(nèi)存已飽和),以發(fā)現(xiàn)系統(tǒng)可能存在的性能瓶預(yù)、內(nèi)存泄漏、不能實(shí)時同步等問題(不關(guān)注穩(wěn)定性,也就是說不關(guān)注長時間運(yùn)行。它是測試系統(tǒng)的不同負(fù)載情況下的性能指標(biāo)。
穩(wěn)定性測試
測試 A點(diǎn)以下 到 B 點(diǎn)之間
穩(wěn)定性測試是一般在低于性能值的前提下進(jìn)行測試的,一般穩(wěn)定性測試時間持續(xù)為 n*24 小時。測試時,我們需要結(jié)合用戶實(shí)際情況控制測試中的負(fù)載量 ,使測試結(jié)果更具準(zhǔn)確性和可靠性。
壓力測試
測試B 點(diǎn)到D 點(diǎn)之間系統(tǒng)性能。
壓力測試是在高于性能指標(biāo)負(fù)載的前提下(超負(fù)載)對系統(tǒng)持續(xù)施加壓力進(jìn)行測試的,查看應(yīng)用系統(tǒng)在峰值使用情況下操作行為,從而有效地發(fā)現(xiàn)系統(tǒng)的某項(xiàng)功能隱惠、系統(tǒng)是否具有良好的容錯能力和可恢復(fù)能力。壓力測試分為高負(fù)載下的長時間(如124小時以上)的穩(wěn)定性壓力測試和極限負(fù)載情況下導(dǎo)致系統(tǒng)崩潰的破壞性壓力測試。
- 穩(wěn)定性壓力測試:在選定的壓力值下,長時間持續(xù)運(yùn)行。通過這類壓力測試,可以考察各項(xiàng)性能指標(biāo)是否在指定范圍內(nèi),有無內(nèi)存泄漏、有無功能性故障。
- 破壞性壓力測試:在穩(wěn)定性壓力測試中可能會出現(xiàn)些問題 ,如系統(tǒng)性能明顯降低,但很難察露出其真實(shí)的原因。通過破壞性不斷加壓的手段(極限負(fù)載情況下導(dǎo)致系統(tǒng)崩潰),往往能快速造成系統(tǒng)的崩潰。
壓力測試的幾點(diǎn)注意
- 測試時,我們需要注意并不是負(fù)載超過了系統(tǒng)的最大處理能力, 系統(tǒng)功能都會失效。例如,OA簽到最多支持500用戶井發(fā)登錄,但某時550用戶同時進(jìn)行登錄時,系統(tǒng)應(yīng)保證550個用戶中,500用戶是可以正常登錄,而不是所有用戶都無法登錄。
- 用戶的業(yè)務(wù)負(fù)載并不是平均的,可能在極短時間內(nèi),出現(xiàn)超過負(fù)載的情況,如某寶雙十一。因此不建議用持續(xù)超過系統(tǒng)負(fù)載的測試方法進(jìn)行壓力測試,只要負(fù)載足夠多,系統(tǒng)總會被搞掛,建議使用突發(fā)形態(tài)的負(fù)載模型。
總結(jié)
以上是生活随笔為你收集整理的压力测试和负载测试区别_如何理解与区分软件性能测试、负载测试、稳定性测试、压力测试...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 十大网络(近两年成功的网络营销案例)
- 下一篇: 转:教你用CHARIOT测量带宽、网速