Functional Testing is a "software testing process used within software development in which software is tested to ensure that it conforms with all requirement".The Actual Requirement that the customer requires is that being developed correctly is what a Functional Testing. It actually verifies and validates the output against the Requirement of the customer.
For this it approaches a step by step method called test case.A Test case again to define them is a step-by-step approach of verifying the Software or rather to be precise we can does it in par with the Business requirement of the Customer.
behavior,feature by feature, using a wide range of normal as well as erroneous input data. This can involve testing of the product’s user interface, APIs, Database, Security, Installation, Network, etc.
Functional testing is a way of checking software to ensure that the Application/Software has all the required functionality that's specified within its functional requirements.It also checks the software for usability meaning "a software can be used by specified consumers to achieve quantified objectives with effectiveness, efficiency, and satisfaction in a quantified context of use" as Wikipedia says.
A Functional Testing not only checks for the usability like by ensuring that the navigational functions, are working as required it also ensures that the basic functions for which the system is proposed works properly making it ready for a quality release of the software.