字號: 小 中 大 |
推薦給好友
上一篇 |
下一篇
ASP.NET負載測試
發布: 2007-5-05 18:39 |
作者: 網絡轉載 |
來源:
轉載 |
查看: 584次 | 進入軟件測試論壇討論
領測軟件測試網
對于直接面對互聯網用戶的WEB應用,在開發設計的時候必須格外小心,因為誰也不知道在單位時間內WEB程序訪問和運行的速度。所以,在程序設計完成以后,最后針對程序進行一些嚴格的甚至是苛刻的測試,以確定程序在復雜的網絡環境和服務器高壓負荷下是否可以保持正常和相對穩定的效率。 |
負壓測試一般針對WEB應用進行,比如網站等。進行負壓測試的目的是為了確定WEB應用在現實的網絡環境中是否可以正確而安全的處理各種用戶提交的不確定請求,檢驗程序的健壯性。 |
負壓測試的另外一個目的在于故意提供足夠多的請求,觀察程序在這種情況下的反應能力。 |
可能大家現在都已經很熟悉一個很著名的搜索引擎Google,我們知道,這個搜索引擎不但搜索結果準確,而且,搜索速度更是奇快無比。搜索結果準確,那是程序算法在一個方面的表現,搜索速度快,則關系到整個系統的構件和程序的健壯行。如果希望自己編寫的程序也可以在大訪問量的情況下“從容不迫”,就有必要對程序進行負壓測試。 |
對于訪問量較大的網站或者程序,特別是提供一些比較熱門話題程序,最好在正式將網站或者程序公布以前進行比較完備的負壓測試,并且根據測試即使優化程序或者合理配置服務器硬件,這樣網站不至于在用戶量急劇增加的情況下出丑甚至崩潰。 |
ACT(或者MSACT)是微軟的Visual Studio 和Visual Studio.NET帶的一套進行程序測試的工具,也正是我們的負壓測試需要用到的。ACT不但可以記錄程序運行的詳細數據參數,用圖表顯示程序運行狀況,而且安裝和使用都比較簡單,結果閱讀也很方便,是一套較理想的測試工具。 |
最起碼,當然我們需要Visual Studio,ACT似乎還沒有單獨的版本出現。在這里,我們測試一個WEB Service的在高負荷情況下的運行性能。首先,在Visual Studio中打開ACT(如圖) |
MILY: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋體; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> |
程序會提示是否建立一個新的工程,點擊“是”,然后輸入一個文字說明,出現以下界面(圖二): |
點擊菜單【Action】->【New Test】(如圖三) |
向導我們太熟悉了,仔細閱讀每個界面的說明文字, 選擇就可以了。 |
很明顯,以上界面我們人為的將它分為了三個部分,而且每個部分顏色各不相同。以上不同顏色的三個部分分別為: |
右下紅色:VBS代碼欄,在這里編輯測試需要的一些VBS代碼,測試成功有效與否,全部依靠這些代碼的執行情況。所以,這些代碼最好仔細考慮并且多次測試; |
在進行測試之前,首先設置測試的一些選項(菜單【Action】—>【Properties】)如圖六 |
(1) Test duration設置,這里設置測試進行時間,默認為5分鐘; |
(2) 在Counters標簽頁設置一些測試性能數據; |
以上設置完成以后,就可以開始修改VBS代碼了,我們沒必要遍歷整個VBS代碼,只看一些主要的: |
Test.SendRequest("http://localhost/") |
Test.SendRequest("http://localhost/philipq/wsmessages/wsmsg.asmx/MPost?webKey=w2k&UName=Ad&UPassword=pwd&UTo=Admin&UMessage=ACT+Test") |
以上代碼的編寫應該根據自身程序的特點來修改,以達到最好測試效果。 |
以上界面顯示程序測試的時間、剩余時間、每秒提交的Request數量、提交的Request總量、錯誤數量等。點擊按鈕【Show details】可以查看詳細數據。 |
測試完成以后,可以在圖二左邊的Result分支點擊查看測試結果,在右方的報表欄我們可以查看到以下數據:OverView、Graphs、Requests等,下圖是一個OverView的數據舉例: |
從以上報告可以看到,測試的程序每秒提交request23次,總共1400次。 |
根據測試的結果,我們可以知道程序運行的情況、在高負荷下服務器的承受能力。根據這些數據,我們來確定程序的性能和服務器的性能,以此來預測在程序正式使用以后可能遇到的情況和服務器需要的改進。 |
上面介紹的ACT雖然很不錯,但是,畢竟不是每一個用戶都使用Visual Studio,這時候,我們可以考慮其他工具來進行測試。 |
Microsoft Web Application Stress Tool (WAS) |
這個工具和ACT一樣是微軟的產品,但是,這個工具沒有和Visual Studio集成,可以單獨使用。感覺這個程序現在還在測試,但是一些基本的功能已經很完備,可以完成ACT幾乎所有功能,而且,WAS使用更加簡單,設置也更加完備明了。這個工具的另外一個特點是,它的報表是純文本文件,而不是流行的HTML文件格式,但是,內容方面一點也不遜色。 |
http://homer.rte.microsoft.com/ |
Open System Testing Architecture (OpenSTA) |
OpenSTA的特點是可以模擬很多用戶來訪問需要測試的網站,它是一個功能強大、自定義設置功能完備的軟件,但是,這些設置大部分需要通過Script來完成,因此,在真正的使用這個軟件之前,必須學習好它的Script編寫。如果需要完成很復雜的功能,Script的要求還比較高,當然,這也是它的優點,一些程序員不會在意這些Script的。 |
這個軟件完全免費而且源代碼可以下載,感興趣的朋友可以自己修改達到要求。 |
http://opensta.sourceforge.net/ |
PureLoad是基于Java的測試工具,它的Script代碼完全使用XML,所以,這些代碼的編寫很簡單,它的測試報表包含文字和圖形并可以輸出為HTML文件。由于是基于Java的軟件,所以,可以通過Java Beans API來增強軟件功能。 |
QALoad不單單測試WEB應用,還可以測試一些后臺的東西,比如SQL Server等,只要是它支持的協議,都可以測試;另外一點,QALoad不但可以測試Windows,而且可以測試AIX, HP-UX 和 Solaris等系統。但是,這款軟件價格很高。 |
http://www.compuware.com/products/qacenter/qaload/ |
對于財大氣粗的大公司而言,這款軟件可能比較適合,它的功能和QALoad相比不相上下,市面上著名的公司如IBM、SUN、Oracle等都用這個軟件。但是它的價格也高不可攀,和功能成正比。 |
http://www-heva.mercuryinteractive.com/products/loadrunner/ |
文章來源于領測軟件測試網 http://www.kjueaiud.com/
TAG:
負載測試