Functional testing determines the working of the system and ensures if it is being proposed as per the business demands. It takes into consideration functions such as business processes, user commands, GUI interactions, data manipulation etc., and covers how well the system executes such functions. The goal is to check if the system is functionally perfect.