Integration Testing- What is it?

integration testing- what is it

Integration testing is a part of software testing in which individual units are combined together and then tested as a group. It is usually done after unit testing. Integration testing is usually done to rectify the faults occurred in interfaces and integrated units. Test drivers and test stubs can be used to assist integration testing.

Method of Integration Testing:

Black box testing, white box testing and gray box testing methods can be used for integration testing.

  • Black box testing is also known as behavioral testing. In this design, internal structure and implementation of item being tested is not known to the tester. Such tests can be functional or non-functional. Functional testing is the most used one.

  • White box testing also known as transparent box testing, code-based testing, structural testing, open box testing, clear box testing or glass box testing. In this method, design, internal structure and implementation of item being tested is known to the tester.

  • Gray box testing is a type of software testing which is a combination of black box testing and white box testing.

Read Also: Popular Software Testing Misconceptions

Approaches in Integration Testing Services:

  1. Big Bang Approach

In this approach, all the units are combined together and tested at one go.It is usually done when the testing team receives the software as a bundle. Big Bang integration testing tests only the faults in interaction between the units.

It is usually done when the testing team receives the software as a bundle. Big Bang integration testing tests only the faults in interaction between the units.

Advantages:

  • More convenient for small systems

Disadvantages:

  • It is difficult for fault localization

  • Some interface link can be easily neglected

  • Testing team will get only less time for execution

  • As all modules are tested together, there will be no separate priority given for highly risky critical modules and peripheral modules

2. Incremental Approaches

Logically related two or more modules are joined together and tested.

Incremental approach can be done in two methods:

a. top down

b. bottom up

a. Top Down Approach

In this approach, top level units are tested first and then lower level units are tested step by step. In order to stimulate lower level units test stubs can be added. Test stubs may not be available during the initial phases.

Advantage:

  • Easier fault localization

  • Prototype can be obtained early

  • Design flaws of critical modules can be found and fixed

Disadvantage:

  • Need for several stubs

  • Lower level modules are tested badly

b. Bottom up approach

Here bottom levels are tested first and then top levels are tested step by step. Here testers stimulate higher level units which may not be available during the initial phases.

Advantage:

  • Easier fault localization

  • No time wasted for unnecessary testing of all modules

Disadvantage:

  • Higher probability for defect as they test critical modules at the very last moment

  • No possibility for early prototype

3. Sandwich or Hybrid Approach

This approach is an integration of bottom-up and top-down approach. Hence the advantages of top-down and bottom-up approach can be applied here also.

You May also Like: 6 Automation Tools for iOS App Testing

Procedures to be followed for integration testing:

a. Develop the integration test plan

b. Cases, scripts and test scenarios are to be designed

c. Test cases are executed and reporting the defects

d. Defects are tracked and re-tested

e. Repeat step 3 and step 4 after the successful completion of integration testing services

Best practices for integration testing services:

  1. Determine an acceptable integration test strategy and develop test cases and accordingly test data

  1. Analyze the application’s architecture design and identify the critical module.

  1. Interface design can be obtained from architectural team and you can create test cases to verify all of the interfaces. Interface to external hardware, software application and interface to application must be tested thoroughly.

  1. After completing test case, the next task is to test data

  1. While executing test cases, it is advisable not to select test data

Integration testing is one of the easiest type of software testing and is one of the crucial step in software development life cycle.

Our Reader Score
[Total: 1 Average: 5]

Pin It on Pinterest

Share This