Non Functional Testing
About
Non-Functional Testing focuses on the operational aspects of a software application, such as performance, usability, reliability, etc. This type of testing ensures that the software meets certain criteria that aren't related to specific behaviours or functions.
Types of Non-Functional Testing
Type
Purpose
Key Focus Areas
Example Tools
Performance Testing
Assess how the system performs under various conditions.
Response time, throughput, resource usage.
JMeter, Gatling, k6, LoadRunner.
Scalability Testing
Determine how well the system scales with increased load.
Horizontal/vertical scaling limits, resource bottlenecks.
JMeter, BlazeMeter, Locust.
Usability Testing
Evaluate the system’s ease of use and user experience.
Navigation, accessibility, intuitiveness.
Crazy Egg, UserTesting, Optimal Workshop.
Security Testing
Identify vulnerabilities and assess system protection mechanisms.
Authentication, authorization, data encryption, OWASP risks.
OWASP ZAP, Burp Suite, Nessus.
Compatibility Testing
Verify software works across different environments.
OS versions, browsers, devices, network types.
BrowserStack, Sauce Labs, LambdaTest.
Reliability Testing
Measure the system’s ability to operate without failure over time.
Failure rates, MTBF (Mean Time Between Failures).
Custom monitoring scripts, Nagios, Prometheus.
Recovery Testing
Check how well the system recovers after crashes or failures.
Failover, backup restore, disaster recovery.
Custom test frameworks, Chaos Monkey.
Compliance Testing
Ensure adherence to industry, legal, or organizational standards.
GDPR, HIPAA, PCI-DSS, ISO standards.
Compliance checklists, automated compliance scanners.
Localization Testing
Validate system behavior for specific languages, regions, and cultures.
Date/time formats, translations, currency symbols.
SDL Passolo, Lokalise, Transifex.
Maintainability Testing
Assess ease of maintaining and updating the system.
Code quality, modularity, documentation quality.
SonarQube, CodeClimate, ESLint.
Last updated