Posted by: ahmedashfaque | May 5, 2015

integration testing for software products

software products are composed of many components. All these components are made of classes in an object orietned programming language. These classes are linked with each other through method calls. Each class provides an interface through which these methods can make or receive calls. Through these calls classes are integrated with each other.

It is important to make sure that integration of classes works otherwise the software product itself will not work. So you ensure that integration of classes are done properly?

Integration of classes is checked using integration testing. Design documents depict relationships of classes with each other. Each method call with paramters and datatype of each parameter is defined in a design document. Even object diagrams are also provided which determine the sequence of these method calls. When you do integration testing then you ensure that these method calls work correctly and thus classes interact with each other without any problems.

Strictly speaking, integration testing is not done explicitly. When you integrate your code with the main build of the software product and you find that there are compile issues only then you know that there are integration issues with your code. Integration of classes with each other is mostly about the method calls. If a class which receives a method call does not provide a proper interface then you will have integration issues and your code will not compile with the main build. The problem could be wrong parameter data type, wrong data type size etc. So such types of integration issues are essentially due to interface problems.

In some cases where a class has many method calls, it becomes difficult to find integration issues if they arise. In those cases, the class can be broken down into smaller classes. Each class can then have one method to test and thus it becomes easier to do testing.

Integration testing is purely technical in nature. It does not test for business logic. Business logic is always tested during unit testing.

Test Driven Development is a great environment for ensuring that your software product does suffer due to integration problems. We will cover test driven development in our next post.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


%d bloggers like this: