In this article we will discuss the remaining techniques used in testing. Here we will discuss System Testing followed by Performance, stress and load testing.
System testing is a process of performing a series of tests on any system to check its functionality. It is done to identify the problems a system is facing.
Image describing System testing and its complexity
The entire software system is tested under system testing. It is the next level of testing which is performed after finishing Unit testing and Integration testing. We follow n number of steps while doing system testing.
While system testing, we consider the following tests:
GUI testing, Smoke testing, Sanity testing, Stress testing, Integration testing, Regression testing, Secured testing, Performance testing, Load testing, Ad-hoc testing etc. We have discussed almost all the testing techniques in our articles. Still two or three of them are still remaining which we will be covering in this article.
Why System testing is so important to conduct?
It is the first level testing where a system is tested completely. It is the testing which validates and verifies the functional and non-functional requirements of the software. System testing is generally used before and after a system is put in place. It is used to find the common errors into the system.
Steps of System testing:
- First of all a test plan needs to be created.
- Now after that a test case should be created; a build of input data must be fed as an input.
- Execute the test cases.
- Try to find bugs into the system. If you find a bug, try to fix it and then do retesting.
Performance testing:
Performance testing is the process of determining the speed and effectiveness of any software program. These programs are tested to ensure whether they are delivering fast enough to fulfill user's expectations or not.
It measures the speed of loading pages. It also helps in locating communication bottlenecks. For the readers, who are not aware by the term bottleneck, it is a point where the flow of data is stopped. Bottlenecks occur in the user network or within the server which occurs due to poor configuration of switches.
Performance testing Graph
Performance testing is done to see the working of various components of system. Performance testing is applied to meet the standards decided for the system. In Performance testing, we do close monitoring and see the accuracy in the results.
Load testing:
A Load test tells us the maximum operating capacity of an application. It determines the performance of a system under normal and peak loading conditions.
Like performance testing, Load testing also helps in determining bottlenecks and not only this, load test also helps in determining the element responsible for the degradations. Under load testing we increase the load on the system until it reaches its threshold limit. A Load test is done to determine how much load a system can handle.
It is a type of non-functional testing. We can also refer load testing as volume testing.
Many of us get confused between performance and load testing. To understand in a better way, we look into the fact which says that performance testing uses load testing techniques and tools for measurement.
Stress testing:
Stress testing, which is also known as endurance testing, is done to test the stability of the system. It focuses on the robustness and strength of the system. It checks if our system has an error handling capacity or not. This test of error handling capacity is primarily considered for the condition of heavy load.
Conclusion: System testing is not a process to test the functions of the complete system. It is the most difficult testing process.
Resources
Programmer's skill: white box testing
functional testing-Part 1
Testing Techniques