Functional Testing and its types
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.
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 🙂