# Big Bang Integration

Big Bang Integration is an integration testing strategy where all or most of the units are combined together and tested at one go. This approach is taken when the testing team receives the entire software in a bundle.

## 1. How it Works

Unlike incremental integration (where modules are added one by one), Big Bang Integration waits for all modules to be ready.

1.  **Development:** All individual modules are developed and unit tested in isolation.
2.  **Integration:** Once every module is complete, they are all integrated simultaneously to form the complete system.
3.  **Testing:** Integration testing is performed on the whole system.

## 2. Pros and Cons

| Pros | Cons |
| :--- | :--- |
| **Convenience:** Good for small systems. | **Fault Isolation:** If a bug is found, it is very difficult to detach the module responsible for it because everything is mixed together. |
| **No Stubs/Drivers:** Requires minimal mocking since all real components are available. | **Late Testing:** Testing can only start after *everything* is finished. Critical bugs might be found very late in the cycle. |
| | **High Risk:** The probability of critical failure is high ("Big Bang"). |

## 3. When to use it?

*   **Small Projects:** When the system is small enough that the entire integration process is manageable.
*   **Throwaway Prototypes:** When code quality and long-term maintenance are not priorities.

[[programming/software-testing-basics]]
[[programming/software-development-life-cycle]]