Think time in performance testing

Posted by on January 12, 2008
Filed Under Performance Engineering | Comments Off

Over the years executing/designing many successful performance testing scenarios and discussing with many performance testers & engineers, I have realized, in most of the performance testing approach, the ‘Think Time’ metric is taken for granted. Many testers record the application and keep the default Think time for test executions.

What is a Think Time? Think time is a time taken by end user of an application between navigation of application pages/screens. Think time also includes the time taken by end user to fill in any application page. For e.g. If a user is signing in to an application, the time taken by him/her to enter the userid/pass and time he/she takes to click on the submit button is know as Think time. Should we use the default recorded Think time? All the production system has random workload and user profile behavior, which cannot be replicated accurately in the testing environment.The main objective of performance benchmarking and testing is to evaluate the performance of SUT. Such as whether weberver, appserver, DB & other subsystems etc. are scalable to handle the production traffic or not.Depending upon the application context, the think time would vary. It’s not advisable to have the default think time for any applications under test.Think Time has an impact on the very first component of any overall application system as Webservers. Think time in the load test scripts decides the speed (Hits/sec) of incoming traffic on the webserver. Hence Think time has to be calculated very carefully for any load test.Instead of using the default recorded think time, one main criterion which derives the think time is number of concurrent users sessions in the system at any point of time.

Why the production performance issues are not simulated in test environment? If all the application system and subsystems are exactly similar or comparable to the production counterpart, the main reason of testers not able to replicate the production performance issues in Performance test lab is inaccurate use of Think Time in the load test scripts.

The most accurate measure of simulating the production workload in performance testing lab (after Transactions per sec) is to simulate the number of concurrent (active and inactive) sessions in the load test. Load modeling technique should be use appropriately using time to evaluate number of session targeting the number of transactions to be achieved in the testing exercise.



Comments are closed.