• info@helpingtesters.com
  • helpingtesters

What is Performance Testing?

October 11, 2016
load testing, Performance testing, load tester

The type of non-functional testing to determine how far some aspects of a system performed under a particular workload or in some drastic conditions is called Performance Testing. The test is conducted to ensure the system meets certain performance criteria.The main focus of performance testing is to measure the following factors while testing an Application/Software.

The Speed of Execution: Determines how fast the system responds.

Scalability: Determines how the system handles extreme user load.

Stability: Determines how long the system remains stable while the load varies.

What is meant by the Performance of an Application?

  • In the end-users perception, the application is said to well perform, if it executes without delay, breaks, and irritation to accept data and communicate the users. During login, the user expects to redirect to the Logged In page without showing blank pages to process the request.
  • Users always expect to get what they want in easy and simple steps. Most of them don’t want to click or refresh the page once more and check whether the page is loaded.
  • For a first time user, the application should not make him wait to get the search results. For example, an e-commerce website takes more time to display the products when “Search” is performed, the user will never come for a second try.
  • Performance testing test for the quality attributes of the system. Also, the accuracy, benchmarks and the standards set for the execution of the application are the main goals of the performance testing.

Performance Testing Techniques

  • Load Testing: The techniques measures the behavior of the application under a heavy load. The application may respond properly to the load when the test in normal conditions. Load Testing performs heavy loads to the database, application server and the results are monitored.
  • Stress Testing: Stress testing evaluates how gracefully the system recovers from a  heavy failure. The testing technique continuously checks for how the system responds to some unpredictable situations.
  • Soak Testing: Soak testing evaluates how the system withstands huge load for a long period of time.
  • Spike Testing: Spike testing evaluates how the system perform when dramatic changes in the load occur.

The Purpose of  Performance Testing

  • The system may respond very well with less number of users and all the functionalities may perform with a quiet responsiveness to the available resources. But when the number of users increases, the system may wait to load or may take the time to respond to process requests.
  • For an Online Shopping website, when payment is done for a purchase usually arise the problem of taking the time to return to the user page with “Successful” message. This situation makes the user confused whether their payment is done properly or not. They need confirmation for their order processed. When doing the functionality testing the process will be done properly and may not show any issues.
  • When the number of users increase or some interruption with the bank’s website while transaction may result in a web page with incomplete payment.
  • Sometimes the issue will not be delivered properly to the user. This kind of situations can be detected by Performance testing techniques only. It is recommended to cut the load time and increased response to stress will result in high traffic.
  • In all such processes, the things need to determine are: How to understand all the constraints of the system? How to determine what part of the system misbehave in real environments?
  • When a large number of users use the website simultaneously, the payment options should not delay processing. Any glitches during the financial transactions will cause the users get frustrated and they will lose the trust on the website. They will definitely search for websites perform better.
  • Uploading and functioning will be sound good. But, what if the uploading happened within 2-5 seconds? How the system behaves if 10000 users do the process within 2-5 seconds. The test suite should be capable of handling these situations.
  • The performance testers should be aware of the network performance of the application. While designing test suite should keep in mind the ways of checking connection speed and latency. Can design a matrix to measure the latency proportional to the connection speed.
  • Connection speed is the internet connection speed and latency is the data transferring time from source to destination. So, If the target users have access to low bandwidth internet, it is recommended to make the web application fewer data intensive. Otherwise, the latency will increase and users tend to refresh multiple times.

Performance Techniques in Detail

The Load Testing

The Load testing (Performance Testing Technique) results help the business managers and stakeholders to monitor the system’s response times for each transaction. The business managers get helpful information to conclude the application’s performance. There are a lot of  online tools available for testing the loading time for websites:

All these are free tools and they will help to optimize the website with complete analysis report.

Stress Testing

The purpose of stress testing(Performance Testing Technique) is to understand the upper limit of the performance of a web application. The stress testing pushes the application to perform some actions which may lead to a breaking point.

And the QA team needs to analyze how fast the application recovers from the situation, what changes happened in the behavior of the application. There are some tools available to make use of testing how the web application manages the stress.

  • Web server stress tool: For both websites and web servers
  • JCrawler: Open source tool for web applications

Soak Testing

The purpose of  Soak Testing(Performance Testing Technique) is to identify the issues relating to the memory allocation, database resource allocation, and utilization and how the log files are handled. Measures the application’s stability over an extended period of time.

For example, consider the case of using an application for a  long period of time.In the first 2-3  hours, the application will respond properly. When the usage extends to 8-10 hours the database server may crash due to excess load. This situation can be caught by the soak testing.

Spike Testing

The purpose of spike testing(Performance Testing Technique) is to check for the issues of the web application when some unexpected changes occur in the load.

For example, when an offer is announced in an e-commerce website, suddenly the number of users will increase. When the same action performs simultaneously by a huge number of users, the behavior and response of the system will be affected. Spike testing is performed to test  this situation by increasing and decreasing load repeatedly over certain duration

Conclusion

The important aspect to be considered when scheduling application Performance Testing is how to analyze the test results. The proper analysis and decision making are essential for gathering data which can be used for the application improvements. Application performance is a serious aspect for the success of business.

So, the Performance Testing evaluation should be completed with well-prepared plans and pre-defined steps to achieve the goals. At the same time, evaluate and analyze the results by measuring the application performance to know how well the application scales the opportunity to develop future enhancements.

About the author

HelpingTestersTeam administrator

Blog is credited to HelpingTesters.com team

Leave a Reply

Your email address will not be published.