Software performance testing tutorial | Types of performance testing, Software Performance testing tools
This software performance testing tutorial describes types of performance testing and software performance testing tools. Performance testing types include load, stress, soak and spike. Performance testing tools are 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
Let us understand performance testing types as part of this software performance testing tutorial.
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.
Software Performance testing tools
Following table summarizes various Software Performance testing tools used for performance testing throughout the industry for wide variety of applications. It includes HP load runner,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,
Penetration and security testing related links
Difference between useful networking terminologies
Difference between OSI and TCPIP layers Difference between TCP UDP FTP vs HTTP FTP vs SMTP FTP vs TFTP ARP vs RARP NAT vs PAT RIP vs OSPF SLIP vs PPP IMAP4 vs POP3 IPV4 vs IPV6 Difference between Internet and Intranet