• 軟件測試技術
  • 軟件測試博客
  • 軟件測試視頻
  • 開源軟件測試技術
  • 軟件測試論壇
  • 軟件測試沙龍
  • 軟件測試資料下載
  • 軟件測試雜志
  • 軟件測試人才招聘
    暫時沒有公告

字號: | 推薦給好友 上一篇 | 下一篇

對Web服務進行壓力測試

發布: 2008-11-03 09:55 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 49次 | 進入軟件測試論壇討論

領測軟件測試網
關鍵字:Web服務 壓力測試

    Web 服務處于分布式計算的核心位置,它們之間的交互通常很難測試。分布式開發、大型的開發者團隊以及對代碼日益組件化的期望都有可能使 Web 服務的開發變得越來越容易隱藏錯誤。這些類型的錯誤極難檢測出來。壓力測試是檢測這類代碼錯誤的一種有效方法,但是只有在壓力系統設計得比較有效的情況下 才能發揮作用。本文將讓您深入了解一下這種壓力系統的基本要求。

測試方法

    傳統的測試方法包括某種形式的簡單 單元測試 ,通常由開發人員執行。設計這些測試需要了解軟件的內部知識,并且這些測試幾乎總是針對產品的非常小的、特定的部分。這些類型的測試非常適合與其他代碼組件極少交互,甚至沒有交互的簡單 Web 服務。

    功能驗證(Functional Verification) 也 是一種測試過程,在這個過程中,對產品源代碼了解有限的設計者進行測試以確認產品或服務的核心功能。設計這種測試是為了證明這個核心功能符合某個規范。舉 個例子,我的在線拍賣顯示的是輸入的正確出價嗎? 我的保險經紀人系統找到最便宜的報價了嗎?如果這些測試失敗,通常就意味著檢測到了產品的一個基本問題(這個問題通常是可以直接修復)。這種測試也是適合 簡單的 Web 服務,使您可以檢查服務是否能夠正確執行它的各個功能。

    系統測試(System Test) 通常是在功能驗 證階段完成,驗證了核心功能后進行。它傾向于把整個系統作為一個整體來查找問題 — 弄清 Web 服務作為系統的一部分怎樣運作,以及 Web 服務相互之間如何交互。由于系統測試是在開發生命周期快結束時才進行,所以通常不能給它分配足夠的時間來完成。又因為緊張的發行日程安排以及開發的各個重 要階段的后移,系統測試階段經常被忽略,并且一些通常都可以發現的、少見的錯誤都不能被檢測到。即使發現了這種錯誤,這時也來不及確定錯誤的原因并設法修 復它們了。因此,在查找代碼錯誤時,必需把系統測試應用設計得盡可能高效。系統測試通常由三部分組成,它們是:

性能(Performance): 這涉及到確定相關的產品統計數據的過程。例如:每秒有多少條消息?一個服務可同時接受多少個用戶?

 


案例(Scenario): 這是重新創建客戶所需的確切配置的過程。因此在案例中發現的任何問題都可以在客戶使用該產品之前被檢測出來。

 


壓力(或稱工作負載平衡): 它 與另兩個部分不同,因為它被設計為通過應用很大的工作負載來使軟件超負荷運轉。如果壓力測試通過對產品保持高強度的使用(但不超過性能統計數字確定的限 制)能有效地執行,那么它就經常能夠發現許多隱蔽的錯誤,而這些錯誤用上面提到的任何其他技術都是發現不了的(這些錯誤也經常是最難修復的)。
從檢測代碼錯誤這方面來說,可以證明這三個系統測試組件中效率最高的是 壓力測試 部分。但由于這個過程經常跟系統的其他要素或功能測試混淆在一起,所以這個過程涉及到的方法還沒有被正確著手處理或實現。

壓力下的錯誤

    使用壓力測試,您有希望找到很多種用其他測試方法更難發現的錯誤。有兩種錯誤類型是:

內存泄漏(Memory leak): 一種極難檢測的現象。內存泄漏經常發生在已發行的產品中,原因很簡單,很難設計測試 用例來檢測它們。使用簡單的功能測試,幾乎發現不了內存泄漏問題,因為在產品完成之前測試沒對產品進行足夠多的使用。內存泄漏通常要求操作要重復非常多的 次數以使內存消耗達到能引起注意的程度。盡管與其它編程語言(如 C/C++)相比,Java 程序更難引入內存泄漏錯誤,但只要程序仍保持著對對象的引用,該對象仍有可能被實例化并且它占用的內存永遠不會被釋放。

 


并發與同步(Concurrency and Synchronization): 壓 力測試在查找并發性問題上非常出眾,這是因為在任何一個測試生命周期中,它都應用了許多不同的代碼路徑和定時條件。一般的規則是,壓力測試運行的時間越 長,涉及并應用的代碼路徑組合和定時條件就越多。當然,這也的確使得這些問題很難再現(錯誤可以在 5 分鐘或 5 天后發生)。死鎖、線程泄漏以及任何一般的同步問題通常只能在壓力測試階段被檢測出來。這些類型的問題很難通過執行單元測試來發現。開發人員不會一直考慮 他或她的代碼將與其他地方的代碼(在執行單元測試時這些代碼可能還沒寫出來)進行交互。
現有的壓力測試工具

   

延伸閱讀

文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/

TAG: web Web WEB 服務 壓力

21/212>

關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97