Functional tests are processes designed to confirm that all of the components of a piece of code or software operate correctly. Functional testing focuses on testing the interface of the application to ensure that all user requirements for a properly working application are met.

Types of functional testing include:

  • Smoke Tests
  • Sanity tests
  • Integration testing
  • Acceptance testing
  • Regression testing

Need

Functional tests are critical to ensuring that a product or feature will function appropriately for users.
Competency dictates that one should start doing basic functional tests early in development, to ensure that each component is working correctly. Functional verification testing should continue throughout the development cycle and into production.