DEV Community

VidyaShaliniM
VidyaShaliniM

Posted on

Functional and Non-Functional Testing

Functional Testing : It is a type of software testing which is used to verify the functionality of the software application, whether the function is working according to the requirement. In this type of testing, each function is compared to the corresponding requirement to ensure whether its output is consistent with the end user's expectations.
The purpose of the functional testing is to check the primary entry function, necessarily usable function, the flow of screen GUI. Functional testing displays the error message so that the user can easily navigate throughout the application.
Example : Checking user interfaces, database, functionality of application etc.

Non Functional Testing: It is a type of testing to check non-functional aspects like performance, usability, reliability, etc. of a software application. It is explicitly designed to test the readiness of a system as per nonfunctional parameters which are never addressed by functional testing.
How many users can login simultaneously into the application can be taken as an example for Non functional testing.

Difference between Functional and Non Functional Testing
1) Functional testing is performed before Non Functional testing
2) Functional testing is done to validate the behaviour of the application where as Non functional testing is done to validate the performance of the application
3) Functional testing can be executed manually. On the other hand, its difficult to execute non functional testing manually
4) Functional testing is based on customer requirements where as the non functional testing is based on customer expectations.
5) Functional testing verifies each function/feature of the software whereas Non Functional testing verifies non-functional aspects like performance, usability and reliability.
6) Functional describes what the product does whereas Non Functional describes how the product works
7) Functional testing is carried out using the functional specification where as Non functional testing is carried out by performance specifications.
8) Example of Functional testing can be checking login functionality. For non functional testing , example would be to check how long does it take for the page to load in a given time.
9) Different types of functional testing includes

  • Unit testing
  • Smoke testing
  • User Acceptance
  • Integration Testing
  • Regression testing
  • Localization
  • Globalization
  • Interoperability
    Different types of Non-functional testing includes

  • Performance Testing

  • Volume Testing

  • Scalability

  • Usability Testing

  • Load Testing

  • Stress Testing

  • Compliance Testing

  • Portability Testing

  • Disaster Recover Testing

Top comments (0)