關閉

                  一文介紹負載測試與壓力測試的區別

                  發表于:2021-2-01 10:02

                  字體: | 上一篇 | 下一篇 | 我要投稿

                   作者:amy**    來源:博客園

                   、 負載測試:是通過逐步增加系統負載,測試系統性能的變化,并最終確定在滿足性能指標的情況下,系統所能承受的最大負載量的測試;
                   、 壓力測試:是通過逐步增加系統負載,測試系統性能的變化,并最終確定在什么負載條件下系統性能處于失效狀態,并以此來獲得系統能提供的最大服務級別的測試。
                    例子:
                    登錄接口,我們先10個用戶訪問,然后100個用戶訪問,然后1000個用戶訪問,關注程序的響應時間,所耗資源,直到超時或關鍵資源耗盡。
                    壓力測試:是指程序長時間運行的穩定性。
                    例子:
                    程序,在運行1天,1個月,一年關注他們的各項指標是否都在正常指標內,是否會內存溢出,是否出現功能性故障等等。
                    壓力測試分為穩定性測試和破壞性測試。
                    區別:
                    負載測試是不關注穩定性的,壓力測試是關注穩定性的。
                    性能測試中負載測試,壓力測試有什么區別。
                    對于性能測試,負載測試,壓力測試的區別,之前總自認為是清楚的,后來被人問住了,才發現還差的遠。這兒網上摘了一些內容,加上自己的理解,算是弄清楚了吧。特此記下,避免忘了。如有錯誤之處,還望指正。
                    性能測試(或稱多用戶并發性能測試)、負載測試、強度測試、容量測試是性能測試領域里的幾個方面,但是概念很容易混淆。
                    下面將幾個概念進行介紹。
                    性能測試(Performance Test):通常收集所有和測試有關的所有性能,被不同人在不同場合下進行使用,關注點:how much和how fast。
                    1、負載測試(Load Test):負載測試是一種性能測試,指數據在超負荷環境中運行,程序是否能夠承擔,關注點:how much。
                    2、壓力測試(Stress Test): 壓力測試(又叫強度測試)也是一種性能測試,它在系統資源特別低的情況下軟件系統運行情況,目的是找到系統在哪里失效以及如何失效的地方。
                    3、極限測試 Extreme testing:在過量用戶下的負載測試 Hammer testing:連續執行所有能做的操作。
                    4、容量測試(Volume Test):確定系統可處理同時在線的最大用戶數 關注點:how much(而不是how fast) 容量測試,通常和數據庫有關,容量和負載的區別在于:容量關注的是大容量,而不需要關注使用中的實際表現。
                    其中,容量測試、負載測試、壓力測試的英文解釋為:
                    Volume Testing = Large amounts of data
                    Load Testing = Large amount of users
                    Stress Testing = Too many users, too much data, too little time and too little room
                    可能大家角色性能測試、負載測試和強度測試比較混淆。沒錯,這三個概念是比較容易使人糊涂。負載測試和壓力測試,都屬于性能測試的子集。 性能測試,表示在一個給定的基準下,能執行的最好情況。負載測試,也是性能測試,但是他是在不同的負載下的。壓力測試,是在較高強度情況下的性能測試。
                    性能測試是動力,負載測試載重,壓力測試強度。
                    壓力測試stress test:是在一定的『負荷條件』下,長時間連續運行系統給系統性能造成的影響。
                    負載測試Load test:在一定的『工作負荷』下,給系統造成的負荷及系統響應的時間。
                    這兒我加了括號強調一下壓力測試與負載測試的區別。
                    負載測試通常描述一種特定類型的壓力測試——逐步增加用戶數量或用戶請求來對系統(程序)進行加壓。比如現實中有個系統提供在線查詢服務,那我們從比較小的負載開始,逐漸增加模擬查詢請求的數量或用戶量, 直到系統響應時間超時,就是說的負載測試。這兒加壓的類型必須是應用提供的服務類型,也就是工作負荷。
                    負載測試的目標是測試在一定負載情況下的系統性能(不關注穩定性,也就是說不關注長時間運行,只是得到不同負載下相關性能指標即可);實際中我們常從比較小的負載開始,逐漸增加模擬用戶的數量(增加負載), 觀察不同負載下應用程序響應時間、所耗資源,直到超時或關鍵資源耗盡,這就是所說的負載測試,它是測試系統的不同負載情況下的性能指標。
                    壓力測試的目標是測試在一定的負載下系統長時間運行的穩定性,但是這個負載不一定是應用系統本身造成的。比如我們經常利用腳本或工具事先吃掉服務器的一部分cpu、內存或帶寬等,創造出一定的負載環境并測試被測應用系統在此環境下的事物處理能力,響應時間等等。壓力測試尤其關注大業務量情況下長時間運行系統性能的變化(例如是否反應變慢、是否會內存泄漏導致系統逐漸崩潰、是否能恢復);壓力測試是測試系統的限制和故障恢復能力,它包括兩種情況:
                    1.穩定性壓力測試:在選定的壓力值下,長時間持續運行。通過這類壓力測試,可以考察各項性能指標是否在指定范圍內,有無內存泄漏、有無功能性故障等;
                    2.破壞性壓力測試:在穩定性壓力測試中可能會出現一些問題,如系統性能明顯降低,但很難暴露出其真實的原因。通過破壞性不斷加壓的手段,往往能快速造成系統的崩潰或讓問題明顯的暴露出來。
                    如果還不理解的話,打個比喻:
                    這兒有個服務員,對應咱們的應用系統吧。
                    壓力測試就是給這位服務器外部壓力,比如長時間不讓他休息,不給開工資等,看看服務員會不會開小差(無法及時響應請求),或者罷工(宕機)之類的。
                    負載測試就是在單位時間內逐步加大這位服務員的工作量,看看此服務員在不同的工作量下完成服務的速度和質量,從而了解到該服務員的工作能力。
                    壓力測試和負載測試能夠幫組我們了解到一個服務器的抗壓能力和工作能力,當然也能幫我們評估一個系統或軟件的性能瓶頸與質量。

                        本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理
                  《2023軟件測試行業現狀調查報告》獨家發布~

                  關注51Testing

                  聯系我們

                  快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計 發展歷程

                  法律顧問:上海蘭迪律師事務所 項棋律師
                  版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2024
                  投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

                  滬ICP備05003035號

                  滬公網安備 31010102002173號

                  亚洲欧洲自拍图片专区123_久久久精品人妻无码专区不卡_青青精品视频国产色天使_A免看的日黄亚洲