Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
Tips for Developing Effective Performance Test Scripts

Tips for Developing Effective Performance Test Scripts

Ratings: (0)|Views: 1,006|Likes:
Tips for Developing Effective Performance Test Scripts

check this link for testing related information:
Tips for Developing Effective Performance Test Scripts

check this link for testing related information:

More info:

Published by: RamaDurgarao Peddireddy on Jul 03, 2009
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less





The Test scripts are generated to mimic the user behavior during the performance tests. The testscripts enable the performance tester to simulate the real time user behavior by providing theconfiguration options. The Test scripts needs to be modeled in such a way that it exactlysimulates the user actions & user think times.The Test scripts should have the transaction names or browser requests identified for which theresponse time & throughput metrics needs to be collected. These requests should be named with proper naming convention so that it becomes easy to refer to a specific transaction by its uniquename.Running the script containing the right set of transactions alone doesn’t mimic the real time user  behavior. Each transaction should be always coupled with another important metric called asthink time, which is the time taken by the user to think and to navigate between various pages.This wait time which is placed between each transaction determines the accuracy of the scriptssimulating the user behavior. Analyzing the think time between each transaction is very criticalas it determines the load on the server at any point of time. By conducting discussions or surveyswith business analysts & end users of the application, the think time for each transaction can beidentified. Say, you have 2 transactions in your script, Login transaction followed by the think time of about 10 seconds followed by the Logout transaction. If the think time is changed to 5seconds, then the frequency of the login & logout requests send to the server increases, hence theload (requests/sec) on the server increases. If the think time is changed to 20 seconds, then theserver load (requests/sec) decreases as the requests are sent in 20 seconds interval.The test data parameterization is another important activity which needs to be taken care in thescripts. Care should be taken so that enough test data is provided in the script so that each testdata is not used more than once when the tests are run. For example, the user login credentialsneeds to be parameterized in the script. If the test is planned to run for 100 users, then the scriptshould have 100 login credentials available in the script. If more than 1 user is allowed to use thesame test data, then the response time would be varying as it might be caching the web pages or the session might get reused. It’s always recommended to make sure that the script is suppliedwith enough test data to be used uniquely for each user. By using parameterization, we can makesure that the correct formatted unique data is sent from the client-side for each user during thecourse of the test run. From the server side, there might be some dynamic data generated for eachuser which may be unique for each user. For example the session id of each user would beunique. If the server passes the session id of the user while returning the response for a specificclient side request, then this part of the script cannot replay correctly if it is run for a differentuser id from the parameterized test data.This kind of server-side dynamic data needs to be handled in the script as well. Sometimes therecorded script cannot replay because of some specific dynamic values which are generated bythe server. This kind of dynamic values needs to be first studied whether it’s unique with respectto each logged in user or unique for each run even for the same user. Sometimes the user actiongets completed even if the dynamic values are not handled. Hence, first analyze the logic under which there is a dynamic value getting generated from the server end & accordingly handle the
dynamic value. Most of the time the dynamic value is handled by identifying the correspondingleft & right boundary & capturing the dynamic value, then the captured value can be substitutedagainst the variable which is holding the dynamic value.Last but not least, make sure the script is very realistic in terms of the user actions. Try to have asingle script which covers all the flows of the application & use random number generator function to distribute the user load across various functional flows. Sometimes it’s good to havemultiple scripts as long as the distribution of the load across scripts is handled separately.Happy Scripting!!1.Do you experience problems with performance in production?2.What is the cost of downtime, including monetary, man hours, and intangibles such ascustomer satisfaction, reputation, and opportunity cost?3.Does your application scale with an increase of users?4.Do you have a method for obtaining real performance metrics?5.How do you repeat/reproduce a performance problem?6.How does the server’s response time change if you increase or decrease the number of users?7.How many users can simultaneously work with the web server without a perceptibleslowdown?8.What load can crash the server application?
How do hardware and software changes affect the server performance?
QALoad Product Detail
Scalable Testing
Load, you can emulate the load generated by hundreds or thousands of users on your application—without requiring the involvement of the end users or their equipment. You caneasily repeat load tests with varied system configurations to achieve optimum performance.

Activity (10)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
porlanagesh liked this
Juben L. Haramel liked this
Ting Zhang liked this
TEJASKO liked this
vamsi2903 liked this
yah_auto liked this

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->