A penetration test is a functional test that attempts to break into a system. A vulnerability test is an active or passive test that attempts to identify weaknesses in an application's security.