← Back to libraryQuestion 241 of 273
📋Software TestingIntermediate

Non-Functional Testing

📌 Definition:

Non-functional testing evaluates quality attributes of a system beyond functionality - the 'how well' aspects.

📖 Detailed Explanation:

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.

📎 Attributes:
NameDescriptionImportanceTest Scenario
Performance TestingResponse time, throughput, load handling, resource utilizationSlow 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 TestingData protection, vulnerability testing, authentication/authorization, encryptionData 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 TestingUser-friendliness, accessibility, intuitiveness, navigationPoor 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 TestingSystem 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 TestingSystem consistency, uptime, mean time between failures (MTBF), recoveryUsers 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 TestingWorks across different browsers, OS, devices, screen sizesUsers 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.
📎 Examples:
  • Performance: Can the app handle 10,000 users simultaneously? Measure: Response time < 2 seconds?
  • Security: Does the app protect user passwords securely? Is data transmitted encrypted (HTTPS)?
  • Scalability: As business grows from 100 to 1M users, does the app still perform well?
  • Reliability: Run the app 24/7 for a month. Does it crash? Any data loss?
🎯 Scenario-Based Interview Question:

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?

💡 Quick Tip:

⚡ Non-functional testing = How well does it perform? Start with performance, then security, then other attributes.

💡 Interview Focus:

Candidates should understand the business impact of non-functional issues and how to systematically test them.