效能測試的目標是什麼?

What are the Goals of Performance Testing?
http://hpperformancecenter.blogspot.com/2009/08/what-are-goals-of-performance-testing.html

Thursday, August 13, 2009
Posted by Stephen Feloney
Published in HP Performance Center


什麼是效能測試的重點呢? 作者經常被問到這個問題, 隨著你談論的對象不同, 你會得到不同的答案.

首先, 讓我們先告訴你什麼不是效能測試的目標.
Writing a great script
Creating a fantastic scenario
Knowing which protocols to use
Correlating script data
Data Management
Running a load test

並不是說這些不重要, 它們非常重要, 但是它們不是效能測試的目標.

This is not to say that all of these are not important. They are very important, but they are not the goals. They are the means to the end.

所以為什麼人們要做效能測試呢? 什麼是效能測試的目標? 以下是常見的答案
Validating that the application performs properly
Validating that the application conforms to the performance needs of the business
Finding, Analysing, and helping fix performance problems
Validating the hardware for the application is adequate
Doing capacity planning for future demand of the application

也就是說效能測試的產出就是你要測試的目標. 看起來很簡單, 很基本. 但是多少人會做以下的事情:
How many people really analyse the data from a performance test?
How many people use diagnostic tools to help pinpoint the problems?
How many people really know that the application performs to the business requirements?
How many people just test to make sure that the application doesn't crash under load?

即使這些事情看起來很明顯, 但是很多測試人員並沒有把重心放在這上面, 甚至可能都不管它們

很多人會說這些事情很難做, 或是很難去說什麼叫做很慢. 是的, 找出受測系統會不會crash或是burn恨重要. 但是想想看, 什麼人願意讓費生命在很慢的系統或是網站上面, 他們會另一個網站, 或者如果走不掉, 他們只好讓他們的事情很慢才完成.

Performance engineering是用來確保系統執行合宜, 滿足business上的需求. 所以測試人員並不只是要寫寫performance testing scripts而已, 他必須要確保這件事做到.

Performance engineering所要求的技能,通常都不是一般測試人員所擁有的. 他們需要去了解受測系統, 資料庫, web server, load balancers, SSO 等等. 他們還需要知道cpu, memory, caching, i/o, bandwidth的影響是什麼. 這些skill不是一個晚上就可以學會, 需要花時間才能知道的

就像前一篇"you get what you pay for"所說的. 如果你找來的是test scripter, 那你就是得到scripter. 如果你找到的是performance engineer, 你會得到就是performance engineer. 但是不一定都是這樣, 因為有時候人們會誇大自己的技能.

可是公司在執行效能測試時, 通常都是分開來看, 有人做script和test execution, 另外有人分析測試後的結果. 但是這些事情需要被合起來處理. 所以你需要知道要用什麼metric去monitor, 以及他們所代表的涵義是什麼. 你要懂得如何使用一些診斷的工具, 去分析測試後所得到的結果...等等. 如果你沒有這些分析的能力和知識, 你就不算是真正在做效能測試. 你只是一個測試執行人員, 只是把script + load放下去跑而已. 但是效能測試應該是running scrupts + analyzing the runs.

所以最後總結, 作者強調以下兩件事情:
1. 效能測試不只是去執行script, 而是還要加上分析測試結果
2. 分析和診斷測試結果需要很多知識, 這些都不是短期能學會的, 需要花時間去培養.

在我們培養效能測試人員時, 不要忘記把他們給考慮進去.
 

arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()