Functional testing is a type of testing which validate the system based on given requirement or specification. Whenever a software is developed with a specification it need to be validated if it meets the requirement by giving input and checking the output.