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