Non-Functional software testing is type of software testing to test different aspect apart from functional requirement.
Non-Functional Testing:
Non-Functional Testing is a type of software testing that checks how well a system performs rather than what the system does.
It focuses on quality attributes such as performance, security, usability, reliability, and compatibility.
While functional testing verifies features (login, signup, payment), non-functional testing ensures the system is fast, secure, stable, and user-friendly.
Main Types of Non-Functional Testing
1. Performance Testing
• Checks how fast the application responds.
• Measures response time, throughput, and resource usage
Example: Page should load within 3 seconds
Types:
• Load Testing: Normal user load
• Stress Testing: Extreme load
• pike Testing: Sudden traffic increase
• Endurance Testing: Long-duration performance
2. Security Testing
• Ensures the system is protected from threats.
• Identifies vulnerabilities and risks
• Prevents unauthorized access and data breaches
Example: Testing login security, encryption, SQL injection
3. Usability Testing
• Checks ease of use and user satisfaction.
• Is the UI simple and understandable?
• Are instructions clear?
Example: New user should easily navigate the app
4. Compatibility Testing
Ensures the application works on:
• Different browsers (Chrome, Firefox)
• Different OS (Windows, Android, iOS)
• Different devices and screen sizes
5. Reliability Testing
• Checks whether the system works consistently without failure.
• Measures system stability
Example: App should run for 24 hours without crashing
6. Scalability Testing
Checks the system’s ability to handle growth.
• More users
• More data
Example: Can the app handle 1 million users?
7. Recovery Testing
Checks how well the system recovers after failure.
• Power failure
• Network crash
Example: Data should not be lost after a crash
Compatibility Testing: Testing capability of an application in different software and hardware environment. We call it as compatibility testing.
Browser compatibility testing: Testing a software weather your application compatible to run in different browser is called browser compatibility testing.
Q. When we go for compatibility testing?
i) Once application is stable.
ii) Once 90% feature works in base platform.
iii) All the function and feature work properly on developer and tester environment.
Types of Compatibility Testing:
1. Browser Compatibility
• Checks application on browsers like Chrome, Firefox, Edge, Safari
2. Operating System Compatibility
• Tests software on different OS (Windows, Linux, Android, iOS)
3. Device Compatibility
• Tests on mobiles, tablets, desktops, different screen sizes
4. Network Compatibility
• Checks performance on different networks (Wi-Fi, 4G, 5G)
5. Software Compatibility
• Tests with different versions of software or tools
Usability Testing: Checking the user friendliness of an application is called usability testing.
As part of usability testing, we go for below area:-
i) Look and feel.
ii) Navigation
iii) Easy to access
iv) Action icons