登入響應時間其實包括3個部分:網路傳輸時間,伺服器處理時間,瀏覽器顯示時間
即登入響應時間=網路傳輸時間*2+伺服器處理時間+客戶端顯示時間
網路傳輸是雙向的,所以要乘以2。網路傳輸時間又可以包括接入網的傳輸時間和網際網路中的傳輸時間,它的大小和你所使用的上網方式有關,比如光纖一般要比adsl要快。
伺服器包括web伺服器和資料庫伺服器,伺服器處理時間是我們測試的重點,也是我們能夠控制的部分,因為終端使用者用什麼機器上網,什麼接入方式上網我們是控制不了的。我們要重點測試伺服器的處理速度如何,以及能否承受較大的壓力,我們可以用工具(比如loadrunner)來模擬大量使用者同時登入訪問伺服器,來檢視伺服器的承載能力。
客戶端顯示時間,如何將伺服器傳過來的頁面盡快地顯示到瀏覽器上,是開發人員需要考慮的問題,這裡面涉及到演算法優化的問題,這也是開發人員容易忽略的地方。
由此可見,響應時間是可以分解成若干個時間段的,任何乙個環節出問題都會影響到最終的響應時間,這就需要我們在實際工作中結合具體情況加以分析。
最後再說明一點,響應時間的快慢是乙個相對的概念,沒有絕對的標準,比如對於163郵箱登入來說,使用者可以接受的時間可以在10秒以內,而對於乙個實時的軍工軟體來說,相應時間要精確到公釐級別甚至更低。
對於普通的web**來說,乙個普遍被接受的響應時間標準是2/5/10,即使用者對2秒鐘以內的的響應時間非常滿意,對於5秒鐘以內的響應時間基本滿意,對於10秒鐘以上的響應時間則無法接受.
吞吐量(throughput)
吞吐量,是指單位時間內流經被測系統的資料流量,一般單位為b/s,即每秒鐘流經的位元組數。
吞吐量是大型門戶**以及各種電子商務**衡量自身負載能力的乙個很重要的指標,一般吞吐量越大,系統單位時間內處理的資料越多,系統的負載能力也越強。
吞吐量和很多因素有關,比如伺服器的硬體配置,網路的拓撲結構,軟體的技術架構等。實際工作中,我們往往對公升級客戶的硬體配置無能為力,大多數情況下,我們還是在軟體的技術架構上做文章:
比如後台資料庫裝oracle還是裝sql server,顯然前者的處理能力更強;
web伺服器是用weblogic還是iis,要看伺服器端的語言是jsp還是asp…
測試的時候多跟專案經理,系統架構師以及使用者溝通,來獲取系統架構的第一手材料。
併發(concurrency)
併發,是指多個同時發生的操作。比如有10個使用者同時點選「登入」按鈕(注意是同時),來登入163郵箱,我們就說此次登入163郵箱的併發數為10。
需要注意的是,併發和並行不是乙個概念,併發是同時發生,並行是同步執行。10個使用者併發登入163郵箱,只是在點選「登入」按鈕那一瞬間是並行的,而登入後各個使用者的操作則不同步。
穩定性測試(reliability testing)
穩定性測試,也叫可靠性測試(reliability testing),是指連續執行被測系統,檢查系統執行時的穩定程度。
我們通常用mtbf(mean time between failure,即錯誤發生的平均時間間隔)來衡量系統的穩定性,mtbf越大,系統的穩定性越強
穩定性測試的方法也很簡單,即採用24*7(24小時*7天)的方式讓系統不間斷執行,至於具體執行多少天,是一周還是乙個月,視專案的實際情況而定。
負載測試(load testing)
負載測試,是效能測試的一種,通常是指讓被測系統在其能忍受的壓力的極限範圍之內連續執行,來測試系統的穩定性。
可以看出負載測試和穩定性測試比較相似,都是讓被測系統連續執行,區別就在於負載測試需要給被測系統施加其剛好能承受的壓力,比如我們還是測試163郵箱系統的登入模組,我們先用1個使用者登入,再用兩個使用者併發登入,再用5個,10個…在這個過程中,我們每次都需要觀察並記錄伺服器的資源消耗情況(可以通過任務管理器中的效能監視器或者控制面板中的效能監視器),當發現伺服器的資源消耗快要達到臨界值時(比如cpu的利用率90%以上,記憶體的占有率達到80%以上),停止增加使用者,假如現在的併發使用者數為20,我們就用這20個使用者同時多次重複登入,直到系統出現故障為止。
負載測試為我們測試系統在臨界狀態下執行是否穩定提供了一種辦法。
壓力測試(stress testing)
壓力測試,是效能測試的一種,通常是指持續不斷的給被測系統增加壓力,直到將被測系統壓垮為止,用來測試系統所能承受的最大壓力。
比如我們不斷增加併發的登入使用者數,20,30,50…比如,當增加到70個使用者併發登入時,系統崩潰了,我們就可以知道163郵箱所能承載的最大登入併發數為70個左右。
關於效能測試的分類,可以舉乙個比較通俗的例子方便大家理解:
假設乙個人很輕鬆就能背1袋公尺,背2袋公尺很吃力,最多就能背3袋公尺
穩定性測試–我讓他背1袋公尺,但是讓他去操場上跑圈,看多久累倒。
負載測試–我讓他背2袋公尺去操場上跑圈,看多久累倒。
壓力測試–我讓他背2袋公尺,3袋公尺,4袋公尺…發現他最多就能背3袋
多麼形象啊! **自無憂測試論壇
效能測試常用術語解釋
併發 tps 併發執行緒數 跑道裡參加賽跑的人 迭代 jmeter中叫做迴圈次數 每個人跑多少圈 迴圈 jmeter中是迴圈控制器 一次迭代裡面,反覆執行其中一段指令碼,就是反覆來回跑其中一段跑道 引數值 發請求時候用的資料 引數化 是一種策略,可以根據引數策略獲取引數值 檢查點 判斷請求是否成功,...
效能測試術語
軟體效能的幾個主要術語 完成客戶端使用者請求的乙個交易的總時長 資料庫 響應時間 n1 a1 n2 a2 n3 a3 n4 2 併發使用者數的計算公式 系統使用者數 系統額定的使用者數量,如乙個oa系統,可能使用該系統的使用者總數是2000個,那麼這個數量,就是系統使用者數 平均併發使用者數的計算 ...
效能測試術語(一)
效能測試術語 一 效能測試是通過自動化的測試工具模擬多種正常 峰值以及異常負載條件來對系統的各項效能指標進行測試。效能測試的目的是驗證軟體系統是否能夠達到效能指標,同時發現效能瓶頸,以優化軟體,最後起到優化系統的目的。效能測試包括以下幾個方面 以下效能測試關注的指標術語 事務 transaction...