Hi Urvashi, Functional testing is to test functionality of software, whether it's working(functioning) as expected or not. It is used for automation of functional test cases. For example, regression tests, which are repetitive in nature, are automated. Automation Testing tools which are used for functional automation are QTP by HP, Rational Robot by IBM, Coded UI by Microsoft, Selenium, Auto IT etc.
On the other hand, Performance testing test how much load a software can tolerate. It is used for automation of non-functional performance test cases. For example, measuring the response time of the application under considerable (say 100 users) load. Automation Testing tools which are used for performance automation are Load Runner by HP, JMeter by Apache, Burp Suite by PortSwigger, Acunetix by Acunetix.
Functional Testing is categorized into Unit, Integration, System, End to End, Regression, Acceptance, Alpha , Beta, Security , Installation and GUI Testing, where as Performance Testing is categorized into Load, Capacity, Stress, Fail Over, Recovery, Endurance and Memory Leak Testing.