Penetration testing is a security practice where a cybersecurity expert attempts to find and exploit vulnerabilities in a computer system. The reason of penetration testing is to identify any weak spots in a system's defenses which attacker could take advantage of.