What is Component testing?
Any software application is made up of many components. Testing those components is called component testing. It is also known as module testing from an architecture perspective. It is also known as unit testing. Unit testing is done by developers to check individual functionality and after unit tests, component testing is performed by testers.
Importance of component testing
Component testing is a way to test issues at the module level so that defects are detected in the initial stage to make it easy for both the developer and tester to test the whole application.
It helps to identify issues at an early stage. When any issues are identified in the initial stage and then solving the issue builds confidence at the component level.
Types of Component Testing
Component testing varies from organization to organization based on complexity, development methodology used, and dependency on other components.
Basis- Complexity of application
- Component testing in smalls (CTIS)
- Component testing in large (CTIL)
Component testing in smalls: When testing is done on an individual component without any dependency on another component is known as component testing in smalls. Other components are isolated. It is the best fit for smaller applications.
Component testing in large: When the input or output of another component is used for testing another component is known as component testing in large. Other components are not isolated.
Drivers and Stubs
These are used to increase the efficiency of testing. They both are used in component testing.
Drivers: A driver is a dummy code for mocking the behavior of a missing component which is required to test lower-level components. Hence, a driver is a high-level module in the list.
Stubs: A stub is a dummy code for mocking the behavior of a missing component which is required to test higher-level module components. Hence, a stub is a lower-level module in the list.
When is component testing done?
Component testing is performed before integration testing and before unit testing. For example, your project is on website development. Once a website page is developed, the development team will perform unit testing and release a build for for testing team. Thereafter, the testing team will perform testing of individual pages and provide test results. Developing all web pages is optional in this case.
Advantages of component testing
- It helps to hinder barriers in the early stage.
- It provides a reliable system as the functionality of components has already been checked before.
- It leads to an increase in productivity.
- It leads to the re-usability of a component which produces fast delivery.
Disadvantages of Component testing
- There might be a possibility of incomplete requirements.
- Control of the evaluation of the whole application is minimal.
Difference between component testing and unit testing
- Component testing involves testing each part separately while unit testing consists of individual modules.
- Component testing is black box testing while unit testing is white box testing
- Component testing validates the test requirement while unit testing validates the design requirements.
So, this was a brief guide on what is component testing, its types, importance, advantages, and disadvantages, etc. Component testing helps to identify errors in early stage and save time and efforts. It verifies the input and output behaviour of system.