With multiple Performance & Load Testing (LT) tools in the marketplace, the motivation behind this article is to highlight what the key functions that make up the ideal tool are. I will use my experience of working with open source and premium LT tools to highlight what I believe the key offerings are that makes them relevant in this competitive market. These nine essentials of a load testing tool can then be used when undertaking a load testing tools comparison.
We know the fundamentals of any LT tool where the solution under test is a web application (HTTP protocol) is that it must offer the ability to; record requests, parameterize requests for variation under load, playback, execute tests w/ multiple virtual users, and capture results. But what sets apart one tool from another? If one tool gives us a high degree of automation i.e. generates entire scripts from recording process, it potentially reduces the scripters level of control. On the other hand, if the output of the recording is too ‘messy’, it may deter us from using it so often.
If I was asked to build the best LT tool with the components I have seen or used in my years of experience, I would say the below list is just some of them I’d like to see:
1. Regular Expression Wizard
Recording and playback of a script where no dynamic variables are required to pass on to the subsequent request is adequate for you to execute your performance test. However, where there is dynamic content i.e. unique ID’s that are necessary for your script to pass, you will need to capture these and POST them on to your next request. Another instance is where you want the virtual user to ‘randomly’ select a value from a drop-down to achieve a more representative like scenario of Production. Some test tools offer minimal support for creating your regular expression (RegEx), whereas others offer a Wizard for you to select your ‘Starts with’ (or Left Boundary) and ‘Ends with’ (or Right Boundary), and the extract will capture whatever is in between. It will also let you select what occurrence of this value to select on each iteration. Once you are comfortable with RegEx’s, you can begin to create more complex ones in your tool, with the support of online RegEx testers such as http://regexr.com/.