Correctness Testing:
Correctness is the minimum requirement of software, the essential purpose of testing.
Performance Testing:
Not all software systems have specifications on performance explicitly. But every system will have implicit performance requirements.
Reliability Testing:
Software reliability refers to the probability of failure-free operation of a system.
Security Testing:
Software quality, reliability and security are tightly coupled. Flaws in software can be exploited by intruders to open security holes.
Unit Testing:
Unit testing tests the minimal software component and sub-component or modules by the programmer.
Integration Testing:
Integration testing exposes defects in the interfaces and interaction between integrated components (modules).
System Testing:
System testing tests an integrated system to verify/validate that it meets its requirements