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
When Do You Need Functional Testing?
All testing strategies should include functional testing at their core. Functional tests are critical to ensuring that a product or feature will function appropriately for users. Teams 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.
For example, a team who is developing an ecommerce web application should start testing each feature — adding items to cart, inputting credit card information, etc.– during development. As complete interaction flows, such as the complete checkout flow, are finished, those more complex functional tests should be included as well.