Functional Testing: Testing the application against business requirements. Functional testing is done using the functional specifications provided by the client or by using the design specifications like use cases provided by the design team.
Functional testing is concerned with the functional requirements and covers how well the system executes its functions. These include user commands, data manipulation, searches and business processes, user screens, and integrations.
Non-Functional Testing: Testing the application against client's and performance requirement. Non-Functional testing is done based on the requirements and test scenarios defined by the client.
Non-functional testing is concerned with the non-functional requirements and is designed to evaluate the readiness of a system according to several criteria not covered by functional testing. It enables the measurement and comparison of the testing of non-functional attributes of software systems.
What is differnce between functional and non functional testing?