What I need to know before starting performance testing of a WebApp

Performance testing is a niche area. The approach becomes a bit different for different types of applications. In this post, we’ll be focusing more on WebApps. To master performance testing of a WebApp, we need to understand the architecture of the application under test in detail. This will help us to find the right strategy for testing the application. Then we need to understand the running environment of the application, the network and protocols the application is using. Then we need to find the right tool to do performance testing.

So let’s categorise the topics we are going to cover into the following sections. We will go through all the topics in brief. A single post will not be enough to cover this topic in detail. We will publish more detailed article on multiple of following topics.

  1. Understanding the application architecture
  2. Understanding the application environment
  3. Understanding the network and protocols
  4. Understanding various open source tools
  5. Understanding various types of performance testing applicable for the application

Understanding the application architecture:

A WebApp can be built using multiple architecture.

  • SOA
  • Pub-Sub, etc

Understanding the application environment

We need to understand the environment where the application is running.

  • What are file descriptors
  • What is load average
  • What is CPU usage
  • What is memory usage
  • What is heap memory and why should we care about them

Understanding network and protocols

We need to understand the standards the application is built on. On top of that where the application is hosted and whats speed of the network.

  • What is the bandwidth of the network
  • What is http
  • What is REST
  • What is Soap
  • What is thrift

Understanding various open source tools

We need to then decide on a suitable tool to test. There multiple commercial as well as open source tools.

  • Apache benchmark
  • wrk
  • JMeter
  • Gatling

Understanding various types of performance testing applicable for the application

We need to understand what kind of tests we are going to perform on the application.

  • Load testing
  • Stress testing etc

Misc

We need to understand some miscellaneous concepts.

  • Memory leak
  • Heap dump
  • Thread dump

Details of each toping will follow in subsequent posts.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s