Watch This Video
Testing what the system does, based on analysis of specified requirements.
Functional testing is concerned with WHAT the system must do to achieve its objectives, as defined in business requirements, functional specifications, use cases, business process models, etc.
It considers the external behaviour of the software, hence is black-box testing.
Functional testing is usually associated with data manipulation, such as input, validation, processing, storage and output.