Performance testing evaluates system characteristics like speed, scalability, and stability, which are non-functional aspects of software. Unit, regression, and black box testing are functional testing types because they verify if the software functions correctly according to its business logic and specification requirements.