Functional testing is a validation process to ensure that a software application performs and functions correctly according to design specifications.
The major aspect of functional testing is to test the application against business requirements. Various types of testing conducted as a part of functional testing such as:
Smoke Testing is performed right after receiving the build to verify the major functionalities are working fine and to ensure that build stable enough for further detailed testing activities.
Sanity Testing :
Sanity testing is performed after receiving the build with new functionalities and bug fixes. Purpose of having sanity check is to ensure on high level that new functionalities are working fine along with existing functionalities.
Regression Testing :
Due to change in some of functionality or bug fixes, the existing functionalities are not getting affected, this is the main purpose for regression testing.
Regression Testing is helpful when there is a scenario like:
- Bug fixing.
- Requirement changes and due to that code is modified according to the requirement.
- New feature is added to the software.