wordpress網(wǎng)站 添加微信/個人網(wǎng)站規(guī)劃書模板
🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快
壓力測試
壓力測試是一種軟件測試,用于驗證軟件應(yīng)用程序的穩(wěn)定性和可靠性。壓力測試的目標(biāo)是在極其沉重的負(fù)載條件下測量軟件的健壯性和錯誤處理能力,并確保軟件在危急情況下不會崩潰。它甚至可以測試超出正常工作點的測試,并評估軟件在極端條件下的工作情況。
在軟件工程中,壓力測試也被稱為耐力測試。在壓力測試中,對AUT進行短時間的壓力測試,以了解其承受能力。壓力測試最突出的用途是確定系統(tǒng)或軟件或硬件崩潰的極限。它還檢查系統(tǒng)是否在極端條件下顯示出有效的錯誤管理。
從網(wǎng)站復(fù)制5GB數(shù)據(jù)并粘貼到記事本中,會對正在測試的應(yīng)用程序施加壓力。記事本處于壓力下,并給出“未響應(yīng)”錯誤消息。
需要壓力測試的場景
考慮下面的實時例子,我們可以發(fā)現(xiàn)壓力測試的用法
- 在節(jié)日期間,在線購物網(wǎng)站可能會迎來流量高峰,或者宣布打折。
- 當(dāng)一個博客在一家主要報紙上被提及時,它的流量就會突然激增。
必須進行壓力測試以適應(yīng)這種異常的流量峰值。未能適應(yīng)這種突然的流量可能會導(dǎo)致收入和聲譽的損失。
壓力測試也非常有價值,原因如下:
- 檢查系統(tǒng)是否處于異常狀態(tài)。
- 當(dāng)系統(tǒng)處于壓力下時顯示適當(dāng)?shù)腻e誤消息。
- 系統(tǒng)在極端條件下的故障可能導(dǎo)致巨大的收入損失
- 最好通過執(zhí)行壓力測試來為極端條件做好準(zhǔn)備。
壓力測試的目標(biāo)
壓力測試的目標(biāo)是分析系統(tǒng)發(fā)生故障后的行為。為了使壓力測試成功,系統(tǒng)在極端條件下應(yīng)該顯示適當(dāng)?shù)腻e誤消息。
為了進行壓力測試,有時可能會使用大量的數(shù)據(jù)集,這些數(shù)據(jù)集可能在壓力測試過程中丟失。測試人員在進行壓力測試時不應(yīng)該丟失這些與安全性相關(guān)的數(shù)據(jù)。
壓力測試的主要目的是確保系統(tǒng)在故障后能夠恢復(fù),這稱為可恢復(fù)性。
負(fù)載測試Vs壓力測試
負(fù)載測試 | 壓力測試 |
---|---|
負(fù)載測試是測試系統(tǒng)在正常工作負(fù)載條件下的行為,它只是用實際工作負(fù)載進行測試或模擬。 | 壓力測試是測試系統(tǒng)在極端條件下的行為,一直進行到系統(tǒng)故障為止。 |
負(fù)載測試不會破壞系統(tǒng) | 壓力測試試圖通過測試壓倒性的數(shù)據(jù)或資源來破壞系統(tǒng)。 |
壓力測試的類型
以下是壓力測試的類型,解釋如下:
分布式壓力測試
在分布式客戶端-服務(wù)器系統(tǒng)中,測試是從服務(wù)器跨所有客戶機完成的。壓力服務(wù)器的作用是向所有壓力客戶端分發(fā)一組壓力測試,并跟蹤客戶端的狀態(tài)??蛻舳伺c服務(wù)器聯(lián)系后,服務(wù)器添加客戶端名稱,并開始發(fā)送數(shù)據(jù)進行測試。
同時,客戶端機器發(fā)送與服務(wù)器連接的信號或心跳。如果服務(wù)器沒有從客戶端機器接收到任何信號,則需要進一步研究以進行調(diào)試。從圖中可以看出,一個服務(wù)器可以連接2個客戶端(Client1和Client2),但它不能從客戶端3和4發(fā)送或接收信號。
夜間運行是運行這些壓力測試場景的最佳選擇。大型服務(wù)器群需要一種更有效的方法來確定哪些計算機發(fā)生了需要調(diào)查的壓力故障。
應(yīng)用程序壓力測試
此測試集中于發(fā)現(xiàn)與應(yīng)用程序中的數(shù)據(jù)鎖定和阻塞、網(wǎng)絡(luò)問題和性能瓶頸相關(guān)的缺陷。
事務(wù)性壓力測試
它對兩個或多個應(yīng)用程序之間的一個或多個事務(wù)進行壓力測試。用于系統(tǒng)的微調(diào)和優(yōu)化。
系統(tǒng)壓力測試
這是集成的壓力測試,可以跨運行在同一服務(wù)器上的多個系統(tǒng)進行測試。它用于發(fā)現(xiàn)一個應(yīng)用程序數(shù)據(jù)阻塞另一個應(yīng)用程序的缺陷。
探索性壓力測試
這是壓力測試的一種類型,用于測試具有不尋常參數(shù)或在真實場景中不太可能發(fā)生的條件的系統(tǒng)。它用于在意想不到的場景中發(fā)現(xiàn)缺陷,例如
- 大量用戶同時登錄
- 如果病毒掃描程序在所有計算機中同時啟動
- 如果從網(wǎng)站訪問數(shù)據(jù)庫時,數(shù)據(jù)庫已離線,
- 當(dāng)大量數(shù)據(jù)同時被插入數(shù)據(jù)庫時
如何進行壓力測試?
壓力測試過程可分為5個主要步驟:
步驟1)計劃壓力測試:在這里您收集系統(tǒng)數(shù)據(jù),分析系統(tǒng),定義壓力測試目標(biāo)
步驟2)創(chuàng)建自動化腳本:在這個階段,您創(chuàng)建壓力測試自動化腳本,為壓力場景生成測試數(shù)據(jù)。
步驟3)腳本執(zhí)行:在這個階段,您運行壓力測試自動化腳本并存儲壓力結(jié)果。
步驟4)結(jié)果分析:在此階段,您將分析壓力測試結(jié)果并識別瓶頸。
步驟5)調(diào)整和優(yōu)化:在這個階段,你微調(diào)系統(tǒng),改變配置,優(yōu)化代碼以達到預(yù)期的基準(zhǔn)。
最后,再次運行整個周期,以確定調(diào)整是否產(chǎn)生了所需的結(jié)果。例如,為了實現(xiàn)性能目標(biāo),必須進行3到4個壓力測試周期是很正常的
壓力測試推薦的工具
LoadRunner
來自HP的LoadRunner是一個廣泛使用的負(fù)載測試工具。由Loadrunner形成的負(fù)載測試結(jié)果被視為基準(zhǔn)。
Jmeter
Jmeter是一個開源的測試工具。它是一個用于壓力和性能測試的純Java應(yīng)用程序。Jmeter旨在涵蓋負(fù)載、功能、壓力等類型的測試。它需要JDK 5或更高版本才能運行。
Stress Tester
該工具提供了對web應(yīng)用程序性能的廣泛分析,以圖形格式提供結(jié)果,并且非常易于使用。不需要高級腳本,并提供良好的投資回報。
Neo load
這是市場上用于測試web和移動應(yīng)用程序的流行工具。該工具可以模擬數(shù)千個用戶,以評估負(fù)載下的應(yīng)用程序性能并分析響應(yīng)時間。它還支持云集成的性能、負(fù)載和壓力測試。它易于使用,具有成本效益,并提供良好的可伸縮性。
壓力測試的度量
度量有助于評估系統(tǒng)的性能,通常在壓力測試結(jié)束時進行研究。常用的度量標(biāo)準(zhǔn)是-測量可伸縮性和性能
- 每秒頁面數(shù):衡量每秒請求的頁面數(shù)
- 吞吐量:基本度量-響應(yīng)數(shù)據(jù)大小/秒
- 輪數(shù):計劃測試場景的次數(shù)與客戶端執(zhí)行的次數(shù)之比
應(yīng)用程序響應(yīng)
- 檢索時間:檢索圖像或頁面的平均時間
- 第一個字節(jié)的時間:返回數(shù)據(jù)或信息的第一個字節(jié)所花費的時間
- Page Time:檢索頁面中所有信息所花費的時間
失敗
- 失敗連接數(shù):客戶端拒絕的失敗連接數(shù)(弱信號)
- 失敗回合數(shù):失敗回合數(shù)
- 失敗點擊:系統(tǒng)失敗嘗試的次數(shù)(斷開的鏈接或看不到的圖像)
結(jié)論
壓力測試的目的是在極端條件下檢查系統(tǒng)。它監(jiān)視系統(tǒng)資源,如內(nèi)存、處理器、網(wǎng)絡(luò)等,并檢查系統(tǒng)恢復(fù)到正常狀態(tài)的能力。它檢查系統(tǒng)在壓力下是否顯示適當(dāng)?shù)腻e誤消息。
壓力測試的例子
-
電子商務(wù)網(wǎng)站宣布節(jié)日促銷
-
新聞網(wǎng)站在一些重大事件的時候
-
教育委員會的結(jié)果網(wǎng)站
-
社交網(wǎng)站或博客、應(yīng)用程序等
最后感謝每一個認(rèn)真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
這些資料,對于做【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術(shù)行業(yè),一定要提升技術(shù)功底。