Penetration testing is a type of security testing. It is mainly used to find all the vulnerability that are present in the system being tested. Vulnerabilities usually occurs during software development and implementation phase. Usually Vulnerabilities will be design errors, configuration errors, bugs etc.