1

In Big Bang Integration Testing, we combine all the modules we have together after unit testing immediately as one whole to see if there are errors.

In System Testing, we basically test the whole system. Whether the modules in the system are tested by integrating several at once or all at once is not important. The main point is: the testing is done towards the system as a whole.

If that is the case, then aren't Big Bang Integration Testing and System Testing basically the same: they both test the system as a whole? If they are the same, then why is Big Bang Integration Testing considered as a type of Integration Testing (the other types being top-down integration testing and bottom-up integration testing)?

1
  • @DocBrown Is the term System Integration Testing in the link you provided equivalent to the term Big Bang Integration Testing I mentioned? I don't think they are, the Big Bang Integration Testing I'm referring to can be read here: tryqa.com/what-is-big-bang-integration-testing
    – Richard
    Jun 20, 2019 at 5:16

2 Answers 2

1

The term "system test" is defined in IEEEStd829™-2008 as

Testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements. (adopted from IEEE Std 610.12-1990 [B3])

whilst systems integration testing is defined as

Testing conducted on multiple complete, integrated systems to evaluate their ability to communicate successfully with each other and to meet the overall integrated systems’ specified requirements

So "integration testing" (regardless if do it in a "Big Bang" manner, or not) means only to check if different modules work together as intended. That does not include to fulfill the business requirements. The latter is what "system testing" is for. (See also Wikipedia).

Let's say you write a chess program. "Integration testing" could be done by some tester who does not know the chess rules completely, only checks if the UI works together with the backend in a sensible manner, and if the system cannot be crashed through the UI. "System testing" then may include to test all the gory details of testing the chess rules, or if adjusting the strength level of the chess AI through the UI works as intended.

4
  • I see, so basically in Big Bang Integration Testing, even though it tests the system as a whole, it does not necessarily have to achieve what the program actually needs. It merely checks if all modules can communicate as expected. However, with system testing, this may include communication between external systems (external combined modules) which is not included in Big Bang Integration Testing as it's a type of integration testing? Could you provide some concrete examples of tests which may be included in system testing, but not in integration testing?
    – Richard
    Jun 20, 2019 at 5:24
  • @Richard: actually, this site is not for doing someone elses homework, and askers are expected to do some research on their own before they ask. But I gave an example in my answer. Feel free to extend.
    – Doc Brown
    Jun 20, 2019 at 5:33
  • It's not for homework, though. Thank you for the example and the time to answer my question.
    – Richard
    Jun 20, 2019 at 5:35
  • @Richard: I did not mean "homework" only in a literal sense.
    – Doc Brown
    Jun 20, 2019 at 5:37
2

@DocBrown's answer is correct, as a short answer.

I want to add some details.

Nothing "Big Bang" is good. It is not manageable. If something fails, it is difficult to know why. It is "all or nothing". When you have reports, you have them all at once, not gradually.

Integration tests and system tests do not exclude each other, they complete each other.

All testing must be done according tot he respective requirements. Architecture / design requirements for integration testing, use cases, customer specifications, business requirements... If the requirements are missing, one cannot properly decide if a behavior is a bug or a feature.


aren't Big Bang Integration Testing and System Testing basically the same

No, they are not at all the same. System tests are always black box. Integration tests are gray box: no seeing inside units, seeing only the communication between units

For system tests, you already have a system. For integration tests, you only have some units together, but not a system. For integration tests, you might have stubs or instrumentation code.


why is Big Bang Integration Testing considered as a type of Integration Testing?

I highlighted the keywords, I hope you understand what I mean :)


From a personal experience I can tell you that gradual integration (and therefore integration testing) is much better. Think about the moment when nobody delivers anything for 2 months, and then one day the integrator receives 120 changes from 20 people. What are the chances that everything will fit with everything? When the would-be-system "explodes", how can the integrator decide which are the root causes of the "explosion"? Usually these BigBang integrations were failures, and delivery time had to be almost always delayed, with the entire team going back to analyzing what happens and fixing things.

Not the answer you're looking for? Browse other questions tagged or ask your own question.