軟體測試員必知!壓力測試總共需要幾個步驟?思路總結篇

2020-12-05 51Testing軟體測試網

在運維工作中,壓力測試是一項很重要的工作。比如在一個網站上線之前,能承受多大訪問量、在大訪問量情況下性能怎樣,這些數據指標好壞將會直接影響用戶體驗。今天我們就來深入了解下壓力測試!

首先,什麼是壓力測試?

軟體壓力測試是一種基本的質量保證行為,它是每個重要軟體測試工作的一部分。軟體壓力測試的基本思路很簡單:不是在常規條件下運行手動或自動測試,而是在計算機數量較少或系統資源匱乏的條件下運行測試。通常要進行軟體壓力測試的資源包括內部內存、CPU 可用性、磁碟空間和網絡帶寬。

壓力測試涵蓋,性能測試,負載測試,並發測試等等,這些測試點常常交織耦合在一起。

顧名思義:壓力測試,就是 被測試的系統,在一定的訪問壓力下,看程序運行是否穩定/伺服器運行是否穩定(資源佔用情況)。

比如:2000個用戶同時到一個購物網站購物,這些用戶打開頁面的速度是否會變慢,或者網站是否會奔潰。

壓力測試的步驟

(1)確定存量數據的規模(用戶一般會要求製造出3-5年的存量數據);

(2)確定需要進行壓力測試的業務(一般是用戶使用最頻繁,或者業務操作複雜的業務);

(3)確定操作用戶的的數量、各類操作用戶的比例;

(4)峰值業務量的要求(一般是1個小時內最多要處理的筆數);

(5)對實時業務響應時間的要求(如在峰值情況下,單筆業務的處理時間(如小於60秒));

(6)對於批量處理過程的時間要求(如進行日終(月終、年終)處理、與外系統間批量數據傳輸時的時間)。

以上信息,通常需要業務人員來確定。

為了進行壓力測試的技術準備,需要如下資料:

(1)系統概要設計(了解系統技術架構,確定測試方法);

(2)如果自己開發接口程序,需要了解接口報文規範;

(3)資料庫設計(我們需要據此編寫程序,準備存量數據)。

為了開發腳本需要了解如下信息:

(1)操作手冊(腳本錄入或者手工開發腳本);

(2)參數化腳本(動態化數據需要進行關聯);

(3)腳本回放(驗證腳本是否可以成功的創建數據)。

測試場景:

(1)單用戶運行壓力測試場景;

(2)多用戶運行測試場景,查看系統資源消耗等調優工作開始。

另外,還有測試環境的事情需要落實。壓力測試一般要求環境配置較高,最好與生產環境一致或者接近。

幾款流行的壓力測試工具

(1)JMeter

Apache JMeter是Apache組織開發的基於Java的壓力測試工具,用於對軟體做壓力測試,它最初被設計用於Web應用測試但後來擴展到其他測試領域。 它可以用於測試靜態和動態資源例如靜態文件、Java小服務程序、CGI腳本、Java 對象、資料庫, FTP伺服器, 等等。

JMeter可以用於對伺服器、網絡或對象模擬巨大的負載,來在不同壓力類別下測試它們的強度和分析整體性能。

另外,JMeter能夠對應用程式做功能回歸測試,通過創建帶有斷言的腳本來驗證你的程序是否返回了期望的結果。

為了最大限度的靈活性,JMeter允許使用正則表達式創建斷言。

(2)LoadRunner

LoadRunner是惠普旗下一款自動負載測試工具,它能預測系統行為,優化性能。LoadRunner強調的是整個企業的系統,它通過模擬實際用戶的操作行為和實行實時性能監測,來幫助更快的確認和查找問題。此外,LoadRunner 能支持最寬範的協議和技術,量身定做地提供解決方案。

(3)其他測試工具

Siege是一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多用戶的並發訪問,

記錄每個用戶所有請求過程的相應時間,並在一定數量的並發訪問下重複進行。

TCPCopy是一種請求複製(所有基於tcp的packets)工具,可以把在線請求導入到測試系統中去。

TCPCopy的特點是可以拷貝線上真實流量,模擬用戶數據。

最後,軟體壓力測試和性能測試的區別:

二者區別在於他們不同的測試目的

軟體壓力測試是為了發現系統能支持的最大負載,他的前提是要求系統性能處在可以接受的範圍內,比如經常規定的頁面3秒鐘內響應;

所以一句話概括就是:在性能可以接受的前提下,測試系統可以支持的最大負載。

軟體性能測試是為了檢查系統的反映,運行速度等性能指標,他的前提是要求在一定負載下,如檢查一個網站在100人同時在線的情況下的性能指標,每個用戶是否都還可以正常的完成操作等。

概括就是:在不同負載下(負載一定)時,通過一些系統參數(如反應時間等)檢查系統的運行情況。比如我們說某個網站的性能差,嚴格上應該說在N人同時在線情況下,這個站點性能很差)。

總之,就像一個方程式:綜合性能=壓力數*性能指數,

綜合性能是固定的:

軟體壓力測試是為了得到性能指數最小時候(可以接受的最小指數)最大的壓力數,軟體性能測試是為了得到壓力數確定下的性能指數。

總結:

在項目上線之前,都需要做壓力測試,目的是看下我們的網站能抗住多少的壓力,能承擔多少並發,如果不做壓力測試,一旦出現大訪問量時,我們的網站會掛掉,所以壓力測試真的很重要,都應該重視起來!

相關焦點

  • TestFlight 測試不用像以前那麼麻煩了
    眾所周知,TestFlight 是蘋果官方的發布測試版的軟體,但是TestFlight有很多奇怪的問題一直被很多開發者詬病,而且 TestFlight 作為一款重要的軟體,本地化做的非常的不行,連郵件都是英文版的。首先,我們來看看現在的TestFlight 都是怎麼測試的。
  • 軟體測試中的性能測試 負載測試 壓力測試
    4.幾個典型的場景,如何基於jmeter設計測試腳本?比如:參數化、關聯、控制TPS、接口加密驗籤、階梯式加壓、集合點、檢查點等;5.什麼是負載測試?什麼是性能測試?什麼是壓力測試?如果把這1個用戶的操作放大,變為100個,1000個,10000個用戶同時操作軟體,驗證軟體系統是否滿足用戶的需求。那麼這個就是軟體性能測試。通常使用性能測試工具對軟體開展並發的訪問,同時監控系統各項指標,比如CPU、內存、網絡、磁碟等關鍵部件的使用情況。目標是發現軟體在大用戶量的情況下,系統的工作情況。
  • 軟體測試工程師需要掌握哪些技能
    軟體測試工程師需要掌握哪些技能大家都知道功能測試是測試工程師的基本功,今天就來和大家說說功能測試需要掌握哪些技能...熟練使用SQL1.常用的sql語句一定會寫。比如說增刪改之類。2.查看日誌如何寫好測試用例在測試過程中很重要的一類文檔,它是測試工作的核心、是在測試時輸入輸出的標準、是軟體需求的具體對照。編寫測試用例,是測試人員的基本功,但是真正能寫好的人並不多。測試用例必須包含的內容:用例編號、用例名稱、測試背景、前置條件、優先級、重要級、測試數據、測試步驟、預期結果、實際結果、備註。
  • 軟體開發流程的6個步驟是什麼?怎樣繪製軟體開發流程圖?
    軟體開發流程圖的8個步驟是什麼?怎樣繪製流程圖?大家可能見過各種各樣的軟體,這個軟體有哪些功能,哪個軟體什麼地方比較好用。這些都是我們的用戶體驗,那麼大家知道軟體開發流程的步驟有什麼,又該怎樣在電腦上繪製軟體開發流程圖嗎?今天小編給大家分享一下。
  • 成為高級程式設計師的 10 個步驟
    What軟體工程師的職業生涯要歷經以下幾個階段:初級、中級,最後才是高級。
  • 壓力測試是什麼?為什麼要壓力測試?怎麼使用壓力測試?
    想必很多人在第一次接觸壓力測試時都會發出如同題目中的疑惑,壓力測試是什麼?為什麼要進行壓力測試?我第一次接觸壓力測試是在電腦突然死機的情況下,裝機師傅給我重裝系統後進行了壓力測試後才有所了解;這時候才知道壓力測試的必要性。
  • 驗證性因子分析思路總結
    目前有很多軟體都可以非常便利地實現驗證性因子分析,本文將基於SPSSAU系統進行說明。Step1:因子分析類型因子分析可分為兩種類型:探索性因子分析(EFA)和驗證性因子分析(CFA)。探索性因子分析,主要用於濃縮測量項,將所有題項濃縮提取成幾個概括性因子,達到減少分析次數,減少重複信息的目的。驗證性因子分析與探索性因子分析相似,兩者區別只在於驗證性因子分析(CFA)用於驗證對應關係,探索性因子分析(EFA)用於探索因子與測量項之間的對應關係。一個沒有設定預期對應關係,一個設定了預期關係。
  • 進氣壓力傳感器故障的診斷思路與操作步驟
    進氣歧管壓力傳感器是集信號傳感和信號放大於一體的部件,安裝在進氣歧管上(有的與空氣流量計集成為一體,安裝在空氣濾清器殼體上)。它是由壓力轉換元件和把壓力轉換元件輸出信號進行放大的集成電路組成的。2. 進氣壓力傳感器發生故障,像真空洩漏一樣,發動機不能得到正常操作所需的燃油量。
  • 個人年終工作總結到底該如何寫?四個步驟教你全搞定
    有的人熬了幾個通宵,寫了又改,改了又寫,最後領導卻似乎還是不太滿意。還有人不惜花大價錢找專業的寫手,只為向領導交上一份漂亮的答卷,可縱然文採斐然,卻也並不一定能對了領導的胃口……這也不由得讓許多職場人發出感嘆:年終總結難,難於上青天!但同樣也有一部分職場人,文思泉湧,一氣呵成,讓人大呼羨慕。
  • OI-2000系列壓力計量自動測試軟體的特點及應用
    打開APP OI-2000系列壓力計量自動測試軟體的特點及應用 海洋興業科技 發表於 2021-01-09 10:13:36 OI
  • Android壓力測試Monkey工具
    最近在Android程序測試過程中接觸到了自動化測試方法,對其中的一些工具、方法和框架做了一些簡單的整理,其中包括android測試框架、CTS、Monkey、Monkeyrunner其它test tool等等。因接觸時間很短,很多地方有不足之處,希望能和大家多多交流和指點在這裡簡單對monkey做簡單的介紹吧。
  • SPSSAU數據分析思維培養系列3:分析思路篇
    上文講解如何選擇正確的分析方法,除了有正確的分析方法外,還需要把分析方法進行靈活運用。拿到一份數據,應該如何進行分析,總共有幾個步驟,第一步第二步應該做什麼,需要有個宏觀把控,只有這樣才能有規範的研究科學的思維和邏輯。
  • 教師資格面試分幾個步驟
    教師資格面試分幾個步驟 http://www.hteacher.net 2020-12-04 10:27 中國教師資格網 [您的教師考試網]
  • 如何用Furmark對GPU進行壓力測試?
    FurMark將對您的GPU施加壓力,加大其功耗,這是一種測試顯卡是否在常規設置下很穩定的好方法。如果您懷疑GPU硬體可能有故障,請在FurMark中對其進行測試,然後會迅速找到答案。這也是測試GPU散熱管理的好方法,可讓您了解是否需要升級散熱系統。它將您的GPU推向極限,以測試穩定性。
  • 男人戒菸必知的六步驟 戒菸的五種小妙招
    原標題:男人戒菸必知的六步驟 男人戒菸的五種小妙招   戒菸對於每一位菸民來說,都是一個不小的挑戰,因為在戒菸期間,他們會焦慮、會痛苦、會感到時間過得很慢;甚至有很多人在戒菸的過程中出現了很多的不適,下面我們來了解一下戒菸的正確方法。   長年吸菸的朋友在戒菸後會出現各種不適,會影響到戒菸的效果,我們稱之為戒菸綜合症。
  • 發電機的維修應該按這樣的思路進行,10多年的從業經驗總結
    今天這篇文章,我向大家分享我從業10幾年總結出來的發電機維修思路。這麼多年的從業經驗總結出來,大多數故障,其實都是使用不當造成的。首先,了解下發電機之前的使用情況,有沒有維修過,維修的什麼部位,更換過哪些部件。維修過的發電機,要對這些更換過的部件著重做下檢查,把發電機的插頭以及接線都認真檢查一遍,很多情況僅僅是因為插頭鬆動造成的。
  • TPshop移動商城APP:APP軟體開發的步驟
    今天我們一起來講解APP軟體開發的步驟,不了解的小夥伴,趕緊來看看吧!一、需要調查分析APP開發市場:開發者需要找到市場感覺,無論你是想開發Android APP還是IOS APP,你都要對其市場進行詳細的調查分析,並做好相應的筆記,以供開發APP應的時候提供靈感和創意等方面的使用。
  • 網狀Meta分析的步驟,看完這篇就懂了
    一開始沒有合適的、別人沒做過的、跟我研究方向直接相關的思路,雖然我可以寫很多其他疾病的,但是其他疾病跟我的研究方向沒有關係,即使我發表了對我以後申報課題、報獎沒有任何用處,所以也就沒做。2. 後來我找到了合適的思路,但是由於其中的某一個幹預措施還缺少足夠的RCT臨床研究,文獻數量不夠,我覺得不適合做定量分析,所以我需要再等一等,等文獻數量足夠了再去寫。
  • Jmeter壓力測試:菜鳥的性能測試成長之路
    做軟體測試,專項測試是必不可少的一部分任務,此前文章只能跟推送過Apache Bench,接下來我會利用Apache Jmeter來進行壓力測試。那麼接下來我要對我們的測試伺服器進行壓力測試,包括登錄前的頁面和登錄後的頁面,主要目的是測試負載均衡的實現效果。
  • 百款軟體圍攻Intel芯 藍魔W32兼容性測試
    ,而且所有測試軟體均為最新版本。下面是藍魔W32測試這些軟體的截圖合輯,真實記錄了藍魔W32的測試情況。實際上在測試過程中,藍魔W32每測試一款新軟體時,後臺同樣還有剛剛測試過的多款軟體在運行,因此這次測試不僅能夠測試出藍魔W32的軟體兼容性,同樣也可以測試系統的穩定性,結果證明表現非常出色。