We’ve all been there… you’re using a piece of software or navigating a website and everything is just running really slow. You click a button and nothing happens – or you get the spinning wheel of death – and now you’re frustrated.
Even worse, this is the typical experience on that website/application.
These are performance issues, and today, we’re going to talk about how these issues can be identified early on with performance testing.
What Is Performance testing?
In software, performance testing is the process of determining how a system responds under a particular workload or task. In general, performance testing tests the speed, stability, and scalability of an application. This is vital to providing not only a good, but an exceptional, user experience.
A well-performing piece of software allows the end user to carry out a given task without experiencing a delay or irritation. When users get irritated, they stop using your product. You simply can’t afford to let your software perform poorly.
Types Of Performance Tests
A performance test is any test that measures the speed, stability, and/or scalability of your software. There are many ways to test the “performance” of an application.
Load Testing
Load testing involves simulating a demand on the software and seeing how it responds. This could be at the higher end of what the application is intended to handle, or a normal/anticipated load.
Stress Testing
Stress testing helps determine new thresholds in the software. With this approach, the load on the application is progressively increased until things start to malfuntion (performance degrades).
Stability Testing/Soak Testing
Stability testing (often referred to as soak testing), is a time-based test where performance is measured over time. Load is applied to the system over a long period of time, which helps determine how stable the software is.
Capacity Testing
Capacity testing focuses on the number of users the software can handle at one time. This helps identify where the performance or stability thresholds are when a large number of users are actively using your application.
So, What Constitutes Good “Performance”?
Great question! There isn’t really an industry defined standard of what “good performance” means. Technology is always changing, and with that, or expectations change. In 1995, a 15-second page-load time might have been acceptable. Today, not so much.
There are a lot of assumptions made here. Bottom line is your application should run smoothly, without delay, and without causing the user to get frustrated.
Tips For Conducting Performance Testing
First off, just do it. Don’t skip performance testing. There are too many poorly performing applications out there – don’t be one of them. Always include some type of performance testing in your test plan.
Use automation when necessary – for generating data, running repetitive scenarios etc. Define what you want to measure and take the time to analyze the data. Here are some tools to help with load testing:
- Google PageSpeed Insights – Analyse the speed which your webpage loads on different devices.
- Load Impact – Performance testing platform.
- Loader.io – Stress test your apps and APIs.
View our full list of performance testing tools.
Finally, make sure you iterate. Deploy a new build and conduct your performance tests again to see how things changed. At the end of the day, this should lead to a better product your users will love to use.