Component (Module) testing relates to the Black-Box test techniques which are performed by the QA/Dev team (Depends on the SDLC strategy), this method of testing is used to execute tests on an isolated component of the application (Each component is tested without integration to another one).
Component tests are done to validate (using real testing data instead of fabricated data as generated in to execute Unit tests) all major functionalities of each component, during this tests, defects are found and fixed to improve the stability of the code prior to the start of the integration phase.
Let’s assume that we want to test a web application, the component that we will use is the “Log-In” page, that is separated from the other components
- We will test the page performance
- We will test both Negative and positive inputs.
- We will test all major functionalities.
- We will validate that the password is not saved in the browser cache.
- We will test the user interface for usability.
- We will test the user interface for accessibility.
- We will execute security tests such SQL injection.
- we will test the incorrect password mechanism when the user inserts an incorrect password multiple times.
What is integration component testing?
Another related term that you may encounter is “component integration testing”, this testing approach is used to test the integration between two or more components, the tests are executed after the testing of each individual component.
This type of testing is used to make sure that the communication and interaction between two or more components is done without any errors or failures based on the preliminary flow design.
Time to Execute
Prior to component testing, the application is built from a set of Units that combined together (Set of interacting units) to create a system module, as such, development will make the first testing task in the SDLC (Unit Tests), when the tests are approved, a new module is constructed and can be delivered to QA for testing (Component Tests).
[Unit tests] -- [Component Tests] -- [Integration Tests]
The testing process
Once the testing strategy/planning is reviewed and approved, we can start the testing process, similar to other testing methods, the process is based on these four phases:
Requirements and specification
This is the first and the most important activity, during this phase, we will allocate, review and analyze the component requirements and specifications. These activities will allow us to understand the risks, demands, and expectations from the testing process.
Determine the test strategy
Just like any other testing process, we need to determine the testing strategy and planning that we’re going to use and based during the testing cycles, this strategy should include a few basic sections:
- Determine the test technique that we will use (Equivalence partitioning, Boundary Value Analysis…)
- Designing the test cases (Positive and Negative).
- Testing Entry and Exit criteria.
- Test timelines and resources.
- Test priority.
- Environment to be used.
- Testing Tools that we intend to use.
- Ares that are excluded from testing.
Test execution activities
The tests are executed, Defects are opened/Fixed and the test team validates that the component is ready for the integration phase.
The test results are reviewed and validated against the test completion criteria to check if further testing is needed.