> For the complete documentation index, see [llms.txt](https://www.pranaypourkar.co.in/the-programmers-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.pranaypourkar.co.in/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing.md).

# 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

<table data-header-hidden data-full-width="true"><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><strong>Type</strong></td><td valign="top"><strong>Purpose</strong></td><td valign="top"><strong>Key Focus Areas</strong></td><td valign="top"><strong>Example Tools</strong></td></tr><tr><td valign="top"><strong>Performance Testing</strong></td><td valign="top">Assess how the system performs under various conditions.</td><td valign="top">Response time, throughput, resource usage.</td><td valign="top">JMeter, Gatling, k6, LoadRunner.</td></tr><tr><td valign="top"><strong>Scalability Testing</strong></td><td valign="top">Determine how well the system scales with increased load.</td><td valign="top">Horizontal/vertical scaling limits, resource bottlenecks.</td><td valign="top">JMeter, BlazeMeter, Locust.</td></tr><tr><td valign="top"><strong>Usability Testing</strong></td><td valign="top">Evaluate the system’s ease of use and user experience.</td><td valign="top">Navigation, accessibility, intuitiveness.</td><td valign="top">Crazy Egg, UserTesting, Optimal Workshop.</td></tr><tr><td valign="top"><strong>Security Testing</strong></td><td valign="top">Identify vulnerabilities and assess system protection mechanisms.</td><td valign="top">Authentication, authorization, data encryption, OWASP risks.</td><td valign="top">OWASP ZAP, Burp Suite, Nessus.</td></tr><tr><td valign="top"><strong>Compatibility Testing</strong></td><td valign="top">Verify software works across different environments.</td><td valign="top">OS versions, browsers, devices, network types.</td><td valign="top">BrowserStack, Sauce Labs, LambdaTest.</td></tr><tr><td valign="top"><strong>Reliability Testing</strong></td><td valign="top">Measure the system’s ability to operate without failure over time.</td><td valign="top">Failure rates, MTBF (Mean Time Between Failures).</td><td valign="top">Custom monitoring scripts, Nagios, Prometheus.</td></tr><tr><td valign="top"><strong>Recovery Testing</strong></td><td valign="top">Check how well the system recovers after crashes or failures.</td><td valign="top">Failover, backup restore, disaster recovery.</td><td valign="top">Custom test frameworks, Chaos Monkey.</td></tr><tr><td valign="top"><strong>Compliance Testing</strong></td><td valign="top">Ensure adherence to industry, legal, or organizational standards.</td><td valign="top">GDPR, HIPAA, PCI-DSS, ISO standards.</td><td valign="top">Compliance checklists, automated compliance scanners.</td></tr><tr><td valign="top"><strong>Localization Testing</strong></td><td valign="top">Validate system behavior for specific languages, regions, and cultures.</td><td valign="top">Date/time formats, translations, currency symbols.</td><td valign="top">SDL Passolo, Lokalise, Transifex.</td></tr><tr><td valign="top"><strong>Maintainability Testing</strong></td><td valign="top">Assess ease of maintaining and updating the system.</td><td valign="top">Code quality, modularity, documentation quality.</td><td valign="top">SonarQube, CodeClimate, ESLint.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.pranaypourkar.co.in/the-programmers-guide/software-testing/testing-fundamentals/software-testing-methodologies/non-functional-testing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
