After a piece of software is developed, the development team puts it through rigorous testing. Tests are done to ensure that the software developed is working as it should and that there are no possible erroneous outcomes. This testing is done through automation softwares like Gatling, Google Lighthouse, and Jenkins. The automation software controls the executions of tasks on the developed software and compares the predicted output with the actual outcome to gauge any issues.
There are three types of software testing:
Load testing is a non-functional software testing process where the system is put under a specific load and its performance is then measured. This test is done to simulate how the software will work under normal real-life conditions and when there are a significant number of users. The aims of load testing are to:
Stress testing is a non-functional software testing process where the system is put under extreme load to determine its robustness. This test also determines the stability of the software and how it handles failures and errors. Another name for stress testing is endurance testing.
The aims of stress testing are to:
The key difference between load testing and stress testing is that load testing tests the software under its limit while stress testing goes beyond it. However, both are subsets of performance testing.
Performance testing is a superset of the two testing methods mentioned above. This test is used to determine the standards of the software and how well the software performs overall. It involves all of the goals of the above two tests while also testing:
Free Resources