Performance testing determines how responsive and stable a system is under different workloads. It tests for speed, scalability, stability, and ensures a positive user experience. Types of performance testing include load testing to evaluate behavior under expected loads, and stress testing to find upper capacity limits. Key metrics measured are response time, throughput, and resource utilization. Performance testing involves planning test goals, methodology, implementation, validation of results, and interpreting results. Common tools used for performance testing are JMeter, LoadRunner, and Webload.