At each level of testing, there are goals, software development process artifacts that will be used for developing test scripts, determining test objects, predicting common defects and failures that can be identified during testing, defining test framework, tooling and responsibility of all the people involved in software development quality assurance.
Configuration data for testing a system should be specified during the test planning phase if there is a need for this.
Basis of Component Testing:
- Requirements for components of an application or a system.
- Elaborate designing.
Common Test Objects:
- Software programs.
- Data file conversion and data migration programs.
- Database modules.
Component testing (also known as a program or module testing) focuses on finding software defects/bugs and checking the functionality of program modules, software applications, classes and so on which can be tested separately. This testing can be performed in isolation from the other parts of the system depending on the choice of the lifecycle model selected for this very software. Some test objects are verified separately, as an isolated unit, without being integrated with the rest of the components. In this testing, it is common to use module stubs, drivers, and emulators, so that to imitate the interface between the components of the software in a simple manner. These software quality assurance services are provided exceptionally by the testers but in very rare cases, by the developers.
Component testing can be referred to not only as a functional testing but also as a non-functional one. So it can be done to check such non-functional characteristics as resource-behavior (e.g. finding memory leaks). Also, this verification process can include security testing and structure-based testing (such as code coverage). Test cases are developed based on software development artifacts like components, design and database model.
As usual, component testing involves accessing the code under test and supporting module-based testing framework or debugging utility. One of the adequate approaches to component testing is the creation of automated test scripts before the coding starts. This is a test-driven development process. It consists of numerous iterations and is dependent on test case development, writing and integration of a small piece of the code, helping to eliminate all possible problems encountered.
It plays a crucial role in detecting bugs in an application. It is always executed AFTER unit testing. A quality control company takes an active part in the development and testing processes through monitoring and reviewing the methods & techniques used to ensure a quality of the products under development & test.