Learn about Integration Testing

Tram Ho

1. What is integration testing?

INTEGRATION TESTING is defined as a type of test in which software modules are reasonably integrated and tested as a group. A typical software project consists of many software modules, coded by different programmers. The purpose of this test level is to find defects in the integration of software modules. Integration testing focuses on testing data communication between modules. Therefore, it is also called ‘I&T’ (Integration and Testing), ‘String Testing’ and sometimes ‘Thread Testing’ .

2. Why integration testing?

Although each software module is unit tested, the error still exists for many reasons such as:

  • A module, in general, is designed by a programmer so understanding and programming logic may differ from other programmers. Integration testing becomes necessary to verify software modules that operate consistently
  • At the time of developing the module, it is possible to receive many change requests from customers. These new requirements may not be unit tested, so system integration testing becomes necessary.
  • The interface of software modules to the database may be defective
  • The external hardware interface, if any, may be faulty
  • Incomplete exception handling may cause problems.

3. Examples of integrated test cases

Integration Test differs from other test cases, focusing primarily on interfaces & data / information flows between modules. It is preferable to test integration links instead of unit functions that have been tested.

For example: The application has 3 modules ‘Login Page’ , ‘Mailbox’ and ‘Delete email’ each reasonably integrated.

This does not focus much on checking the Login Page because it was done in Unit Testing. But check how it is linked to the Inbox Page. Similar to Mailbox: Check its integration with the Message Deletion Module.

ID 1Test objectivesDescribe the test caseExpected results
firstCheck the link between the Login module and the MailboxEnter your login information and click the Login buttonTo be moved to the Mailbox
2Check the link between Mailbox and Delete MailFrom Mailbox select email and click delete buttonThe selected email will appear in the Deleted / Trash folder

4. Approach, strategy, integrated testing method

Software engineering identifies many strategies for performing Integration Testing

Big Bang approach: Incremental approach: divided into the following * Top-down approach * Bottom-up approach * Sandwich approach – Mix from top to bottom from below are the different strategies, how they are implemented and their limitations and advantages.

4.1 Big Bang Approach:

Here all the components are integrated together at the same time and then tested.

Advantages:

  • Convenient for small systems, easy to detect the cause

Defect:

  • It is difficult to identify the module error
  • With the number of interfaces to be tested by this method, some of the interface links to be tested may be missed.
  • Because the Integrity test can only begin after “all” modules are designed, the test team will have less time to execute during the testing phase.
  • Since all modules are tested at the same time, the critical modules have a high risk of isolation and are not preferred for testing.

4.2 Incremental approach

In this method, testing is performed by concatenating two or more modules that are logically related. Afterwards, other related modules are added and the function is tested appropriately. The process continues until all modules are successfully joined and tested.

The ascending approach, in turn, is implemented by two different Methods:

  • Bottom up
  • From the top down

4.3 Integration from the bottom up

In the bottom-up strategy, each module at the lower levels is tested with the higher modules until all the modules are tested. It needs the help of tesing drivers

Advantages:

  • Error range is narrowed.
  • No more wasted time waiting for all the modules to be developed and put together

Defect:

  • Important modules (at the highest level of the software architecture) may be vulnerable to errors.
  • Unable to keep the original prototype

4.4 Integration from top to bottom:

In a top-down approach, testing takes place from top to bottom in the control flow of the software system.

Advantages:

  • Error range is narrowed.
  • Integrated template close to reality.
  • Tested critical modules prioritize design errors that can be found early.

Defect:

  • Need a lot of Stub.
  • Lower level modules are not fully tested.

4.5 Integrated Hybrid / Sandwich

In sandwich / hybrid strategy is a combination of Top Down and bottom up method. Here, the top modules are tested with lower modules and lower modules are integrated with top and tested modules.

5. How to check integration?

Process for integration testing:

  1. Plan things to check
  2. Design test scripts, cases, and scenarios.
  3. Perform testing and report any errors encountered.
  4. Keep track of & check errors again.
  5. Steps 3 and 4 are repeated until the system is fully tested.

6. Brief description of integrated testing plan:

It includes the following properties:

  • Test method / method (as discussed above).
  • Scope and scope of integrated test scope.
  • Roles and responsibilities.
  • Prerequisite for integration testing.
  • Test environment.
  • Risk plan and mitigation.

7. Criteria for evaluating input and output of integrated testing

Entry criteria:

  • Test all modules
  • All high priority errors must be fixed and closed
  • All Modules are fully coded and successfully integrated.
  • Test plan, test cases, scenarios will be agreed and recorded.
  • Set up test environment for integration testing

Output criteria:

  • Complete integration testing.
  • The test cases performed are recorded
  • All high priority errors have been fixed and closed
  • Release test documents to evaluate preparation for release.

8. Practice / Guidance for integration testing

  • First, define the Integrated Test Strategy and then prepare the test cases and test data accordingly.
  • Study the Architecture design of the Application and identify important Modules. These need to be checked for priority.
  • Check details verification of all interfaces. Interface with external hardware / software databases / applications must be checked in detail.
  • Test data plays an important role.
  • Always prepare data close to the real data for effectiveness testing

Source of source: https://www.guru99.com/integration-testing.html

Share the news now

Source : Viblo