Javatpoint Logo
Javatpoint Logo

Integration testing

Integration testing is the second level of the software testing process comes after unit testing. In this testing, units or individual components of the software are tested in a group. The focus of the integration testing level is to expose defects at the time of interaction between integrated components or units.

Unit testing uses modules for testing purpose, and these modules are combined and tested in integration testing. The Software is developed with a number of software modules that are coded by different coders or programmers. The goal of integration testing is to check the correctness of communication among all the modules.

Integration testing

Reason Behind Integration Testing

Although all modules of software application already tested in unit testing, errors still exist due to the following reasons:

  1. Each module is designed by individual software developer whose programming logic may differ from developers of other modules so; integration testing becomes essential to determine the working of software modules.
  2. To check the interaction of software modules with the database whether it is an erroneous or not.
  3. Requirements can be changed or enhanced at the time of module development. These new requirements may not be tested at the level of unit testing hence integration testing becomes mandatory.
  4. Incompatibility between modules of software could create errors.
  5. To test hardware's compatibility with software.
  6. If exception handling is inadequate between modules, it can create bugs.

Integration Testing Techniques

Any testing technique (Blackbox, Whitebox, and Greybox) can be used for Integration Testing; some are listed below:

Black Box Testing

  • State Transition technique
  • Decision Table Technique
  • Boundary Value Analysis
  • All-pairs Testing
  • Cause and Effect Graph
  • Equivalence Partitioning
  • Error Guessing

White Box Testing

  • Data flow testing
  • Control Flow Testing
  • Branch Coverage Testing
  • Decision Coverage Testing

Grey Box Testing

Methodologies of Integration Testing

There are two basic methods for Integration Testing:

  1. Big Bang
  2. Incremental

Now, let's understand these approach.

Big Bang Method

In this approach, testing is done via integration of all modules at once. It is convenient for small software systems, if used for large software systems identification of defects is difficult.

Since this testing can be done after completion of all modules due to that testing team has less time for execution of this process so that internally linked interfaces and high-risk critical modules can be missed easily.

Integration testing

Advantages:

  • It is convenient for small size software systems.

Disadvantages:

  • Identification of defect is difficult.
  • Small modules missed easily.
  • Time provided for testing is very less.

Incremental Approach

In the Incremental Approach, modules are added in ascending order one by one or according to need. The selected modules must be logically related. Generally, two or more than two modules are added and tested to determine the correctness of functions. The process continues until the successful testing of all the modules.

Incremental Approach is carried out by further methods:

  • Top Down
  • Bottom Up
  • Hybrid Testing

Top-Down Method

The top-down testing strategy deals with the process in which higher level modules are tested with lower level modules until the successful completion of testing of all the modules. Major design flaws can be detected and fixed early because critical modules tested first.

Integration testing

Advantages:

  • Identification of defect is difficult.
  • An early prototype is possible.

Disadvantages:

  • Due to the high number of stubs, it gets quite complicated.
  • Lower level modules are tested inadequately.
  • Critical Modules are tested first so that fewer chances of defects.

Bottom Up Method

The bottom to up testing strategy deals with the process in which lower level modules are tested with higher level modules until the successful completion of testing of all the modules. Top level critical modules are tested at last, so it may cause a defect.

Integration testing

Advantages:

  • Identification of defect is easy.
  • Do not need to wait for the development of all the modules as It saves time.

Disadvantages:

  • Critical modules are tested last due to which the defects can occurr.
  • There is no possibility of an early prototype.

Hybrid Testing Method

In this approach, both Top-Down and Bottom-Up approaches are combined for testing. In this process, top-level modules are tested with lower level modules and lower level modules tested with high-level modules simultaneously. There is less possibility of occurrence of defect because each module interface is tested.

Integration testing

Advantages:

  • The hybrid method provides features of both Bottom Up and Top Down methods.
  • It is most time reducing method.
  • It provides complete testing of all modules.

Disadvantages:

  • This method needs a higher level of concentration as the process carried out in both directions simultaneously.
  • Complicated method.

Guidelines for Integration Testing

  • First, determine the test case strategy through which executable test cases can be prepared according to test data.
  • Examine the structure and architecture of the application and identify the crucial modules to test them first.
  • Design test cases to verify each interface in detail.
  • Choose input data for test case execution. Input data plays a significant role in testing.
  • Fix defects and retest.

Next TopicRegression Testing




Please Share

facebook twitter google plus pinterest

Learn Latest Tutorials


Preparation


Trending Technologies


B.Tech / MCA