Non-Functional Testing

Non-Functional software testing is type of software testing to test different aspect apart from functional requirement.


Automation Testing Demo Practice Page


“Software testers succeed where others fail.”

Non-functional Testing


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