The majority of companies today don't adequately test the performance and scalability of their web applications which can mean disaster when a website goes live. Historically what held them back was:
- The cost of hardware to generate a realistic simulation of user load was cost-prohibitive
- The performance test tools of the day were written to run performance tests in the test lab
As any performance tester will tell you the performance of a system in a test lab is a long way from the performance of your production system. An internal test system excludes whole chunks of the production delivery chain:
- The performance of third party Content Delivery Networks (CDN) is not tested
- The performance of your firewall is not tested
- Load balancing is not tested
- The performance of your internet connection is not tested
- The time taken for DNS lookup is not tested
Yet these play a major part in your online users' experience and perception of your company. Research shows that users turn away from slow websites. So what confidence in your website performance can you have with this 'old school' testing?
Fast forward to today. New load test tools and enabling technologies are available. And it isn't so scary. And it invariably costs significantly less than your old load test tools and test hardware.
NeoLoad and Cloud Testing
NeoLoad is a new generation of load test tool that can simulate users both internally in an organisation and, more importantly, from outside of the organisation by generating load from the cloud.
What this means is that you can crank up the number of simulated online users on your website doing all of the things that users do (opening an account, browsing goods, paying at the checkout etc) on a scale to match your biggest online sales day. No more horror stories of websites crashing through over demand.
Performance testing your eCommerce site, for example, means that you can have increased confidence that it will withstand the pressures of daily transactions.
Hold That Order!
One of the problems of load testing an eCommerce site is catching all of the orders placed by your virtual users to prevent them from being actually processed and stopping calls to the payment providers. NeoLoad manages this really easily as the tester can tag all of the transactions which can then be removed from the system.
Spike testing is when a large user load is applied very quickly. The sudden shock to the system will tell you a lot about its weak points. You may ask yourself "Why would I want to spike test?". Spike testing maybe relevant to you or maybe not. But think for a moment about a scenario with a UK retailer earlier this year when it advertised the new iPad 3 on its website. Unfortunately it priced it at less than 20% of the actual price by mistake. After a few initial orders word spread on social networking sites such as Twitter and within a matter of minutes the site was swamped with orders causing it to crash and resulting in lost business from the rest of the products the site sells.
Could this happen to you? Would you want to know which system components would fail first? If you conducted spike testing you would know precisely where it would fail and, armed with this information, could implement plans to mitigate this risk. To implement spike testing in NeoLoad is a matter of defining the volume of traffic and setting the profile against which this traffic builds up.
The direct cost of not doing is this your average order value times the average number of orders placed. The indirect cost of not spike testing is damage to your brand (eg Twitter) and headline news for all the wrong reasons.