Functionality Testing involves validating that an application conforms to its specifications and correctly performs all its required functions. It entails a series of tests which perform a feature-by-feature validation of behavior, using a wide range of normal and erroneous input data.