I´m doing a blog Series about Software Testing Methods and Types. Last Week I finished doing all blog posts about Functional Testing Methods. This week I move on with Non-Functional Testing Methods starting with Performance Testing. First let´s clear out what Performance Testing is.
What is performance Testing?
Software performance testing is the practice of determining whether a given application has the capacity to perform in terms of Responsivene, Speed, Scalability and Stability under a specified workload.
The system is tested under a mixture of load conditions and check the time required responding by the system under varying workloads. Software performance testing involves the testing of application under test to ensure that application is working as expected under variety of load conditions. The goal of performance testing is not only find the bugs in the system but also eliminate the performance bottlenecks from the system.
Advantages of Performance Testing
- Validating the basic features of the application give you confidence to announce notable business
- decisions based on your software
- Able to detect the mismatches and rectify it before the software gets published
- Performance testing enhances your optimization and capacity planning efforts
Disadvantages of Performance Testing
- Code is already live so performance issues may be causing problems to real users already
- Testing must be conducted out of hours during non-peak periods.
- Real users may experience degraded service performance while the test runs!
Types of Software Performance Test
It examines how the system behaves during normal and high loads and determines if a system, piece of software, or computing device can handle high loads given a high demand of end users. This tool is typically applied when a software development project nears completion.
Stress testing is testing that checks the upper limits of your system by testing it under extreme loads.
Scalability, a performance testing parameter that investigates a system’s ability to grow by increasing the workload per user, or the number of concurrent users, or the size of a database.
Volume testing, as the name suggests, is a testing done on high volumes of data. The purpose of volume-testing is to check system performance with increased volume of data in the database.
Endurance Testing is done to make sure the software can handle the expected load over a long period of time.
Spike Testing tests the software’s reaction to sudden large spikes in the load generated by users.
This was my brief overview about Performance Testing. I hope you managed to learn something from that post because I did so. As always have a great day and keep learning 🙂