Functional Testing and its types

In our previous blog, we read about the basic of Software testing. Today we will cover the types of functional software testing we mainly use in SDLC and STLC.

Most of the QA”s think that manual and automation testing are also a type of software testing but they are just the two different ways how efforts are applied while performing the software testing.

Types of software testing can be performed in both ways. i.e. manually and using automation.

What is functional testing?

The testing in which the build product is tested against the functional specification/requirement is called functional testing.

Types of Functional Software testing at Glance

1. Unit Testing:

In this we the smallest testable part of the software, Mostly it is performed by the developer itself to see if it is working fine or not before integration testing.

2. Integration Testing:

This testing comes into action when more than 2 unit tested components are ready and integrated to build a product, In this, we verify that integrated parts are working as expected.

Integration testing can be further divided into four types:
(a) Top-down: This approach comes into action to Integration Testing where top-level units are tested first and lower-level units are tested step by step after that.

(b) Bottom-up: This approach comes into action to Integration Testing where bottom level units are tested first and upper-level units step by step after that. 

(c) Sandwich: This approach comes into action to Integration Testing which is a combination of Top-Down and Bottom-Up Approaches.

(d) Big-Bang: This approach comes into action to Integration Testing where all or most of the units are combined together and tested at one go.

3. Smoke testing:

Testing which is performed to test the stability of software to test further is called Smoke testing.

4.Regression Testing:

Whenever a new module is added to a build product there is a chance of introduction of bugs in the older modules, to ensure that addition of new module is not affecting the other module functionality we perform regression testing.

5. Sanity Testing:

Sanity testing is the subset of Regression testing, This testing method is performed to ensure that newly added functionality is working as expected before going into Regression testing.

6. System testing:

This testing is performed on the complete integrated sytem to test it with the specified requirements. In this we exclusively evaluate end-to-end system specifications. For Example: We can verify if our product is working as expected for different Operating systems.

7. User Acceptance Testing :

This testing is performed at the time of product delivery, Motive of performing this testing is to ensure that product is working as expected and ready to be delivered. From deployment to all other type of functional testing are covered in UAT.


Please tell us about your functional testing knowledge before-and-after reading. I bet you’ll have something to say!!!

Happy Learning 🙂

2 Responses

  1. June 15, 2020

    […] delivery then this final phase comes in action and product is deployed in the production or UAT (User acceptance testing) is performed as per the guideline from the customer, Once the product is deployed in the […]

  2. July 7, 2020

    […] Testing the software without knowing the internal working of the software. It is a sort of software testing. It is used to verify the functionality of software/product without much having knowledge about internal structure, design, and code. Black box testing is also termed as behavioral testing, specification testing and functional testing. […]

Leave a Reply

%d bloggers like this: