Performance matters… Here’s why
Ever have those days when too many people want something from you at the same time? When your inbox is flooded by so many questions and requests that you just freeze and stop doing anything at all? Everyone has those days every now and then and so does your software application or website. Unfortunately, those occasions can be extremely costly, hurting your bottom line. Today we will discuss why performance tests are necessary and a crucial part of the software development life cycle.
What is Performance Testing For?
In brief, performance tests reveal how a system behaves and responds during various situations. A system may run very well with only 1,000 concurrent users, but how would it run with 100,000? In terms of performance, we wish to achieve high speed, scalability, and stability of the system. There are several types of performance tests in which each simulates a different possible user scenario. The figure below demonstrates how some of them work.
Importance of Performance Goal #1: Page Speed
Users expect pages to load as quickly as possible and when they don’t, satisfaction decreases. Users can even experience heightened levels of stress when pages take too long to load. For example, when the website is glitching or taking forever to load during the middle of a financial transaction, users may become frustrated and lose trust. Wondering if the payment went through or not does not make for a pleasant shopping experience. According to a Harris 2015 poll, 46% of shoppers have said that they will never return to a slow site.
Even if your web page is loading at a reasonable rate, users perceive load times as slower than they actually are. A misperception of time makes us even more impatient.
People perceive load times as being 15% slower than they actually are according to the white paper by SOASTA and O’Reilly, “Time is Money.”
That’s just another reason why decreasing load time is important, even if on paper it loads quickly, it may not be perceived that way.
Another reason why you should care about page speed is because the grand decider of a website’s fate, Google, favors faster websites. Its algorithm takes into account pagespeed for both web and mobile browsing. It’s Google’s world, and we have to play by its rules in order to come out on top of its search results.
Most importantly, the faster the website, the more revenue it will generate.
Sites that load fastest have a competitive advantage. Since everything on the internet is just a click away, it is vital to have quick load times to keep customers on your site and not your competitor’s. “Two hundred and fifty milliseconds, either slower or faster, is close to the magic number for competitive advantage on the Web.” Harry Shum, Executive Vice President of Technology and Research, Microsoft.
Here are some real examples of positive outcomes from increasing page speed:
1. Obama became president. Okay, so maybe we can’t attribute it to his page performance alone, but it certainly helped! His fundraising platform in 2011 increased pagespeed by 60% and raised an additional $34 million for his campaign.
2. Wal-Mart trailed its competitors online until they made improvements. For every 1 second of improvement to load time, the site experienced up to a 2% improvement in conversion rate.
3. Intuit cut load time in half and saw an increase of 14% in conversions.
4. GQ decreased its average load time from 7 to 2 seconds and saw an 83% increase in traffic.
Importance of Performance Goal #2: Scalability
Not only is speed an important goal for performance, but scalability tests are extremely important if you want more users to interact with the system. How many more users can you support if you add another CPU to the database server? How long will the page take to load with this addition? These are all important things to know.
Importance of Performance Goal #3: Stability
Obviously, you want your application to work at all times. There will be sometimes when it is under more stress than others. Black Friday, for example, is not when you want your e-commerce website to crash. For high profile companies, even a few minutes of downtime can be extremely costly and can become big news.
For example, just yesterday, Southwest made the news because it experienced a major glitch in its system that delayed 450 flights and caused staff to issue handwritten tickets. The resulting customer experience was that of misery as lines grew tremendously long, especially outside in the hot sun at LAX and Phoenix airports. One disgruntled flyer tweeted: “Southwest air lining thousands up outside. No water, no food, no sunscreen — pure hell.”
Remember what we said about Obama’s fundraising success? His team also worked to ensure that the platform would hold up after major fundraising events when the number of visitors would surge. He successfully avoided missing out on large donations.
Instances like these are why stress testing is especially important. How many users can you handle until the system breaks with its current infrastructure? How much money do you risk losing if you don’t know how many users your system can handle?
Test Performance Early
In short, performance testing should be a major priority before releasing any software. It should be implemented early on in development so as to catch more bugs earlier and increase user satisfaction while saving you time and money down the line.
Recommended for You
Alerts in New Relic Synthetics: Check Website Health From Different Parts of the World
Use the tool, Synthetics, for easy website health monitoring New Relic is a company that offers many different tools, perhaps best known for its application performance monitoring (APM). At least that’s what I know it best for since we often use this tool when we…
Introduction to Taurus: An Alternative to JMeter
JMeter struggles? Taurus to the rescue! For those of you who know JMeter (the most popular open source tool for testing performance), your first thought was probably not “What a user-friendly software program! It’s so clear what this script does!” Taurus is here to fix that…