Penetration testing, or pen testing, is the practice of testing a computer system, network, or application to find and exploit vulnerabilities that could be exploited by an attacker.