Functional testing is also known as component testing.
It tests the functioning of the system or software i.e. What the software does. The functions of the software are described in the functional specification document or requirements specification document.
Functional testing considers the specified behavior of the software.