Functional testing verifies that software functions according to business and user requirements.
📖 Detailed Explanation:
Functional testing answers the question: 'Does the system do what it's supposed to do?' You test every feature, every button, every workflow to ensure it behaves correctly. It's the most common type of testing because every software must first be functionally correct before considering performance or security.
📎 Characteristics:
Focuses on input-output behavior and user workflows
Does not consider internal code structure or implementation details
Often categorized as black-box testing (no code knowledge needed)
Validates what the software does, not how it does it
Tests both positive scenarios (happy path) and negative scenarios (error handling)
📎 Test Types Under Functional:
Sanity Testing - Quick smoke test after new build
Smoke Testing - Verify critical functionality works
Regression Testing - Ensure changes don't break existing features
Exploratory Testing - Creative testing without predefined test cases