ISTQB - Component Testing

Component testing is one part of the testing levels. We got idea about the testing level in previous article where all the testing levels were not define with deep details. Here we will get understood that how component testing will be performed by a tester or team.

To test the each component of application or product separately is call component testing. We can take an example that an application have 3 components and each components need to be tested separately which call component testing. By doing component testing the efficiency of each component will be increased. We can also identify component testing as module testing or program testing. Here bugs will be identified in each module or component in terms of verifying functionality of application or product. Component testing will be done by a tester and testing team only. Developer team will not be interfere in this procedures. Component testing is one kind of white box testing.
ISTQB - Component Testing


Component testing will be done for a single component of application but when that component will be dependent or integrated with another component which is not developed yet at that time we have to define stub and drivers for the application. Let’s take an example to understand this in details, suppose we are have 3 components, Component 1, Component 2 and Component 3. Now Component 2 is developed by the developer team basically and they have given the release to the testing team for component 2. Here component 2 is dependent on component 1 and integrated with component 3. But as per the release only component 2 is developed so to test the component 2, we have to isolated component 1 & Component 3 as stub and component 2 as driver. To test all the functionality of component 2 we are replacing component 1 & component 3 as Stub. Thus, we can say that Stub will be called from the software component which need to be tested and driver will call a component for its own testing.

Component testing also have a test plan and test strategy to follow. All the test cases have been written and while doing the component testing, expected result should be came properly. The main objective of component testing is to identify the suitable expected result for each functionality and application should work as per the requirement specification. Generally Component testing will be performed after the Unit testing. Unit testing is done by the developer team.

We can take a real life example for understanding component testing, Suppose an order management web application is there and it will be very huge web application so we can’t wait till the application will build by the developer team and then we will start the testing procedure. As per agile, testing procedure should be started as early as possible. Thus, in this situations we can divide the whole application in different components. First component is login page, second is Order Details next is Order Management page and then order taken details and etc. Now if here login page have been developed then we can start the testing of the same. We should not wait till the all page will be developed and then we can start the testing. Here Order management page is developed but Order Detail Page is still left for development and Order Management page was came for testing so in this situation we have to test the Order Management page first. Order Management page will be considered as Driver and Order Detail page will be considered as a Stub and Order taken page will be considered as stub. By following this procedure, component testing will be done for Order Management System.

It is mandatory that component testing should be done before the integration testing procedure as component testing will play a basic role to finding defects in application or product. Component testing will be done in order to ensure that each and every module will be worked as per expected results and requirements.

While doing component testing, we can include UI testing plus negative scenarios for application like verifying authorization. It may possible that negative scenarios will be helped us to find more defects. Even security testing can be include by applying SQL injection technique which improves security of the application in very early stage of development phase.

This is all about the component testing now we can move for Integration testing details.

No comments:

Post a Comment