Non-functional Testing

What is non-functional testing ?

Non-functional testing is a kind of software testing technique which is concerned with the non-functional requirements of the application.

Non-functional testing technique is contrast to the functional testing technique.The non-functional testing tests the quality characteristics of the system and is not related to any specific function of the application. This type of non-functional testing tests the attributes of the system like the robustness of the system.

For example the non-functional testing tests the following non-functional requirements:

  • How fast the system responds to the user request.
  • How much time does it take to complete the action.
  • How secure is the application.
  • Can the application can recover from any disaster, etc.

There are some non-functional testing techniques which are as follows:

1. Performance testing
2. Stress testing
3. Volume testing
4. Load testing
5. User Interface testing
6. Compatibility testing
7. Documentation testing

What are the types of non-functional testing in software testing

1. Performance testing: Performance testing examines the overall functionality of the system. It evaluates whether the system meets all the desired needs.

2. Stress testing: It evaluates whether the application runs in properly when adequate amount of resources are not available. Stress testing evaluates whether the application responds the same way when multiple users are running an application at the same time.

3. Volume testing: In volume testing large amount of data is provided and it is checked at what point the system gets failed. In this volume testing the performance of the system is checked when the large amount of data is provided.

4. Load testing: Load testing examines whether the system runs in the normal condition as expected. This test is performed by multiple users running the same application at the same time.

5.User Interface testing: The user Interface testing tests the GUI of the system. It evaluates whether the GUI is persistent through all the system.

6. Compatibility testing: Compatibility testing tests the application over different browers.It evaluates the system over different hardware/software configuration.

7. Documentation testing: The documentation testing tests whether the whole documentation is properly done or not.


  • provides the security of the system
  • Quality characteristics of the system is checked.
  • Performance of the system is improved.
Share This: