| 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. |
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