Component testing (K2)
Component testing searches for defects in, and verifies the functioning of, software (e.g. modules,
programs, objects, classes, etc.) that are separately testable. It may be done in isolation from the rest of the system, depending on the context of the development life cycle and the system. Stubs, drivers and simulators may be used.
Typically, component testing occurs with access to the code being tested and with the support of
the development environment, such as a unit test framework or debugging tool, and, in practice,
usually involves the programmer who wrote the code. Defects are typically fixed as soon as they
are found, without formally recording incidents.
Integration testing (K2)
Integration testing tests interfaces between components, interactions with different parts of a system, such as the operating system, file system, hardware, or interfaces between systems.
1. Component integration testing tests the interactions between software components and is done
after component testing;
2. System integration testing tests the interactions between different systems and may be done
after system testing.