Software Performance Testing Tutorial
This page on software performance testing describes function of performance testing, types of performance testing viz. load, stress, soak and spike. It covers testing tools for performance evaluation which include HP loadrunner,IBM rational, Neoload, SOASTA cloud test, silk performer, SOAtest, Raw Load tester, LoadUI and LoadStorm etc.
What is performance testing?
There are two main aspects need to be considered while developing the software viz. functionality and performance. The functionality part takes care of the functional behavior of the software or application designed for user need. The performance part takes care of working of the software or application efficiently without any crash on target resources with speed and accuracy. In this tutorial, we will discuss various performance aspects.
As mentioned performance testing basically is a non-functional type of testing. This is implemented and executed during architectural and construction phase of the software development life cycle. It evaluates various performance aspects such as reliability,scalability and speed.
Why it is needed?
The main goal of performance testing is to remove any problems associated with the system to function well in the real time environment. It is carried out before the product or system is launched in the market or deployed. Performance testing monitors and reports various parameters which include CPU usage, memory usage, power consumption, network bandwidth , cache performance and so on.
Performance testing is widely used in the industry to test various applications. Typical industries include medicine, healthcare, biotech, aerospace, automotive and defence.
Types of performance testing
The performance testing is divided into various types of testing based on the application and severity of the test. They are load testing, stress testing, soak testing and spike testing.
The load testing tests system's behavior under specific load conditions for example, multiple users accessing the application simultaneously within certain time period. This is most applicable for testing client server based web applications.
The stress testing tests the software application under extreme load condition to find any issues when the software is subjected to such conditions of stress. This test is carried out for the shorter duration.
The soak testing tests the application under extreme load conditions and for longer period of time. This is very important as for longer duration system might crash due to memory leakage or CPU failures. These can be easily identified by soak testing which cannot be detected by load and stress type of testing.
With spike testing application is subjected to varying load conditions for longer period of time. The main function here is to check when the software performance degrades and whether the system will be able to handle the load or not. It also checks whether application will fail or withstand under varying load conditions.
Performance testing tools:
Following table summarizes various tools used for performance testing throughout the industry for wide variety of applications. It includes HP loadrunner,IBM rational, Neoload, SOASTA cloud test, silk performer, SOAtest, Raw Load tester, LoadUI and LoadStorm.
|HP Load Runner||HP||Licensed ($50K-$100K)||It is automated testing tool mainly used
for testing web2.0 internet
Hundreds and thousands of users can be simulated in this tool
Citrix ICA,Flex AF,
|IBM Rational||IBM||Licensed ($1880)||Mainly targeted for
web and server applications.
There are three steps here to
create a test viz. build scripts,
schedule workload , execute and analyze.
|Supports Citrix,Socket recording,SOA,SAP,
|NeoLoad||Neotys||licensed||Used for web and mobile
applications. It helps simulate
increase in traffic and analyze the
performance of the software application under extreme load condition
|Works on windows,linux
and solaris. Compliant with
|SOASTA's CloudTest||SOASTA Inc.|| licensed,Trial version is
available,Free for 100 user
|The best software testing
tool for cloud performance test
measurement It simulates
traffic increase and help analyze performance under peak load conditions.
|Works on windows,linux,MAC OS|
|LoadStorm||LoadStorm||licensed||Very cheap cloud test tool||Cloud application|
|SOAtest||Parasoft||licensed||This automated tool ensures security,reliability and compliance test of SOA,cloud and web based applications.||SOA, JUnit|
|Silk Performer||Borland||licensed,||mainly developed for scalability,performance and reliability test of enterprise,mobile and web applications||SOA,SAP,oracle,citrix,
web based model
|LoadUI||SmartBear||Open source||free and platform independent tool||SOAP,POX,JDBC,