It is the process of automatically reviewing and validating a software product to make sure it meets predefined quality standards.
Validates individual units of codes, such as functions, so it works as expected.
It endures several pieces of codes can work together without unintended consequences.
Validates that the application meets the user's expectations.
Takes an unstructured approach to reviewing large areas of an application from the user's perspective.