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