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.

software 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.

Load 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.

Stress testing

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.

Soak testing

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.

Spike 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.

Tool Company Cost/License Description Technology support
HP Load Runner HP Licensed ($50K-$100K) It is automated testing tool mainly used
for testing web2.0 internet
applications,ERP/CRM applications.
Hundreds and thousands of users can be simulated in this tool
Supports remote
desktop protocol,
Citrix ICA,Flex AF,
ERP/CRM,
Mail clients,
database and
AJAX
Truclient
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,
Web HTTP
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
J2EE,.NET,PHP,ASP,
CGI,AJAX,SOAP
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
Raw Load Tester NA Open source Free tool ideal for Apache food application Javascript
Silk Performer Borland licensed, mainly developed for scalability,performance and reliability test of enterprise,mobile and web applications SOA,SAP,oracle,citrix,
peoplesoft,CoE model,
web based model
LoadUI SmartBear Open source free and platform independent tool SOAP,POX,JDBC,
web,HTTPS,REST


Penetration and security testing related links

Penetration testing types
Web Application security testing tools
Software performance testing tutorial
Software testing tutorial


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


Cellular Telecommunications Tutorials -
RF Wireless World

WLAN  802.11ac  802.11ad  wimax  Zigbee  z-wave  GSM  LTE  UMTS  Bluetooth  UWB  IoT  satellite  Antenna  RADAR