Term
What is Non-Functional Testing? |
|
Definition
Non-functional testing is defined as a type of Software testing to check non-functional aspects (performance, usability, reliability, etc.) of a software application. It is designed to test the readiness of a system as per nonfunctional parameters which are never addressed by functional testing.
An excellent example of non-functional test would be to check how many people can simultaneously login into a software.
Non-functional testing is equally important as functional testing and affects client satisfaction. |
|
|
Term
Objectives of Non-functional testing |
|
Definition
Non-functional testing:
Should increase usability, efficiency, maintainability, and portability of the product.
Helps to reduce production risk and cost associated with non-functional aspects of the product.
Optimizes the way product is installed, setup, executed, managed and monitored.
Collects and produces measurements, and metrics for internal research and development.
Improves and enhances knowledge of the product behavior and technologies in use. |
|
|
Term
Characteristics of Non-functional testing |
|
Definition
Non-functional testing should be measurable, so there is no place for subjective characterization like good, better, best, etc.
Exact numbers are unlikely to be known at the start of the requirement process.
It is important to prioritize the requirements.
Ensure that quality attributes are identified correctly in Software Engineering. |
|
|
Term
Non-functional testing Parameters |
|
Definition
|
|
Term
|
Definition
The parameter defines how a system is safeguarded against deliberate and sudden attacks from internal and external sources. This is tested via Security Testing. |
|
|
Term
|
Definition
The extent to which any software system continuously performs the specified functions without failure. This is tested by Reliability Testing. |
|
|
Term
|
Definition
The parameter checks that the software system continues to function and recovers itself in case of system failure. This is checked by Recovery Testing. |
|
|
Term
|
Definition
The parameter determines the degree to which user can depend on the system during its operation. |
|
|
Term
|
Definition
Stability is defined as the ability of the product to continue to function, over time and over its full range of use, without failing or causing failure. |
|
|
Term
|
Definition
The ease with which the user can learn, operate, prepare inputs and outputs through interaction with a system. This is checked by Usability Testing. |
|
|
Term
|
Definition
The term refers to the degree in which any software application can expand its processing capacity to meet an increase in demand. This is tested by Scalability Testing. |
|
|
Term
|
Definition
This non-functional parameter checks how a software system interfaces with other software systems. This is checked by Interoperability Testing. |
|
|
Term
|
Definition
The term refers to the ease with which the application can work in different hardware and software configurations. Like minimum RAM, CPU requirements. |
|
|
Term
|
Definition
The flexibility of software to transfer from its current hardware or software environment. |
|
|
Term
|
Definition
It refers to a portion of the software system that can be converted for use in another application. |
|
|
Term
Non-functional Testing Types |
|
Definition
Performance Testing Load Testing Failover Testing Security Testing Compatibility Testing Usability Testing Stress Testing Maintainability Testing Scalability Testing Volume Testing Security Testing Disaster Recovery Testing Compliance Testing Portability Testing Efficiency Testing Reliability Testing Baseline Testing Endurance Testing Documentation Testing Recovery Testing Internationalization Testing Localization Testing |
|
|