Deploying a Successful Web Application I – Why Performance Testing Matters

Deploying a Successful Web Application I – Why Performance Testing Matters

Web Applications are ubiquitous. Simply, open your browser (most likely chrome) and you would see a link directing you to Google apps, Facebook Apps or even other 3rd party applications that run on the browser. So, as a web application…

Web Applications are ubiquitous.

Simply, open your browser (most likely chrome) and you would see a link directing you to Google apps, Facebook Apps or even other 3rd party applications that run on the browser.

So, as a web application developer, there are two factors that may matter the most.

  • A Well Performing Web Application
  • A Secure Web Application to bank on

Just as in the Moses picture above, imagine the tablet that he holds to be a web application. The clouds, can signify the influence of cloud computing while developing, maintaining & launching web applications. Subsequently two factors come to picture. On one side you have the thunderbolt which is threatening to ignite the tablet (web application security) and the unexpected rain wherein the tablet is expected to continue performing in spite of it(web application performance during all stages).

Performance Testing your Web Application

Typically the success of Web application is based on its performance. This form of testing typically allows us monitor whether the application would perform correctly once it is in production. Often critical questions are raised when performance testing is done:

Will the web application meet my pre-defined criteria?
Will my application survive in load testing?
Will my application survive stress testing?

It is a well-known fact that ensuring performance testing has its own form of return of investment. To begin with, performance testing ensures better employee productivity in the client side with a reliable application, reduces the expenditure from client to buy additional hardware in case the application fails to perform and most importantly retain customers.

Let’s look at it this way, Popular e-commerce application today emphasize on performance testing along with investing huge amount of hardware and software capabilities to keep the application running. One can take the example of Flipkart, which often couldn’t handle large traffic during specific scenarios, like the launch of Xiaomi’s Mi3. This phenomenon was an important lesson for Flipkart to introspect on its system and subsequently invest on additional servers to handle the load.

According to Microsoft, the Core Performance Testing Activities are:

  1. Identify Test Environment – where it is important to have the exact replica of the production environment
  2. Identify Performance Acceptance Criteria – predefine the benchmarks of expected performance
  3. Plan and Design Tests – Identification of user test scenarios based on their importance, frequency and performance impact
  4. Configure Test Environment – setting up the test environment as in the first step
  5. Implement Test Design – scripting user scenarios with the help of performance testing tools
  6. Execute Tests – testing on scripted user scenarios against different user sets with different configurations
  7. Analyze, Report and Retest – Analyze test results with benchmarks, report results to stakeholders and Re-test if necessary

The above activities give a blue-print towards defining a clear methodology for testing web applications. In general, web applications have different purposes, different platforms and diverse set of functions which requires customized methods of testing.

In the age where web applications are predominantly made for B2C consumers, customer attention span is short and most customers click away after 8 seconds of delayed loading. It is estimated that there is over $4.4 billion business revenue loss due to poor web applications performance. Important metrics like page views, leads, conversion rates, customer satisfaction are on the verge of risk over a poor performing application.

Real-world testing with your application

Imagine you have a physical merchandise store and wish to take your store online. As you start creating a web application to make your store’s online presence felt, there is a need to understand the performance of the web application so that it can be deployed with full faith. Your priority would be to have a reliable application that doesn’t bring your business to a standstill at the same time improves your customer’s experience. What types of tests would convince you?

Some common types are:

  1. Load Testing
  2. Responsive Testing
  3. Endurance Testing (Soak)
  4. Stress Testing
  5. Scalability Analysis

As we initiate the performance testing process, it is important to define the benchmarks that the end result is expected to satisfy once the testing of the web application is complete.

For example if you had defined that the web application must handle over 1million + traffic on 2 days of flash sale you plan to announce next month, then the testing result must convey that the web application remains durable enough to handle such traffic.

» Load Testing comes into picture when we wish to analyze the load of the application within the production environment. This data helps understand the capacity and scalability and is a key milestone for performance testing.
»Responsive Testing is important in this case because it helps to assess the application from the perspective of the end-user experience.
» Endurance Testing or Soak Testing is the wait-and-watch approach in testing. There comes a need to have longer test runs that can span beyond a day at peak hour load and helps identify exposure risk, memory leaks, environment instability, disk space limitation, logging configuration and other systemic problems.
» Stress Testing – An important criterion to measure the application’s reliability, the stress testing shows how much your application can stretch even in the worst-case scenarios and help analyze what is the breaking point of the application.

As we can see, even the most simplest of applications require performance evaluation and security, this is because once an application goes online, it is exposed to a wide range of threats. Along with that, creating a reliable application that ensures an overall smooth experience defines the success of the application.

Leave a Comment

Your email address will not be published. Required fields are marked *