The online community for software testing & quality assurance professionals
   
Active Topics Today's Topics
Sponsors:
Lost Password?

Home
BetaSoft
Jobs
Training
News
Links
Downloads

News Group:
software.testing


Testing
Automation
Performance
Engineering
Miscellaneous
Statistics
Poll
  QA Forums
  Performance & Load Testing
  Creating plans for Performance testing

Post New Topic  Post A Reply
profile | register | preferences | faq | search

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   Creating plans for Performance testing
aniv
Member

Posts: 23
Registered: May 2001

posted 06-18-2002 01:46 PM     Click Here to See the Profile for aniv   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by aniv
I’ve been requested an estimate for a corporate project for proving and documenting the scalability of our SW while testing it with automated performance tool. I would need to show how the system scales to XXXX concurrent users with excellent performance - showing that the system has no platform bottlenecks that cannot be solved through adding more hardware.
Any hint where to start?
Would anybody share his/her plans on that front?

Thanks in advance,

Alex

------------------

IP Logged

webhaskett
Member

Posts: 6
Registered: Jun 2002

posted 06-21-2002 07:02 PM     Click Here to See the Profile for webhaskett   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by webhaskett Visit webhaskett's Homepage!
Start with Performance Test planning exercises. These are really an extension of a common-sense approach to load testing. 1) You need to understand what it is you are trying to find out (define the questions you want to answer - when does login time become too long, what are good response times for each transaction, how many users can log in before the system crashes...), 2) understand how users are using the application (user profiling is just detailing the business processes each kind of user follows when they use the app.), 3) map out the application architecture (you need to know which components of the application are running on what boxes so that when something starts to go wrong you can track down the cause - this is really the motivation for running a load test).

There are a number of important factors to determine, such as what input data can be parameterized, how to vary user think-time, what numbers of each kind of user profile to use in a given scenario, etc.

Always be reluctant to load test in the production environment, since load testing to find system capacities usually crashes the system.

------------------

IP Logged

splaine
Member

Posts: 91
Registered: Feb 2001

posted 06-24-2002 08:38 AM     Click Here to See the Profile for splaine   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by splaine Visit splaine's Homepage!
QUOTE]Originally posted by aniv:

Any hint where to start?
[/QUOTE]

I agree with webhaskett's comments; you need to define what are desireable/acceptable performance criteria requirements before developing your testing strategy. For example; 90+% of our anticipated user base must be able to perform the 10 most commonly used functions within x seconds using a client machine with a y specification during our peak processing hours of M-F 9am-10pm EST .........

With regard to scalability, most applications will typically benefit from throwing more hardware at the system, but at the same time few systems are so scalable that doubling the hardware will provide twice the capacity. So what we are really being asked to determine is "what is the scalability ratio" that the proposed solution appears to have. i.e. if you double the hardware will you get a 10% improvement in capacity (a ratio of 10/100 = 1:10) or 80% (80/100 = 4:5), obviously the closer to 1:1 the better. So before developing your scalability testing strategy, determine what the scalability requirement/"desirement" is.

Hope this helps
Steve


------------------
Steve Splaine
Lead Author "The Web Testing Handbook".
http://bdonline.sqe.com

IP Logged

rstens
Guru

Posts: 321
Registered: Aug 2000

posted 06-24-2002 11:01 AM     Click Here to See the Profile for rstens   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by rstens
I suggest you do a search on my name (rstens) and keyword "methodology" in the Performance and Load Testing forum. You'll find some of my contributions related to your topic.

Hope this helps.

------------------
Roland

IP Logged

aniv
Member

Posts: 23
Registered: May 2001

posted 06-27-2002 11:47 AM     Click Here to See the Profile for aniv   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by aniv
Thank you, folks, I really appreciate your help - that's exactly I needed to start!

------------------

IP Logged

canuck930
Member

Posts: 23
Registered: Jun 2002

posted 06-27-2002 12:48 PM     Click Here to See the Profile for canuck930   Edit/Delete Message Copy This Message   Reply w/Quote Search for more posts by canuck930
You actually raised 2 questions / issues.

One, proving that the site/application can scale to XXXX users. The other showing that the system has no bottlenecks that can't be solved without adding hardware.

Adding hardware should be the last concern, as most issues found during proper load testing uncover configuration and design problems.


Points to consider:

About 30% of issues are in the infrastructure, networking, router configuration, firmware, etc. Depending on your architecture this number could be larger or lower.

Your methodology needs to include stress tests for the various servers - independent of the application. This ensures that throughput, connect/disconnect rates, garbage collection, etc can be handled by your existing web/app/db servers. Again, these are sources of bottlenecks as well.

Then you get to the application itself. At that point you need to be pragmatic and prioritize the work. You can't test everything, but you need to define the load test models that you want. Document the model
preciself, including number of users, types
of operations, arrival rates, iterations, think times, etc.


There is merit in testing against the production system. As long as you:

[a] plan the event during off-peak hours
[b] take backups
[c] have support staff on hand to assist and recover
[d] approach testing gradually.

The purpose of testing in this manner is not to crash the system, but to gradually increase load and examine various components as they become busier. Often this will expose configuration issues.


The QA lab environment will not help you in
troubleshooting production issues.


If you need help doing this Mercury also offers a service called ActiveTune, which
does this for you.


IP Logged

All times are PT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic | Top
Post New Topic  Post A Reply
Hop to:

Contact Us | BetaSoft Inc. | Privacy Statement

Copyright © 1997-2003 BetaSoft Inc.


Ultimate Bulletin Board 5.45c