8款負(fù)載測試工具,總有一款適合你
譯文【51CTO.com快譯】大多數(shù)開發(fā)人員經(jīng)常進(jìn)行性能測試,但容易忽視的一種測試是負(fù)載測試。
雖然性能測試與負(fù)載測試常常換著使用,但兩者不一樣。性能測試是一種通用的做法:在真實場景下測試應(yīng)用程序的響應(yīng)性和穩(wěn)定性。
負(fù)載測試是性能測試的一個特定子集,旨在確定應(yīng)用程序在特定數(shù)量的用戶同時使用時的服務(wù)質(zhì)量。負(fù)載測試軟件模擬眾多用戶同時使用一個應(yīng)用程序的情形,從而讓你識別大規(guī)模并發(fā)造成的瓶頸。
比如說,我注意到博客應(yīng)用程序的用戶在嘗試編輯自己的內(nèi)容時遇到了速度減慢,這是我在常規(guī)測試過程中從未注意到的問題。通過使用Apache JMeter這款負(fù)載測試軟件,我發(fā)現(xiàn)了一個Ruby代碼庫(gem)導(dǎo)致這項功能減速20%。不借助該軟件,我自己永遠(yuǎn)查不出瓶頸的根源。
負(fù)載測試似乎是一種明顯的做法,但可能被忽略。如果你每天測試自己的應(yīng)用程序,很容易忘了這一點:你看到的和用戶看到的可能大不一樣。任何客戶端-服務(wù)器應(yīng)用程序需要負(fù)載測試,以便確定其局限性,并改善用戶體驗。
當(dāng)然,你自己的個人開發(fā)環(huán)境與應(yīng)用程序在專業(yè)人員使用期間看到的相去甚遠(yuǎn)。雖然在生產(chǎn)環(huán)境中加載測試有一些優(yōu)點,但復(fù)制自己的環(huán)境或再現(xiàn)客戶的環(huán)境更現(xiàn)實更安全。無論你做什么,都要確保你的測試環(huán)境未使用PayPal之類的第三方插件。許多模塊可模擬應(yīng)用程序的那些方面,但唯一與測試進(jìn)行交互的應(yīng)該是虛擬用戶。
最受歡迎的負(fù)載測試軟件是LoadRunner,但市面上有許多可行的替代方案。下面,我們評估了其中幾款負(fù)載測試軟件套件的優(yōu)缺點,以便你評估哪款最適合自己的要求。
一、免費解決方案
Apache JMeter
與大多數(shù)Apache軟件一樣,JMeter也是開源的,因而是獨立開發(fā)人員的理想選擇,但對于每天預(yù)計有數(shù)千用戶的應(yīng)用程序而言,它不是那么出色。
優(yōu)點:
- 免費使用
- 易于設(shè)置,可從任何環(huán)境來運行
- 腳本易于使用和復(fù)制
- 添加插件,即可高度定制
缺點:
- 數(shù)據(jù)可視化不方便
- 沒有分布式測試;無法同時測試兩個不同的用例
- 擴(kuò)展性不如高級測試套件
Locust
Locust是一款基于Python的負(fù)載測試軟件。它完全開源,讓用戶可以使用純粹的Python代碼創(chuàng)建自己的測試套件。
優(yōu)點:
- 開源
- 使用Python可高度定制,因而非常人性化
缺點:
- 沒有內(nèi)置的可視化服務(wù)
- 創(chuàng)建超過幾百個虛擬用戶時,性能差
Loader.io
Loader.io是一種基于云的負(fù)載測試服務(wù),提供強(qiáng)大的免費版。
優(yōu)點:
- 易于使用和理解的基于Web的界面
- 數(shù)據(jù)可視化簡潔
- 無需安裝
缺點:
- 與收費版中無限制的目標(biāo)主機(jī)相比,免費方案只允許一個目標(biāo)主機(jī)
Gatling
Gatling是另一款開源負(fù)載測試套件。與Locust一樣,它允許使用基于文本的腳本,使用自己的特定域語言。還有名為Gatling FrontLine的收費版。
優(yōu)點:
- 開源
- 易于設(shè)計自定義測試腳本
- 一目了然的數(shù)據(jù)可視化
缺點:
- 界面不如其他開源軟件套件直觀
- 不支持眾多協(xié)議
BlazeMeter
BlazeMeter是一種流行平臺即服務(wù),旨在與JMeter協(xié)同工作。它能彌補(bǔ)JMeter在擴(kuò)展性和可視化方面的不足,但不是開源的。
優(yōu)點:
- 出色的可視化和報告
- 可高度擴(kuò)展
- 與JMeter全面兼容
缺點:
- 客戶支持很慢
鏈接:https://www.blazemeter.com/load-testing
二、收費工具
Radview WebLOAD
WebLOAD是市面上歷史最久的負(fù)載測試軟件套件之一,目前版本是10.3.1。它有一款功能有限的免費版,高級版價格取決于每天預(yù)計的虛擬用戶數(shù)。它的測試基于JavaScript。
優(yōu)點:
- 易于使用和設(shè)置,基于Web的用戶界面
- 分析結(jié)果顯示清晰,并不雜亂
- RadView提供響應(yīng)迅速的支持
- 雖然沒有列出價格,但據(jù)稱比其他高級負(fù)載測試軟件更具成本效益
缺點:
- 目前沒有錄制功能
- RadView在網(wǎng)站上沒有顯示標(biāo)價
鏈接:https://www.radview.com/webload-download/
Micro Focus LoadRunner
LoadRunner是最受歡迎的負(fù)載測試工具之一,可以說是最可靠、用途最廣泛的負(fù)載測試軟件套件。與WebLOAD一樣,它也有免費版;價格隨運行模擬的數(shù)量而增加。
優(yōu)點:
- 易于使用和設(shè)置,運行起來很快,不需要服務(wù)器太長的停機(jī)時間
- 非常適合多種場景,易于創(chuàng)建多種類型的模擬用例
- 一項新的測試版功能讓它可與JMeter集成
缺點:
- 價格偏高,免費版只允許50個用例
- 數(shù)據(jù)可視化不方便
鏈接:https://software.microfocus.com/en-us/products/loadrunner-load-testing/overview
IBM Rational Performance Tester
Rational Performance Tester是IBM開發(fā)的工具,主要用于測試基于Java的應(yīng)用程序。 IBM為使用軟件許可證提供了好幾種支付方案。
優(yōu)點:
- 分布式負(fù)載測試易于設(shè)置
- 用戶界面簡單易用
- 與許多軟件套件相比,可更高效地完成數(shù)據(jù)參數(shù)化
缺點:
- 購買軟件許可證是復(fù)雜的過程
- 不支持非HTTP協(xié)議
- 月度許可證的費用比許多競爭對手都貴
鏈接:https://www.ibm.com/developerworks/downloads/r/rpt/index.html
SmartBear LoadUI Pro
這款負(fù)載測試工具出自流行的SoapUI API測試軟件的開發(fā)商之手。它最適合測試基于SOAP的應(yīng)用程序,是市面上最昂貴的工具之一。
優(yōu)點:
- 界面很直觀,可以實時配置
- 很容易與SoapUI兼容
- 與亞馬遜云集成
缺點:
- 設(shè)置測試學(xué)起來費勁
- 年度軟件許可證非常昂貴
鏈接:https://smartbear.com/product/ready-api/loadui/overview/
原文標(biāo)題:Load Testing Round Up: 8 tools you can use to strengthen your stack,作者:Noah Heinrich
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】