We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.
Software

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

What is Integration Testing?

By G. Wiesen
Updated: May 16, 2024

Integration testing is a phase of software development and testing in which multiple units or modules within a program or hardware configuration are brought together and tested. These various units have all typically been tested individually to ensure that each unit functions properly alone; this phase of testing integrates these disparate units into a larger system. This can be done in software development to ensure that different aspects of a larger program are able to work together or in hardware testing to ensure proper functionality between different units. Integration testing is a key phase of testing since many bugs can be found and early release versions of the overall software or hardware can be developed.

Also referred to as integration and testing, or I&T, integration testing is typically seen as the second major phase of testing. The first phase is called unit testing and is focused primarily on testing individual units or parts of a larger program or system to ensure that each unit functions on its own. These separate units are brought together in integration testing, once they have each passed unit testing, to then ensure that they can work together in larger groupings. Afterward, they will typically be put together in the full system or program being developed and tested as part of that full system, which is called system testing.

There are many ways to perform integration testing, though there are some common methods typically used. Bottom-up testing is quite common and usually involves testing different aspects of an integrated system starting with the lower levels of the system. Once these “bottom” aspects of the system pass testing, the testing moves “up” to more important aspects. A top-down form of integration testing can also be performed, in which the highest levels of a system are tested first and the process continues moving “down” to lower levels.

One of the major problems with these two types of integration testing, however, is that neither one can easily establish an early release of a product with basic functionality. This type of alpha version release can be vital for greater testing opportunities, and so other approaches typically must be taken to allow for such a release. One such approach is a “big bang” form of testing in which all of the parts of the integrated system are tested simultaneously. This can be advantageous if there are few problems or bugs with the software being tested, but it can be difficult to pinpoint specific problems if too many are present.

There is also a type of integration testing referred to as “sandwich testing” that seeks to alleviate some of these issues. Basically, this type of testing begins with both top-down and bottom-up testing simultaneously, and both forms of testing effectively “meet in the middle.” This allows for early testing of basic logic systems, a perk of top-down testing, and identifies smaller problems earlier, as with bottom-up testing. Such testing can also more quickly produce an early release version of the product for more wide-scale testing or advance media demonstrations of the product.

EasyTechJunkie is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.
Discussion Comments
Share
EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.

EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.