Software testing is the process to check whether the given software has been built according to the requirements of the user and is also working as required.
It is very useful as it helps in detecting any bugs in the software which could have been proven very dangerous for the product.
It not only provides security to the product, but it also improves its quality .
Software testing is mainly of 3 types:
1. Functional testing
2. Performance testing
3. Maintenance testing.
Moreover, the 2 broad ways in which testing is:
1. Black box testing- In which the internal structure of the code is not looked upon and only the functioning of the software is checked.
2. White box testing- In this, the internal code structure is also seen along with the function of the software .
Further, the lifecycle of software testing is shown below:





