Non-functional testing evaluates quality attributes of a system beyond functionality - the 'how well' aspects.
While functional testing answers 'Does it work?', non-functional testing answers 'How well does it work?' These qualities directly impact user experience and business metrics. A fast, secure, reliable system is as important as a functional one. In fact, poor performance or security can make a functionally perfect system unusable.
| Name | Description | Importance | Test Scenario |
|---|---|---|---|
| Performance Testing | Response time, throughput, load handling, resource utilization | Slow apps lose users. Studies show users abandon apps that take >3 seconds to load. | Load test e-commerce site: Can it handle 10,000 concurrent users without timeouts? Measure response time at 100, 1000, 5000, 10000 users. |
| Security Testing | Data protection, vulnerability testing, authentication/authorization, encryption | Data breaches cost companies millions. Users trust you with sensitive data. | Test banking app: Can unauthorized user access another user's account? Try SQL injection attacks. Check if passwords are hashed. Verify SSL certificate. |
| Usability Testing | User-friendliness, accessibility, intuitiveness, navigation | Poor usability drives users to competitors. Netflix success = great UI/UX. | Get 5 new users (not involved in development). Have them complete key tasks like 'Buy a product' without guidance. Measure: time taken, errors made, satisfaction. |
| Scalability Testing | System behavior as load/data increases. Can it grow with business? | Instagram crashed multiple times when user base grew. Poor scalability kills growth. | Test mobile app: Works fine with 100 users. Works fine with 10,000 users. Works fine with 1,000,000 users? Database queries still fast? |
| Reliability Testing | System consistency, uptime, mean time between failures (MTBF), recovery | Users need systems they can depend on. 99.9% uptime = 45 minutes downtime/month acceptable. | Run app continuously for 7 days. Measure: Does it crash? Any memory leaks? Can it recover from failures? |
| Compatibility Testing | Works across different browsers, OS, devices, screen sizes | Users access from Chrome, Firefox, Safari on Mac/Windows/Linux/Mobile. Must work everywhere. | Test app on: Chrome (latest), Firefox (latest), Safari 14, Edge, iOS Safari, Android Chrome. Check functionality on each. |
A client complains their mobile app crashes when handling 5,000+ concurrent users during a sale event. You're hired to investigate. What would you test and how?
⚡ Non-functional testing = How well does it perform? Start with performance, then security, then other attributes.
Candidates should understand the business impact of non-functional issues and how to systematically test them.