What is integration testing?

September 26, 2014

An individual IT consultant or employee may only work on one specific part of the entire IT infrastructure. At some point, though, the department has to find out if all of the individual components work together in harmony, providing a seamless user experience for the rest of the business. This process is known as integration testing.

What is integration testing?
According to TechTarget, integration testing is the process of taking the smallest possible unit of the IT infrastructure and combining it with the other units to discover if they operate correctly as a whole. Like all forms of testing, integration testing allows the IT team to discover bugs and issues before they crop up during real world use. 

Bottom-up testing is a way of testing that involves taking units and combining them into modules to determine functionality. From there, the tester takes the module and combines it with other modules, checking to make sure they work together at every step of the way, until finally the entire infrastructure or application has been thoroughly tested and found to be in good working order.

After the bottom-up testing is complete, testers can engage in top-down testing, which is the bottom-up process in reverse – starting with application-wide functionality and moving down into specific parts. Testing should always take into account the expected behavior of the users as they operate the systems and networks. 

Writing a successful integration test
How IT approaches an integration test is dependent on the environment in which they are working. Rebel Labs stated that the first step in creating a successful integration test is deciding the scope of the test. For example, if a tester wants to determine how the CRM software integrates with the rest of the IT infrastructure, he or she can test some very specific units of the software. How does the CRM interact with the printer? How does it interact with email? How does it handle the invoices? 

Something else that testers should remember is that diligent logging of test processes is essential. Simple tests may not need to be strictly logged, but testing of complicated processes and interactions needs to be detailed. In the event of a test failure, the tester needs to know exactly what he or she did so any mistakes can be quickly discovered. 

Regardless of the specific testing methodology a company uses, integration testing should be a key step in both the building and continuing maintenance of IT applications and infrastructure.