效能測試概念和術語解釋

來源:互聯網
上載者:User

回應時間,是指系統對使用者操作的反饋時間。我們可以舉一個163郵箱登入的例子:
我們如何來測試郵箱的登入回應時間呢?我們首先進入mail.163.com網頁,輸入合法的使用者名稱和密碼,點擊“登入”,直到登入後的郵箱介面完全顯示出來為止。那麼回應時間從什麼時候開始計算呢?是我們輸入使用者名稱的時候,還是點擊“登入”的時候?
顯然,我們應該從按下“登入”按鈕的那一瞬間開始計時,到登入後頁面完全顯示出來為止,這才是真正的使用者登入時間,而不包括使用者輸入使用者名稱和密碼的時間以及思考停頓的時間(think time)

登入回應時間其實包括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個左右。

我們把上面的思路整理一下,編寫一下163郵箱登入模組效能測試用例,供大家參考(假設163郵箱要求登入的時間最多不超過10秒,測試環境略)

關於效能測試的分類,可以舉一個比較通俗的例子方便大家理解:
假設一個人很輕鬆就能背1袋米,背2袋米很吃力,最多就能背3袋米
穩定性測試–我讓他背1袋米,但是讓他去操場上跑圈,看多久累倒。
負載測試–我讓他背2袋米去操場上跑圈,看多久累倒。
壓力測試–我讓他背2袋米,3袋米,4袋米…發現他最多就能背3袋

多麼形象啊! 轉載自無憂測試論壇

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.