Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item.
Software testing is one of important phase in software development life cycle. It is a process to identify the defects in the system/ application under test.
Testing usually done by various stages during application development.
In software testing we verify that software under development as per the requirements/Specifications or not. We validate whether developed software meeting customer requirements.
Testing can be done various features of the application. but if we try to classify at high level and on the basis of techniques it will be.
- Black box testing technique
- White box testing technique
- Gray box testing technique
Black Box Testing:
It is an technique to test the application as an end user point of view. all testing done on the developed code based and in Testing or development environment.
Black boxing testing is most commonly used testing technique to test the application.
White Box Testing:
This Technique basically used by development team and used to test the code related defects, for an instance, different conditions handled in the code, dead code, logic, code complexity etc.
Grey Box Testing:
this technique is less used by the companies, there is always thin line between white box and grey box. it is basically a technique which basically check the integration layer between the backend and frontend of the application.
Testing web services or API is one of most common example of Grey box testing