Integration Testing

https://www.youtube.com/watch?v=jAipY2qFuuk

 

 

1) What is Integration  testing?

  • Integration testing is to Integrate/combine the unit tested module and test them as a combined unit. Integration testing tests integration or interfaces between components, interactions to different parts of the system such as an operating system, file system and hardware. The individual modules are first tested (unit testing). Once the modules are unit tested, they are integrated to validate that they communicate with each and function as per the requirements.2) When should be Integration testing implemented?

  • At the end of the cycle

  • Simultaneously with the development.

    3) What are the types of Integration testing techniques?

    A) Big Bang Approach : In Big Bang integration testing all modules are integrated simultaneously, after which everything is tested as a whole.


Advantage: testers get completely developed module. Challenge of testing which does not exist does not exist.

Disadvantage: Difficult to trace the origin of bug or failure.

B)Incremental Approach:

a)Top Down Approach: Testing takes place from top to bottom, following the control flow or architectural structure. components or systems are substituted by stubs.

Advantages :integration testing is basically performed in an environment  which is almost similar to the real world. Stubs can be authored with less time as compared to drivers

Disadvantages :Basic functionality is tested at the end of cycle.

b)Bottom Up Approach: Testing takes place from the bottom to top. It is in reverse order of the control flow Components or systems are substituted by drivers.

Advantages: Appropriate for applications where bottom up design methodology is used.

Disadvantages We can catch the Key interface defects at the end of cycle. It is required to create the test drivers for modules

C)Sandwich Approach - Combination of Top Down and Bottom U

4) Why Integration testing is needed?

Different modules are designed by different software developer(different location) whose understanding and programming logic may differ from each other. Integration testing becomes necessary to verify the software modules work when combined together.

At the time of module development, there may be change in requirements by the customers. These new requirements may not be unit tested and hence integration testing is necessary.

Interfaces of the software modules with the database could cause errors.

There may be changes in the data structure.

External Hardware interfaces can introduce errors.

Testing of exception handling can be tested with the integrated system.

Comments

Popular posts from this blog

What is unit testing

Regression Testing