- Year not given · 3+4 marks
Component, integration and release testing
Short answer
The testing order is unit, component, integration, then release. Unit testing checks a single function/class by developers; component testing checks a group of units through its interface; integration testing combines components to expose interface defects; release testing is black-box validation of the whole version by an independent team.
Establish chronology among component, release unit and integration testing. Write distinctive notes on their testing.
Chronology
Testing moves from the smallest parts to the complete system:
Unit testing -> Component testing -> Integration
testing -> Release testing -> (Acceptance testing)
- Unit testing comes first: individual functions and methods are tested.
- Component testing follows: units grouped into a component (a class or a composite component) are tested through their interface.
- Integration testing comes next: components are combined step by step into the system and tested together.
- Release testing comes last before delivery: a complete version of the system is tested by an independent team before it is given to customers.
Distinctive notes
Unit testing
- Tests the smallest testable piece of code (a function, method or object class) in isolation.
- Done by the developer, usually white-box, using drivers and stubs.
- Aim: find logic, boundary and calculation errors, e.g. testing
calculateInterest()with zero, normal and maximum balances.
Component testing
- Tests a component made of several units through its interface.
- Focus on interface errors: misuse, misunderstanding and timing errors.
- Done by developers; test the component's specified behaviour, e.g. testing a "Payment" component's
pay(),refund()andstatus()operations together.
Integration testing
- Tests interactions between components as they are combined, to find defects in their interfaces and data flow.
- Strategies: top-down (with stubs), bottom-up (with drivers), sandwich, or big-bang; incremental integration makes faults easy to locate.
- Done by the development team; regression tests are run after each new component is added.
- Aim is defect testing: find faults.
Release testing
- Tests a particular release of the whole system that is intended for use outside the development team.
- Done by a separate testing team; black-box, based on requirements, scenarios and performance (load and stress) tests.
- Aim is validation: show the system meets its requirements and is good enough to release, not mainly to find bugs.
| Point | Unit | Component | Integration | Release |
|---|---|---|---|---|
| Scope | Function/class | Group of units | Combined components | Whole system version |
| By | Developer | Developer | Dev team | Independent team |
| Method | White-box | Interface-based | Interface/flow | Black-box |
| Goal | Unit correctness | Interface correctness | Find defects | Validate for release |
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Top-down integration problems; regression testing · Software Engineering, chapter 8
- Failure after acceptance testing; integration testing · Software Engineering, chapter 8
- Steps to establish small scale unit · Organization and Management, chapter 8
- Load sharing among three generators · Power Plant Equipment, chapter 2 · asked 3×