READ: Functional vs. Non-Functional Tests

Functional Vs Non-Functional Testing:

Functional Testing

Non-Functional Testing

Functional testing is performed using the functional specification provided by the client and verifies the system against the functional requirements.

Non-Functional testing  checks the  Performance, reliability, scalability and other non-functional aspects of the software system.

Functional testing is executed first

Non functional testing should be performed after functional testing

Manual testing or automation tools can be used for functional testing

Using tools will be effective for this testing

Business requirements are the inputs to functional testing

Performance parameters like speed , scalability are inputs to non-functional testing.

Functional testing describes what the product does

Nonfunctional testing describes how good the product works

Easy to do manual testing

Tough to do manual testing

Types of Functional testing are

  • Unit Testing
  • Smoke Testing
  • Sanity Testing
  • Integration Testing
  • White box testing
  • Black Box testing
  • User Acceptance testing
  • Regression Testing


Types of Non functional testing are

  • Performance Testing
  • Load Testing
  • Volume Testing
  • Stress Testing
  • Security Testing
  • Installation Testing
  • Penetration Testing
  • Compatibility Testing
  • Migration Testing

Functional testing tools:

There are several tools available in the marker to perform functional testing. They are explained as follows: 

  • JUnit - Used mainly for Java applications and this can be used in Unit and system testing
  • soapUI - This is an open source functional testing tool, mainly used for Web service testing. It supports multiple protocols such HTTP, SOAP and JDBC.
  • Watir - This is functional testing tool for web applications. It supports tests executed at the web browser and uses ruby scripting language


Functional testing is process of testing functionalities of the system and ensures that the system is working as per the functionalities specified in the business document. The goal of this testing is to check whether the system is functionally perfect!!!

Last modified: Saturday, 11 June 2016, 1:36 PM