Every enterprise, from the world’s most technologically advanced brands to early-stage startups, often deals with the crash of their app or website. Can a robust performance testing strategy fix this, reliably?
On April 1, 2016, Instagram users became frantic as the pages would not load. Earlier this year, an outage of Salesforce.com apparently cost the company a whopping US $20 million.
Of course, these are examples of companies with rapid user growth and a mammoth number of users; But, they also had the technology infrastructure to handle massive traffic.
In spite of this technological arsenal, these companies had to deal with crashes, thanks to unexpected spikes in traffic. Or was the crash only due to additional traffic or could there have been other reasons?
Often, on a regular day, there is probably no question about the performance of your app.
But any unexpected spike in traffic, any unexpected combination of searches, or just an unproven combination of multiple actions by a sizable no. of users can possibly make your site behave erratically.
And, if you haven’t planned for this use case, a crash may be inevitable.
This is true the world over. One of the largest retailers in the U.S., Target, found that its site was unable to keep up with traffic growth in 2015.
Is your Performance being Hampered?
We can sort that out for you. Check out Indium’s Performance Testing Services
Ironically, TechRepublic, a content platform that uncovers technology news, explained the finer nuances of Target’s website crash; the article went viral and, as luck would have it, TechRepublic crashed!
Okay, we could go on and on with these examples. But, the point we’re making here is a subtle, yet important;
Even the world’s largest, most technologically advanced brands have to deal with site crashes, for two reasons – unexpected traffic and more importantly, unexpected combination of usage by these large number of users.
You may well think, what have billion users got to do with your app or website? Your current site is expected to handle, say, 10,000 users.
It may spike to a 2,000 more, or 5,000 at the most. If you got 20,000 users, you would be happy with that, but even that will take a while!
Our experience, with working on a slew of performance testing projects for our global clients, reveals that where performance is concerned, no size is too small.
Performance testing, which includes an array of testing processes for load, stress and endurance, is a must:
Slow page load aggravates customers, increases dissatisfaction and erodes customer base. More over, slow page load and large user base, will never go hand-in-hand.
Your app or website may generally be fast, but in rare occasions, page load speeds may be bad. You need to have a performance testing process to uncover this scenario
Performance testing ensures that your site is ready to handle more users than planned, and also indicates by how much more it can be increased.
This can impact your marketing as well as technology infrastructure strategy. Is your server hosting strategy planned keeping all scenarios in mind?
Is it in sync with your user acquisition strategy? Do you have a model to capture user behaviour of majority of users on the site? What does your analytical data reveal about user behaviour
There is no doubt, any downtime can prove costly. With performance testing, you are preparing your app for not only user growth, but for seamless operations across the app or website for an exhaustive set of scenarios.
At Indium, with our years of experience in performance and functional testing, we have fused performance engineering with testing, drilling down the test results to pinpoint the exact moment when glitches can happen.
This helps developers quickly resolve the issue, without having to second guess the cause.
For performance testing of mobile environments, in addition to emulators, real devices on actual networks are used to get an accurate picture of the client side performance issues.
It helps compare app performance based on type of device, bandwidth of network and battery usages. It is crucial to make app performance, agnostic to a mobile device.
Often, creating scripts may be a challenge in Open Source platforms, common used by testers. At Indium, we’ve created a process to tackle this challenge using J-Meter and other tools.
(the below mentioned metrics are based on CPU / Memory & Disk Utilization)
Constant, timely and insightful communication with the clients periodically has been one of the reasons for Indium becoming a preferred testing partner for several leading vendors.
This helps in capturing and reporting bugs along with potential risk areas, thus help the developers effect improvements quickly.
While tools provide Indium with data points, the experience and expertise enable the testing team to provide inference and insights that add value and enable the developers to address performance and functionality issues faster.
Indium has experience in performance and functionality testing across domains including Fintech, media, gaming, retail, banking and financial services, telecom and enterprise tech – all industries with large user growth.
With the Internet becoming the pivot around which businesses deliver their products and services, customer expectations of service quality have also grown manifold. Any slackening can cost businesses heavily.
Apart from natural growth and unexpected spikes, denial of service due to malicious malware attacks is just as real the risk businesses run, causing performance glitches.
Indium’s performance and functional testing practice help businesses prepare for the potential risks better to ensure smooth delivery of their services.
Scalability, stability and robustness are becoming critical, as also speed of delivery. Integrate performance testing with development to catch bugs early and ensure smooth user experience with your app.
And needless to say, size (user numbers) does not matter. Even if you’re planning for 1,000 users, a robust performance testing process is crucial to deliver a seamless user experience.
By Uma Raj
By Uma Raj
By Abishek Balakumar