Info on all aspects of non-functional testing including performance
testing, load testing, scalability testing, business continuity testing,
disaster recovery testing, resilience testing, endurance testing and
Found a great article on performance testing on Sys-con. The intro is below:
"Performance testing a J2EE application can be a daunting and seemingly confusing task if
you don't approach it with the proper plan in place. As with any
software development process, you must gather requirements, understand
the business needs, and lay out a formal schedule well in advance of the
The requirements for the performance testing should be driven by the
needs of the business and should be explained with a set of use cases.
These can be based on historical data (say, what the load pattern was on
the server for a week) or on approximations based on anticipated usage.
Once you have an understanding of what you need to test, you need to
look at how you want to test your application.
Early on in the development cycle, benchmark tests should be used to
determine if any performance regressions are in the application.
Benchmark tests are great for gathering repeatable results in a
relatively short period of time. The best way to benchmark is to change
one and only one parameter between tests. For example, if you want to
see if increasing the JVM memory has any impact on the performance of
your application, increment the JVM memory in stages (for example, going
from 1024 MB to 1224 MB, then to 1524 MB, and finally to 2024 MB) and
stop at each stage to gather the results and environment data, record
this information, and then move on to the next test. This way you'll
have a clear trail to follow when you are analyzing the results of the
tests. In the next section I'll discuss what a benchmark test looks like
and the best parameters for running these tests.
Later on in the development cycle, after the bugs have been worked
out of the application and it has reached a stable point, you can run
more complex types of tests to determine how the system will perform
under different load patterns. These types of tests are called capacity
planning, soak tests, and peak-rest tests, and are designed to test
"real-world"-type scenarios by testing the reliability, robustness, and
scalability of the application."