Skip navigation.

Please help me to select performance test stories to tell

performance testing
With this post I want to start list of posts regarding performance testing. While I have plenty of ideas but little time to write about them I’ll first outline items that I’m willing to share. I hope to receive some feedback in form of comments so that I know which parts to concentrate on and which I could even skip. Thanks in advance.
So I have the following things to share:

1) Few bad and few not-so-bad stories about performance testing done late on project. With this I want to say that it is a risk with undefined impacts but moderate probability and the probability tend to increase with introduction of “more-layers”, code-reuse and especially code-generation. Also due to architecture approach “simplest sing that could work” .

2) Classify all performance issues I’ve ever seen which triggers those stories to be bad. Hint how to detect those issues. Probably those are performance testing heuristics I will share, but I’m not 100% sure I understand that term :)

3) Show that all of the issues in 2) could be demonstrated by manual testing. This denies the myth that no good performance testing could be done without support of load tools.

4) Show that you can’t still avoid automated load tests, because they are only option to detect stability (memory and other resource leaking) issues.

Well, there are context as well. I've been performance testing in-house as well as providing performance tests as service to telco and government, though during last few years I only manage performance tests among with functional, so I have lost some technical insight, but got big-picture. Though all my experience was never about product that has to compete to other products by means of performance. It means that performance improvements done in code which improves overall performance by 10% or even 20% are not significant, even more if it introduce some functional risk, e.g. regression risk, it is even not worth it. Only if improvement is evaluated in times or it could be any value depending on data size, only those improvements are worth to implement.

Thanks and more comment are welcome

Yes, I saw that list of performance stories on QAForums and I agree that it makes a little sense for me to try to extend it. More over I have to revisit this list prior to continue posting about performance here. Meanwhile I have started to do 2) in my next blog and hope to address 3) afterwards because I believe and hope to receive a lot of argues regarding this. Meanwhile I'll comment a little bit on that item 3):
In general terms I prefer modelling to emulation, especially if it could be extended with production monitoring. I have a little experience with load emulation detecting issues other than memory leaking or wrong tuning (or issues I was able to see but unable to argue during manual testing). For example one of the first stories in qaforums tells about deadlocking with two (and later 3) concurrent users - so do you think I'm unable to press a button on two or 3 computers simultaneously ? Especially if I do a little research and understand which button could cause this... and this is what I'm going to tell how to do.

I really tried to select one

I really tried to select one or two, but all four of them sound interesting. Bad stories about testing done late are always fun. :)

Go Ahead

Rather confused by item 1 and probably won't agree with item 3, but eager to see how you will come there. I believe that there are two (let's simplify) kinds of performance issues: which you can see with one user and which you can see only under the load. I'd say the first ones don't require load testing, that are kind of issues you can solve with, for example, profiler. The second ones usually require load testing tools to find and investigate these performance issues.

Check here

Scott Barber started this thread a long time ago and it has grown into this monster.

http://www.qaforums.com/cgi-bin/forums/ultimatebb.cgi?ubb=get_topic;f=2;t=000934

Mind you, that you should not use the stories in there without checking with the authors first.

Roland Stens
rstens@performancetester.com
http://www.performancetester.com

The Foremost mistake

The most common mistake performed in performance testing is loading the client machine more than its capacity and thereby it acts as 'bottleneck'.

I remember with one such client i worked in early days of my carrier: We created the required web scripts and started loading for few hundered virtual users and noticed poor response time. It took a while to figure out the client is the bottleneck.

Also there was a case when we used the virtual machines as our player machines; the CPU took off heavily and that was again an constraint.

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.