Home | ezMoney | Download | My KB | Job | Contact Me

何謂效能測試?負載測試?壓力測試?

什麼是效能測試??負載測試??壓力測試

這個??題???以???考 QA Forums 的 FAQ - Performance & Load Testing



Definitions:

Performance Test – Often the “catch all?? for all performance related types of testing. Often used in different ways by different people. Performance tests are normally interested in both “how much??? and “how fast???

效能測試 – 泛指所有測試系統效能的測試,如負載測試(Load Test)??壓力測試(Stress Test),通常會以系統回應時間以??????時???以處???多少???時上線使用者為指標。

所以如何定義一個好的指標就很????,因為這會影響到如何進行效能測試。一開始???以先訂定一個概念性的目標,例如:

  • ???尋的功能必須夠快,以??客戶等得????煩。(Application response time)
  • 在尖峰使用??時,所有更新訂單的功交易必須都能??功。(Function under load)
  • 我們??期網站明年的使用??會??長為目????劃的二??。(Capacity planing)
  • 網站在1,000個使用者???時上線時,??能當機。(Reliability)

以上是一些設定效能測試目標的例??,大部分在寫???功能性需求時能寫到這樣已經??錯了,?????這樣的目標基本上??於??如何完??效能測試還??是很明確。

接下來你必須更明確定義出這個「???尋的功能必須夠快??的夠快到底是??多快,是8秒還是10秒,最多??能超???幾秒。而且這個夠快是在什麼樣的情境下必須驗證的,例如在尖峰使用??時也必須滿足這個目標,這時你???必須??考什麼是尖峰使用??,多少使用者???時上線,??算是尖峰使用??,或是????時必須完??多少次???尋??算是尖峰使用??。

然後你??有辦法開始設計效能測試的測試情境。

Load Test – Most commonly collects various performance related measurements based on tests that model varying loads and activities that the application is expected to encounter when delivered to real users. Often focuses on “how much?? can the application handle.

負載測試(Load Test) – 用以驗證系統在真實使用的負載下,是???能???到??期的效能指標。

以購物網站為例,首先你必須分??網站的使用模??,如業務??程??尖峰的使用者數??,??能進而設計出???以準確模擬真實使用情形的測試情境。??點在於「模擬真實使用情形??,你??能驗證網站上線後,確實能符???當??設定的效能指標。

Stress Test – Most commonly collects various performance related measurements based on tests that model varying loads and activities that are more “stressful?? than the application is expected to encounter when delivered to real users. Sub categories may include: – Spike testing (short burst of extreme load) – Extreme load testing (load test with “too many?? users) – Hammer testing (hit it with everything you’ve got, often with no delays)

壓力測試(Stress Test) – 用以驗證系統在超出??期的負載下,穩??穩定,系統的功能是???還是正常的。

與負載測試??一樣的地方,在於壓力測試??驗證網站在超出??期的負載下,穩??穩定,系統的功能是???還是正常?也許網站平時???能???會有200?????時上線的使用者,但是耶誕節是購物網站的旺季,你估計???時上線的使用者有???能會到???1,000甚至2,000,你當然??想在這個賺錢的好時機因為網站當機,錯失賺錢的機會。壓力測試???以讓你了解你的網站的極????穩??穩定,幫助你???早為網站的???級作好??劃。甚至還???以幫助你驗證,網站的錯誤處???機制??負載平衡??備???機制,在這樣的是???能正常???作。

???外還有容??測試(Volume Test) – 長時間大??資料測試,看看資料庫??硬碟的空間以???其它硬體的資??是???足夠。

5 項留言回應 給 “何謂效能測試?負載測試?壓力測試?”

  1. unc 如是說:

    Oldsidney 兄,
    Can you recommand me some book or information about stress/volume test?

  2. oldsidney 如是說:

    其實我也有??找這一類的書,但是很???憾還沒找到。

    推薦您一個網站,Effective Performance Testing,我覺得???到許多關於效能測試的。???外還有 QA Forums,也是個??錯的資料來??。

  3. unc 如是說:

    ????!!

  4. iwinlib 如是說:

    基本上,上述的效能測試方式是因所要驗證的測試特性不同,而使用不同測試資料輸入形式所致。

    測試資料是由模擬使用者數與執行時間2D所組成。當往模擬使用者數方向增加,則是為了驗證承載性(Scalability),即是製造Peak of data,常用的測試方法為Stress testing, Torture testing。當往執行時間方向增加,則是為了驗證穩定性(Stability),即是製造Volume of data,常用的測試方法為Volume testing。而介於其間的是Load testing,是為了驗證一般狀態下系統的表現(反應時間多快),即是一定的負壓量、一定的執行時間與一定的組態條件進行測試。

    正因為並無一定的規範存在,所以也衍生出各種不同的測試場景與測試方法名稱。

    另效能測試有三個特徵點:Bending point, Break point, Crash point。Bending point是被測物瞬間承受大量資料湧入的第一個震盪點,比照物理現象為初次受力的彎曲點,當入口容量小於模擬使用者數時,這是正常現象。Break point是指大量交易失效(Failure)的點,比照物理現象為被測物開始破裂點。而Crash point是指被測物已經完全停止服務的點,比照物理現象為被測物已經完全斷裂的點。

    Stress testing是為了Break point而設計的,不會像Load testing需驗證反應時間,但有可能執行Load testing時,便發生Break or Crash現象。

  5. Michael 如是說:

    Hi,
    請問你有聽過RAT與FAST嗎?
    RAT應該是Release Acceptance Testing
    FAST應該是Functional Acceptance S(忘了) Testing
    不知它們的定義為何?
    謝謝!

留言回應

你必須要 登入 才能留言回應。


觀看訪客統計報表