Sign in
Log inSign up

What is Functional Testing? Types & Techniques

Rohit Wadhwani's photo
Rohit Wadhwani
·Jul 3, 2021·

2 min read

Functional testing is a quality assurance (QA) process and a type of black-box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered (unlike white-box testing ).

Types of Functional testing

Unit testing – Unit testing is a type of testing performed by developers on the individual module or piece of code to achieve a particular functionality. 

Smoke Testing: It is done after each build is released to test to ensure stability.

Integration testing – Integration testing is performed after unit testing. In integration testing, the interfacing between the inter-connected modules is tested.

System testing –  In system testing, the application as a whole is tested against its requirement specifications.

Acceptance testing – Acceptance testing is performed after system testing and it involves validation of all the business requirements to make sure that the application can be accepted for delivery.

Regression testing – Regression testing is the type of testing that is performed to  to ensure that adding new code, enhancements, fixing of bugs is not breaking the existing functionality

Sanity testing – Sanity testing is generally done after a smoke testing. It involves running of a subset of regression tests to ensure that a new fix hasn’t affected an already working functionality but in lesser time as compared to regression testing.

What do you test in Functional Testing?

Functional testing involves the following steps:

  • Functional testing involves the following steps:

  • Test data preparation based on the functionalities to be tested.

  • Create input data based on the specifications of function.

  • Determine the output based on the specifications of function.

  • Test case execution.