Penetration testing, or "pen testing", involves evaluating systems to identify vulnerabilities by simulating attacks from an unauthorized user. Companies pen test to comply with regulations, validate security controls, identify unknown issues, and prevent breaches. Tests are conducted by internal employees, security analysts, consultants or third parties according to a rules of engagement. Skills needed include technical skills like administration, programming and tools, as well as soft skills like communication. Common tools are used to test networks and applications, while understanding techniques and technologies is most important. Pen testing can be a career path involving internal security roles or consulting.