The main goal for any Performance Test Engineer is to make the perfect simulation , because this will lead to accurate test results and that’s what we need from this kind of test.
What is background noise?
The idea is to record and play some users behaviors which is not meant to be measured or not that important to make some noise , and this simulates the user behaviors in any system in real life.
You may too concerned about the “Login” , “Register” or any other user actions , but what is happening in real life is different.
Because while you as a user try to login or register there are some other users who opening the “contact us” page , “site map” , “subscribe to news letter” and may be “about us” page.
I know that those are the least functionality you want to measure but you don’t have to , you just want to play this in the background or in a more accurate way in parallel with your designed tests.
What you need is to record some user behaviors as described above and run them in parallel with your current performance test.
You don’t have to assign a large number of users to these tests , you can assign a percentage 5% or 10% as example of your original load just to let this noise affect the system.
As you can see in the above JMeter script , one more Thread group is added with different transactions , this ThreadGroup will be executed in parallel with the original script to make some noise , or you can run it as a separate test from another machine in parallel with the original script.
As mentioned before , it is not important to measure those extra transactions response time , the job here is to send more request.
In the end , we always searching for a way to make our test results as representative as possible , because this will increase the reliability of the system and make our customers happy.
Please share your tips, experience, comments, and questions for further enriching this topic of discussion.