The process of evaluating the security posture of a system or application using a variety of testing techniques.