The importance of Performance Testing
So, what is performance testing and why do you need to do it?
Whether its ecommerce, CRM, ERP etc. The IT systems provides the platform on which most technology enabled businesses operate, and they are critical to allowing organisations to run in an efficient and successful manner.
You may have developed the best new application that is about to disrupt the existing industry status quo or are about to upgrade or replace a hardware or software component. Maybe you need to know how scalable your IT system is, and can it handle the user activity that is needed to achieve the boards new 5-year growth plan.
All these changes will require performance testing.
Performance testing will give you and your business stakeholders an indication of how many users and transactions (or load) your system can process within a certain timeframe.
All changes introduce risk and performance testing should be an integral part of your testing strategy to mitigate that risk.
What performance do you need to test?
When a user performs any action in an application, that action triggers code to execute. The code may perform a search of a database, add a product to a shopping cart or perform a calculation. IT systems also talk to each other and parse information back and forth. These are integrations points and this flow of information is also managed by software.
The code that is executed runs on IT infrastructure, which is essentially made up of three components. Webserver(s), Application Server(s) and Database(s). These components can all exist locally on premise or be scaled up in the cloud to manage a large enterprise, this adds further complexities like load balancers, firewalls, dwh etc.
All of these components are software, and all are running on infrastructure that is referred to as the ‘environment’
The ‘Production’ environment is the live environment that the system users or customers have access to.
While functional testing is focused on ensuring that the applications can perform the business processes correctly. Performance testing asks the question; what happens when 500 or 1000 or 10,000 users perform the same actions?
We can’t line up that many individuals to perform the same action at the same time and since we must test before going live. We need another option.
That option is using performance testing tools to create the behaviour of multiple users in a controlled and repeatable manner.
Like all testing, Performance testing requires planning and quite a lot of setting up.
Some of the of the biggest challenges with performance testing:
- Data set up and management. Performance tests need to run repeatedly and with large volumes of data being created.
- Creating performance tests that match real-world behaviour of the live environment as closely as possible.
- Scaling the tests to match the available capacity of the test environment and user ‘loads’ to give meaningful performance results. It is unlikely your test environment will match your live environment in capacity.
- Modelling background processes that run on the live environment and can affect performance.
- Monitoring environment activity to identify where the performance issues or ‘bottlenecks’ are.
- Providing meaningful, actionable information in reports.
- Identifying the correct types of test to run i.e. spike, peak hour, soak etc.
CelticQA solutions help growing companies in UK, Ireland and USA to evolve their QA function to support their software development lifecycle. We have over 15+ years experience and a team of skilled technical testers , tried and trusted processes and the latest testing tools. You can check us out at www.celticqa.com or contact us at firstname.lastname@example.org if you wish to find out how we can help you evolve your QA function.