Topic: Functional Testing vs Non-Functional Testing

Functional Testing
  • Validates that the software works according to requirements.
  • Focuses on what the system does.
  • Based on user requirements and business logic.
Examples
  • Login functionality works with valid and invalid credentials.
  • Shopping cart adds and removes items correctly.
  • API returns the correct response for a given input.
Non-Functional Testing
  • Validates how well the system performs under certain conditions.
  • Focuses on performance, reliability, and usability.
  • Based on quality attributes rather than direct features.
Examples
  • Website loads in under two seconds with 1,000 concurrent users.
  • Application supports multiple languages for better usability.
  • System recovers quickly after a crash to maintain reliability.
Key Differences
Side-by-side comparison of functional testing versus non-functional testing
Feature Functional Testing Non-Functional Testing
Purpose Validates features and expected behaviors. Validates quality attributes such as performance and reliability.
Focus What the system does. How the system behaves under varying conditions.
Test Basis Business requirements and user stories. Performance, security, and user experience criteria.
Example Login works with the expected inputs and outputs. Login works in under one second while under load.