In modern software engineering testing the performance of the software is a vital part of the development process. With a performance test the components of the system are monitored to see how they will handle in a particular situation. Besides testing the components of the software solution, the performance test will also validate the resource usage, scalability and reliability of the product. A common mistake is the fact that performance testing does not aim to detect bugs in the application. Performance testing is done to provide stakeholders with information about their application regarding speed, stability and scalability. More importantly, performance testing uncovers what needs to be improved before the product goes live in production.
There are a lot of tools, applications or services that will take care of the whole process of performance testing. These services will contain features like:
- Stress tests: these tests will benchmark how the application will behave under a heavy load. Typical here is the inclusion of ‘virtual users’. The performance test application will simulate a heavy user load and monitor the application’s behaviour.
- Performance tests: this test will monitor the application’s responsiveness under a normal load. How, for example is the web server handling requests?
- Capacity planning: this will benchmark the application’s performance at various capacities.
- Smoke tests: This test will take a look at the application’s behavior under light loads for short durations.
As a developer there are a few products available to do performance testing for free. We’re going to take a look at four of the major tools out there.
Visual Studio is a complete suite for application development so it also contains tools to do performance tests. The Visual Studio Ultimate edition can perform local and remote tests by using an unlimited number of virtual users. The virtual users that ‘take part’ in load tests use multiprocessor architecture. Multiprocessor architecture allows the machine on which the virtual users are installed to use more than one processor. Visual Studio Ultimate provides three built-in load patterns: constant, step, and goal-based. By modifying the properties of the test the goals for each load pattern can be defined. The Load Test Analyzer is used to view both running and completed load tests. Implementing load tests in Visual Studio can be done for free. No other license is needed.
While the setup of performance tests in Visual Studio can be somewhat complex, setting up tests via LoadImpact is simple in comparison. Stress testing via LoadImpact can ramp-up from 0 to 100000 users in less than a minute and the test process can emulate a wide range of browsers like IE, Firefox, Safari or Opera. Instead of local stress tests these tests result in realistic results. An example of these realistic results are the fact that the virtual user request can be loaded from 10 different locations simultaneously. LoadImpact offers a Chrome Extension to record an HTTP session and let the simulated users do the same actions during the test. These remote tests can also gather important metrics on the local machines by using a Server Metric Agent. The complete specification sheet can be found here.
Dynatrace for Mobile is an online service that can performance test your web application. These tests give more insights in the way the application is performing for mobile and web users. The test analyzes the overall performance impact of your web design and compares the speed of the application with the best in the industry. The Dynatrace solution can handle a range of technologies like Mobile, Java, .NET, PHP, SAP or even SharePoint. There is no mobile or web application that can't be tested.
Pingdom is a free tool that tests the response times of your web application. By entering your URL the application starts analyzing the web application and tries to identify what parts of a webpage are fast or slow and provides a few best practice guides to solve some of the issues. The application can be used by both novice users and experts. Pingdom examines every part of a web page such as file sizes or load times of every single element of the page. After testing, a report is offered with the overall performance overview and performance grade and tips. The tests are run from both the US and Europe.
When building a web application, one of the questions to ask is “how will the application behave when is it online?” Testing the application is a vital part in the development process because an application with long response times will result in bad user experiences. Performance tests handle the process of preparing the application to be ready for the production environment. Because speed matters these results should be handled with great care.
Want to build your desktop, mobile or web applications with high-performance controls? Download Ultimate Free trial now and see what it can do for you!