Penetration testing is a test performed to test a computer system, network, or web application to find vulnerabilities that an attacker could exploit. The main purpose of penetration testing is to identify security weaknesses, but it can also be used to test an organization's security policy, compliance and adherence to requirements, employee security awareness, and the organization's ability to identify and respond to security incidents.