併發測試web
併發測試方法經過模擬用戶併發訪問,測試多用戶併發訪問同一個應用、同一個模塊或者數據記錄時是否存在隱藏的併發問題,如內存泄漏、線程鎖、資源爭用問題。數據庫
•主要目的是發現系統中可能隱藏的併發訪問時的問題
•主要關注系統可能存在的併發問題,例如系統中的內存泄漏、線程鎖和資源爭用方面的問題。
•這種性能測試方法能夠在開發的各個階段使用須要相關的測試工具的配合和支持
•也就是說,這種測試關注點是多個用戶同時(併發)對一個模塊或操做進行加壓。網絡
場景測試就是基於場景的軟件測試。併發
場景就是假設的故事,用來幫助人們理解一個複雜的問題或者系統。框架
一個完美的場景測試有幾個特徵:高併發
經過測試系統在資源超負荷狀況下的表現,以發現設計上的錯誤或驗證系統的負載能力。工具
•主要目的是找到系統中所存在的性能問題
•須要在給定的測試環境下進行,一般也須要考慮被測試系統的業務壓力和典型場景、使得測試結果具備業務上的意義。
•通常用來了解系統的性能容量,或是配合性能調優來使用。性能
接口測試是測試系統組件間接口的一種測試。學習
接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。測試
接口測試通常會用於多系統間交互開發,或者擁有多個子系統的應用系統開發的測試。接口測試適用於爲其餘系統提供服務的底層框架系統和中心服務系統,主要測試這些系統對外部提供的接口,驗證其正確性和穩定性。接口測試一樣適用於一個上層系統中的服務層接口,越往上層,其測試的難度越大。接口測試在淘寶的應用是一個自下而上的發展過程。
接口測試實施在多系統多平臺的構架下,有着極爲高效的成本收益比,接口測試天生爲搞複雜性的平臺帶來高效的缺陷監測和質量監督能力。平臺越複雜,系統越龐大,接口測試的效果越明顯。
接口測試的目的是測試接口,尤爲是那些與系統相關聯的外部接口,測試的重點是要檢查數據的交換,傳遞和控制管理過程,還包括處理的次數。外部接口測試通常是做爲系統測試來看待的。
經過性能測試,若是找到了系統的極限或苛刻的環境中系統的性能表現,在必定的程度上,就完成了負載測試和容量測試。
容量能夠看做系統性能指標中一個特定環境下的一個特定性能指標,即設定的界限或極限值。
容量測試的目的是經過測試預先分析出反映軟件系統應用特徵的某項指標的極限值(如最大併發用戶數、數據庫記錄數等),系統在其極限狀態下沒有出現任何軟件故障或還能保持主要功能正常運行。容量測試還將肯定測試對象在給定時間內可以持續處理的最大負載或工做量。
軟件容量的測試能讓軟件開發商或用戶瞭解該軟件系統的承載能力或提供服務的能力,如某個電子商務網站所能承受的、同時進行交易或結算的在線用戶數。知道了系統的實際容量,如是不能知足設計要求,就應該尋求新的技術解決方案,以提升系統的容量。有了對軟件負載的準確預測,不只能對軟件系統在實際使用中的性能情況充滿信心,同時也能夠幫助用戶經濟地規劃應用系統,優化系統的部署。
指爲軟件提供較佳的性能,用於處理系統響應速度太慢等。
通常觀測性能問題的現象有:
• 系統響應速度太慢。
• 每秒所完成的系統輸出/入低於預期。
• 相同的環境,但每秒鐘所完成的批操做較先前少。
• 系統資源(如CPU、內存、硬盤或網絡等)長時間處於耗盡的狀態。
性能調優,首先是要肯定性能調優的目標是什麼,定義性能目標一般有這樣幾個指標:
一、最大併發數
二、Quality of Service 服務的質量,在軟件系統方面咱們認爲主要表如今請求的出錯率,系統的load等。
三、最長響應時間 對於任何請求所能承受的最大響應時間。
四、TPS 每秒須要支持的最大事務數,最典型的指標是:「某頁面最高須要支撐每秒7000次的訪問次數」。
例如一個web系統,須要定義出來的目標是:
併發目標:最高支撐200併發;
QoS:出錯率須控制在萬分之一,系統的load最高只能到達10;
TPS:每秒完成7000次請求的處理;
最大響應時間:最長容許的響應時間爲5秒。
至於請求的平均響應時間這些就不在性能調優目標中定義,由於要達到TPS的要求,響應時間是必需要達到一個級別的,並且響應時間隨着高併發是會出現劣化的。
也能夠把性能指標定到更爲細節,例如某個方法的TPS在100併發時須要達到多少。
嘗試列出系統中各個組件合理的性能消耗,能夠幫助你理清整個系統訪問中,各個組件所佔的性能消耗比例,哪些部分有能夠調整的空間。另外,再搭配調整該部分的成本有多高,讓你瞭解調整的優先級,並對系統的極限有更佳的認識。
在給系統加載必定業務壓力的狀況下,使系統運行一段時間,以此檢測系統是否穩定。
•這種性能測試方法的主要目的是驗證是否支持長期穩定的運行。
•這種性能測試方法須要在壓力下持續一段時間的運行。(2~3天)
•測試過程當中須要關注系統的運行情況。
•也就是說,這種測試的關注點是「穩定」,不須要給系統太大的壓力,只要系統可以長期處於一個穩定的狀態。
l模擬實際應用的軟硬件環境及用戶使用過程的系統負荷,長時間或超大負荷地運行測試軟件,來測試被測系統的性能、可靠性、穩定性等。
•主要目的是檢查系統處於壓力性能下時,應用的表現。•通常經過模擬負載等方法,使得系統的資源使用達到較高的水平。•通常用於測試系統的穩定性。•讓系統處在很大強度的壓力之下,看系統是否穩定,哪裏會出問題。