Mobile QA Zone

A Mobile Application Testing Community

Why you need to perform integration testing

Integration testing is an intermediate stage between modular testing and system check-up. In the process of software testing are arranged and studied in complex. As a rule, smaller modules are integrated into bigger ones. The purpose of such integration of several modules into one group is to check whether these units meet functional and acceptance criteria. The testing itself is done with the help of the so-called “Black box” method when there’s no access to product’s source code.

Pretty often, integration testing is compared to modular testing which helps to assess the correct performance of separate modules of product’s code. The difference between modular and integration testing lies in their goals, and, as a result, in the methods they’re carried out with.

Thus, when we do integration testing, the emphasis is made on the analysis of interaction among interface objects. Such integration testing is done on two levels: component and system ones. The first level, component level, assesses system components behavior by the results of component testing. Accordingly, on a system level a testing specialist checks interaction among the systems by the results of system testing. As a rule, two ways of merging modules in groups are singled out:

  • Monolithic (when all system modules are merged simultaneously);
  • Incremental (when system modules are merged step by step).

Incremental way has two approaches to modules merging:

  • Descending testing: at the first stage, modules of higher level are checked. After that, they are gradually merged with low-level ones. In the process of testing low-level modules are replaced with the so-called plugs with the same functionality. Later, these plugs are replaced with real low-level modules.
  • Ascending testing: low-level modules are analyzed. This method is considered to be more effective when all modules are low-level. At this stage of testing it is possible to assess the level of readiness of the product under testing.

The results of integration testing can show mistakes in the process of module merging. In order to avoid them, a test plan if testing separate modules is made. After testing separate modules, they can be merged based on the peculiarities of their testing.

Views: 65

Comment

You need to be a member of Mobile QA Zone to add comments!

Join Mobile QA Zone

Comment by Eugene on February 23, 2017 at 7:52pm

Thanks for your comment, Anand!

Comment by Anand Singh on January 6, 2017 at 12:17pm

Hi,

In our testing environment, most of the companies and organization focuses on end-to-end testing. Well end-to-end testing is important but it needs to cover the real use cases. Most of the testers spent 80% of the time finding basic bugs rather than working on the real use cases.

With the good testing strategy and release plan, in real world there is always less time or no time for testing real time use cases.

Most of the industry and organization have adapted only to the Unit testing and Functional testing. It’s very little organization that has the Integration testing in the testing life cycle.

Integration testing is an approach where modules are developed and testing of modules always starts at the finest level of the programming hierarchy and continues towards the lower levels. It’s the extension to unit testing. Integration testing takes smaller unit of unit testing and tests their behavior as the whole.

Most of the testing life cycles primarily rely on end to end testing. It’s important and must to have end to end testing. But at the same time it’s important to have Integration Test suites in the software testing life cycle.

Let me list some of the experiences and advantage of the Integration Testing

    - Be it top down or bottom up approach of Integration Testing, the testing starts at the very early stages of development and bugs are caught earlier rather than late in the cycle.
    - Confidence in the development cycle is high.
    - Easy to integrate with daily builds and easy to test in development environment
    - Building the right test gives right feedback loop mechanism between both developers and test engineers.
    - Tests run faster compared to end to end tests.
    - Code Coverage is higher and easy to track.
    - Most of the unit test cases, negative cases and simpler cases can be written at the earlier stages and gets executed on every build. Helps in better test coverage too and improves test gaps.
    - Tests are more reliable and easy to isolate the failures.
    - Majorly helps to build real time use cases during end to end testing.
    - Integration tests catch system-level issues, such as a broken database schema, mistaken cache integration, and so on.

What does it require to have integration testing?

    - Most importantly it requires Developer with Tester’s attitude.
    - Management encouragement to build strong Test team who would work and think like a tester with development skill sets.
    - Test Automation Developers need to think beyond writing test after the product built but at very early stage of development.
    - Test are written from the day one of the development cycle

 I always recommend writing good tests and every engineer to test their code. It is important to be disciplined programmer who don’t deliver test but deliver strong test suite!

Thanks

Anand

© 2017   Created by Anurag Khode.   Powered by

Badges  |  Report an Issue  |  Terms of Service

Welcome to Mobile QA Zone, a Next Generation Software Testing Community.Invite your friends to join this community.Write to us to become a featured member.