導語
性能測試主要是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行的一種測試。
系統的性能是個很大的概念,覆蓋面非常廣泛,對一個軟件系統而言,包括執行效率、資源占用、穩定性、安全性、兼容性、可擴展性、可靠性等等。
負載測試和壓力測試都屬于性能測試,兩者可以結合進行。通過負載測試,確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統各項性能指標的變化情況。壓力測試是通過確定一個系統的瓶頸或者不能接收的性能點,來獲得系統能提供的大服務級別的測試。[詳情]
一:SEI負載測試計劃過程
SEI負載測試計劃過程是一個關注于負載測試計劃的方法,其目標是產生“清晰、易理解、可驗證的負載測試計劃”。
SEI負載測試計劃過程包括6個關注的區域:目標、用戶、用例、生產環境、測試環境和測試場景。
其重點關注以下幾個方面的內容:
1、生產環境與測試環境的不同
2、用戶分析
3、用例
二:RBI(RapidBottleneckIdentify)方法:用于快速識別系統性能瓶頸的方法。該方法基于以下一些事實:
a、發現的80%系統的性能瓶頸都是由于吞吐量制約;
b、并發用戶數和吞吐量瓶頸之間存在一定的關聯
c、采用吞吐量測試可以更快速定位問題。
自己給公司同事寫的一點入門小知識,希望對新同行有些幫助。
上次性能測試培訓后,不少同事反饋性能測試的一些基本概念還是難以理解,所以我在這里把那些看起來比較虛無縹緲的概念實例化生活化一下,一來僅供大家參考,二來當做自己的一個簡單總結。
什么是性能測試?
性能測試可以用資本家模型來描述。資本家自然是希望工人們多干活少拿工資,同樣性能測試也是要求系統多干活少損耗。又要馬兒跑得快又想馬兒少吃草。
不少前輩總結過,性能測試是在時間和空間上尋找佳結合點。馬兒跑得快是指時間,不吃草是指空間。性能測試則是尋找時間和空間之間的一個平衡點。
上述為樸素和廣義的性能測試。
摘要:隨著現代網絡的發展速度不斷提高,B/S結構的程序軟件需求越來越普遍,而各公司的業務需求量也在不斷增大,因此對軟件并發需求及吞吐量需求也越來越大,這要求各軟件企業在應對用戶性能需求時使用更有效的測試策略,論文當前軟件企業性能測試策略現狀進行了歸納分析。
一、引言
現代公司用戶使用的應用型軟件大多數為B/S結構和C/S結構,而隨著公司用戶及客戶數量的增加,應用軟件對系統并發用戶數要求越來越高,同時,大多數在線系統用戶對注冊時間,響應時間要求也較高,因此,大部份公司對軟件企業設計的軟件項目在大負載及壓力需求上都有直接的用戶需求,在進行軟件項目需求分析及項目設計過程中,軟件企業要充分考慮到軟件項目在后期維護過程中客戶的需求變化及維護費用帶來的公司利潤,大多數軟件企業都更加注重項目在發布前的性能測試工作,性能測試在軟件企業及其它項目開發者使用專門的軟件測試工具及腳本描述測試對象與相關性能指標的特征并對軟件性能進行評價的過程。在性能測試的過程中,有的公司采用的是商業測試工具,有的公司采用的是開源工具,還有的公司是采用自己開發的測試工具進行操作評價,并對開發人員進行溝通,從而對軟件項目質量進行綜合評價。
二、性能測試工具分析
性能測試要求軟件企業在模擬用戶真實環境的場景下對軟件項目進行客觀的評價,而在軟件企業中單憑固定的硬件設備往往不能達到模擬并發用戶,模擬多個負載的場景,因而,性能測試工具變得格外重要。目前軟件企業的性能測試工具大體分為以下幾種:
1、開源工具
象部分Linux操作系統內核及IBM公司投資開發的eclipse一樣,使用靈活,功能全面,免費的開源工具是大多數軟件公司的。目前做性能測試的開源工具主要有Jmeter,針對Java Web程序項目開發及FTP服務項目進行性能測試,通過模擬多個并發的虛擬用戶,通過集合點、事務點對場景進行負載測試、壓力測試,提供圖形化的顯示界面對軟件項目性能進行綜合分析;DbMonster,主要針對Sqlsever數據庫進行壓力測試;TpTest,主要對internet網絡連接速度、響應時間進行測試。
2、商業工具
商業工具往往由專門的公司進行開發,通過大量的人力及資金投入支持,開發后一般具有界面更加美觀、操作更加方便、功能更加強大、支持的插件更多等特點。并且因為商業軟件的本身特點,一般還包括后期的升級服務,用戶操作掊訓服務等優勢。所以也廣泛地應用于各大型企業。目前主要的商業工具有HP公司收購Mercury后繼續提供的LoadRunner,具有支持負載多,支持協議多,實時進行性能指標跟蹤的特點;IBM公司開發的Rational系列Performance Tester適用于團隊開發,通過性能測試從創建到結果分析的自動化過程對軟件項目進行性能分析。