Non-functional testing is the testing of a software application or system for its
non-functional requirement
In systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours. They are contrasted with functi ...
s: the way a system operates, rather than specific behaviours of that system. This is in contrast to
functional testing
Functional testing is a quality assurance (QA) processPrasad, Dr. K.V.K.K. (2008) ''ISTQB Certification Study Guide'', Wiley, , p. vi and a type of black-box testing that bases its test cases on the specifications of the software component unde ...
, which tests against
functional requirement
In software engineering and systems engineering, a functional requirement defines a function of a system or its component, where a function is described as a specification of behavior between inputs and outputs.
Functional requirements may involv ...
s that describe the functions of a system and its components. The names of many non-functional tests are often used interchangeably because of the overlap in scope between various non-functional requirements. For example,
software performance
In computing, computer performance is the amount of useful work accomplished by a computer system. Outside of specific contexts, computer performance is estimated in terms of accuracy, efficiency and speed of executing computer program instructio ...
is a broad term that includes many specific requirements like
reliability
Reliability, reliable, or unreliable may refer to:
Science, technology, and mathematics Computing
* Data reliability (disambiguation), a property of some disk arrays in computer storage
* High availability
* Reliability (computer networking), ...
and
scalability
Scalability is the property of a system to handle a growing amount of work by adding resources to the system.
In an economic context, a scalable business model implies that a company can increase sales given increased resources. For example, a ...
.
Non-functional testing includes:
*
Accessibility testing
*Baseline testing
*
Compliance testing
Conformance testing — an element of conformity assessment, and also known as compliance testing, or type testing — is testing or other activities that determine whether a process, product, or service complies with the requirements of a specific ...
*
Documentation testing
Documentation testing is part of the non-functional testing of a product. It may be a type of black-box testing that ensures that documentation about how to use the system matches with what the system does, providing proof that system changes and ...
*
Endurance testing or
reliability testing
Reliability engineering is a sub-discipline of systems engineering that emphasizes the ability of equipment to function without failure. Reliability describes the ability of a system or component to function under stated conditions for a specifie ...
*
Load testing
Load testing is the process of putting demand on a structure or system and measuring its response.
Software load testing
The term ''load testing'' is used in different ways in the professional software testing community. ''Load testing'' gen ...
*
Localization testing and Internationalization testing
*
Performance testing
*
Recovery testing
*Resilience testing
*
Security testing
Security testing is a process intended to reveal flaws in the security mechanisms of an information system that protect data and maintain functionality as intended. Due to the logical limitations of security testing, passing the security testing ...
*
Scalability testing Scalability testing, is the testing of a software application to measure its capability to scale up or scale out in terms of any of its non-functional capability.
Performance, scalability and reliability testing are usually grouped together by so ...
*
Stress testing
Stress testing (sometimes called torture testing) is a form of deliberately intense or thorough testing used to determine the stability of a given system, critical infrastructure or entity. It involves testing beyond normal operational capacity, ...
*
Usability testing
Usability testing is a technique used in user-centered interaction design to evaluate a product by testing it on users. This can be seen as an irreplaceable usability practice, since it gives direct input on how real users use the system. It is ...
*
Volume testing {{Unreferenced, date=March 2008
Volume testing belongs to the group of non-functional tests, which are often misunderstood and/or used interchangeably. Volume testing refers to testing a software application with a certain amount of data. This amoun ...
{{DEFAULTSORT:Non-Functional Testing
Software testing