For teams that need to know how well it works, not only whether it works

Non-functional testing

Non-functional testing evaluates how a system performs rather than what it does: speed under load, security, usability, reliability, scalability and compatibility. We measure these quality characteristics against the requirements that decide whether users stay.

€20-45Per hour
First 2 weeksComplimentary on ongoing work if not happy
50+QA engineers
2018Founded

Six categories we test

  • PerformanceLoad and stress
  • SecurityVulnerabilities
  • UsabilityUser experience
  • ReliabilityStability over time
  • ScalabilityGrowth in users and data
  • CompatibilityBrowsers, devices, platforms
// definition

What is non-functional testing?

Non-functional testing evaluates how the system performs rather than what it does. It measures quality characteristics defined in ISO/IEC 25010: performance under load, security vulnerabilities, usability for end users, reliability over time, scalability with growth, and compatibility across platforms.

Functional or non-functional? Functional testing asks whether the login button logs you in. Non-functional testing asks whether it still does with 5,000 people pressing it at once, whether it is safe, and whether people can find it.

These tests make sure the system meets the requirements that shape user experience and day-to-day operation.

// categories

Testing categories

Six categories cover most non-functional requirements. Each has its own tools, environments and pass criteria.

CategoryWhat it measuresFocus area
Performance testingResponse times, throughput, resource use and behaviour under different load conditions, including stress and scalability tests.Load and stress
Security testingVulnerabilities, authentication and authorization, data encryption, and resistance to attacks. See our AI Security Toolkit and our penetration testing services.Vulnerabilities
Usability testingInterface design, navigation flow, accessibility for users with disabilities, and overall user experience.User experience
Reliability testingStability over long periods, mean time between failures, recovery procedures and fault tolerance.Stability
Scalability testingCapacity to handle growth in users, data volume or transactions while keeping acceptable performance.Growth
Compatibility testingOperation across browsers, operating systems, devices, network conditions and third-party integrations.Cross-platform
// process

Testing process

  1. Requirements analysis

    Identify non-functional requirements from ISO 25010 characteristics, stakeholder expectations and regulatory standards.

  2. Test planning

    Set objectives, choose the categories that matter, set performance baselines and acceptance criteria.

  3. Environment setup

    Configure environments that mirror production, prepare test data, and set up monitoring.

  4. Test execution

    Run performance tests under different loads, security assessments, usability sessions with real users, and reliability runs.

  5. Analysis and reporting

    Compare results with the acceptance criteria, name the bottlenecks and vulnerabilities, and recommend what to fix first.

// benefits

Key benefits

Performance optimization

Find and remove bottlenecks before production, so the system meets response time requirements under expected load.

Security assurance

Find vulnerabilities early in development. Protect sensitive data and stay in line with standards such as the OWASP Top 10.

Enhanced user experience

Interfaces that are clear and accessible for all users, checked with usability testing.

Scalability confidence

Know your capacity limits and how the system behaves as users and data grow.

Not sure which category matters most?

Start with the one your users would notice first. Talk to us

// often skipped

The non-functional tests teams skip most

Under release pressure these four are cut first, because functional testing already looks like enough. We plan them in from the start, so the gap does not first show up as a customer report.

Availability testing

Checks that the product keeps working as specified, module by module, while it grows. It gets skipped because every release touches another module and re-checking them all takes time.

Maintainability testing

Shows how easily the product can be changed and fixed later without breaking what already works.

Recovery testing

Proves the system carries on when a part fails, for example when one data-providing node drops and the work has to move to another.

Compliance testing

Checks that each change still meets the rules of your domain and exposes no confidential data. It needs domain knowledge and documentation, which is why it is often postponed.

Which of these is your release missing?

Tell us what you ship and we will say which to run first. Talk to us

// standards

Standards and frameworks

ISO/IEC 25010

Our approach is based on the ISO/IEC 25010 quality model. Its 2011 edition defines eight quality characteristics:

The eight characteristics

  • Functional suitability
  • Performance efficiency
  • Compatibility
  • Usability
  • Reliability
  • Security
  • Maintainability
  • Portability

We also follow ISTQB guidelines for non-functional test design and execution, for systematic coverage of quality attributes across the development lifecycle.

Learn more about ISO 25010

// how we work

How BetterQA does non-functional testing

We pick the categories that match your risks, agree measurable pass criteria with you, and report results against them, so "fast enough" or "secure enough" is a number rather than a feeling.

Engineers who test for a living

50+ QA engineers, working since 2018. People plan and run the non-functional testing and report what the results mean for your release.

Bugs you can act on

Every defect we find is written up in BugBoard, our own test management tool, or in your tracker, with steps to reproduce, the expected and actual result, and the environment.

A certified process

ISO 9001 for quality management and ISO 27001:2022 for information security. See our certifications.

How an engagement works

  • €20-45 per hour
  • First month is a trial
  • First two weeks complimentary if you are not happy
  • 30 days notice after that
A BetterQA engineer working at her desk, seen through the glass wall of the Cluj office
// questions

Non-functional testing: common questions

What is non-functional testing?

Testing how a system performs rather than what it does: its performance, security, usability, reliability, scalability and compatibility.

What are the types of non-functional testing?

The six we test most are performance, security, usability, reliability, scalability and compatibility testing. Load and stress testing sit under performance.

What is the difference between functional and non-functional testing?

Functional testing checks that a feature does what it should. Non-functional testing checks how well it does it: how fast, how safely, how reliably and for how many users.

Is performance testing non-functional testing?

Yes. Performance, load and stress testing are all non-functional, because they measure how the system behaves, not which features it has.

Which standard defines non-functional quality characteristics?

ISO/IEC 25010. Its 2011 edition lists eight characteristics, from functional suitability to portability, and we use it to structure non-functional requirements.

Need non-functional testing?

Tell us what your users complain about, or what you are worried they will. We will turn it into measurable checks for performance, security, usability and reliability.