Functional testing, also known as specification-based testing, assesses individual functions of a software system to ensure they meet specified requirements and standards. It focuses on validating processing results rather than the processing methods and can be conducted at various levels of software granularity. The testing includes independently testable features that interact with other system components.