Functional testing involves the verification of each and every function of the software application in compliance to the requirement specifications. It is performed by providing appropriate input, the output is verified and compared with the actual results. It involves the testing of User Interface, APIs, Database, security, and functionality of the Application Under Test.
Functional testing is important because it decides whether the system is ready for release or not. These tests well define the working system. Functional testing verifies the application to see whether all the requirements mentioned in the specifications document have been implemented or not. It only concentrates upon customer requirements rather than customer expectations.
In unit testing the individual modules of source code are isolated to verify its correctness.
Smoke testing verifies whether the software application is stable enough for further testing.
Sanity testing verifies the functions, commands and all the menus in the product.
Interface testing evaluates if the systems pass correct data and control to one another.
In integration testing individual modules are combined and tested as a group.
System testing tests the complete integrated software and evaluates the system’s compliance with the require