Professional Documents
Culture Documents
Interoperability Testing
Interoperability Testing
KNOWLEDGE SHARING 2020
INTEROPERABILITY TESTING
Introduction to Interoperability Testing
Integration – Is a technique when the components of the same system interact with each other. So in
testing world, when we do Integration testing, we are actually testing the behavior of 2 or more,
lowest levels of components of the same system.
Example:
Like – MS Word and Calculator are 2 different application and they perform their expected behavior
independently in the same operating system. So we say that these 2 applications are compatible with each other.
Interoperability – Is a technique on how an application interacts with another application. So when we do the
Interoperability testing, we check how the data from one application is transferred into another application
without prior intimation, in a meaningful manner, and further processed to give the accepted output.
Example #1:
Take an example of reserving your flight.
Consider you need to travel from New Delhi to New York. Now you don’t have a direct flight. You
have to travel from New Delhi to London and then take connecting flight from London to New York.
Now because you have some time constraints, you reserve your flight from New Delhi to London in
“Jet Airways” and from London to New York in “Virgin Atlantic”. So that means all your passenger
details got traversed from Jet Airways to Virgin Atlantic.
So here, Jet Airways and Virgin Atlantic, both are independent application all together and while
reserving your flight, your details of booking got exchanged from Jet Airways to Virgin Atlantic in a
meaningfull manner, without prior intimation.
We would need to do Interoperability testing to ensure that:
1. PLAN: We can use standard test plan document, however, there is a need to know and understand all
the applications, their functionalities, behaviour, input it takes, and output it reveals. Also, do not think
of one application or two applications, rather think of all the applications as a single unit. You need to
have a bird’s eye view.
2. DO: This is the span of time where execution on functional and non-functional testing is done, logging
the defects, following up with development team to get those resolved, regression and re-test of the
system as a whole.
3. CHECK: This is the phase where we revisit our test results and try to map those with the Requirement
Traceability Matrix (RTM) and validate whether all the expected requirements are met and whether all
the applications are traversed. We check that the data is traversed and exchanged correctly and smoothly
between the applications/systems. We would also need to validate that the data which is traversed does
not gets modified.
HOW TO DO INTEROPERABILITY TESTING (Contd.)
6. For each application, identify the Input it takes and the output it returns.
7. Identify those data which would be traversing through all/most of the applications.
8. Identify the expected behavior for each combination of application and date that needs to validated
9. Document it.
A. Application 1, Application 2, Application 3 and
Application 4 are four different systems
B. Each of these systems has the definite set of
functionality which needs to be identified.
C. Input and outputs of each system need to be identified.
D. In case of application1, it renders 2 outputs. 1 output forms the
input of application 3 and 1 output forms input of application 2. The
output from application 2 forms the input to application 3 and
application 4 and so on.
E. The validity for each of the input and output is checked. The
major point to consider here is that the data which is traversing in
the form of input and output does not gets modified AND all the
application is covered.
Example #2:
Considering An Hospital Management System having various
departments and sub-departments with the following test scenarios:
• Difficult to test all the application with all the permutations and combinations (Exhaustive testing)
• Applications are developed in different hardware/software combinations and are installed in different
environments, so if any of the environment is down, it impacts the testing.
• Because of the different software’s and environments, determining the testing strategy and executing it is
itself a big task.
• In case of any defect, doing the Root Cause Analysis is a big challenge.
• Because the applications are in a network, there would be times when the network is down. Because of
this, testing also gets affected.
How can I mitigate these challenges?
2) Try to identify some historical data like – under which circumstances the systems were down, how much time does it takes to be back in
action.
3) PLAN – Use historical data, past experiences, skill of the team, environmental factors to identify the strategy of the testing. The better
your plan, the better would be your execution.
4) Start working on preparing the environment much before than your actual execution starts. Needless to say- plan your steps when you
are preparing the environment. Make sure that your environment is all set, ready and up & running when your execution starts.
5) Before starting with the IOT, ensure that the individual applications are fully functionally tested with no defects. Then in case of any
defect, you would only need to look for the environmental factors that have resulted into some error.
Interoperability Test on Mobiles:
In Mobiles, we do interoperability test whenever a new App (Mobile Application) is launched. There are many
areas that we have to consider when planning for this testing on Mobile devices:
The intention, strategy, risks, and execution would be same but the tools and techniques would be different in
case of mobiles.
Conclusion:
Interoperability testing is a huge task as there are lots of factors which need to be
considered while executing this technique. Keep in mind to have sufficient time for bug
fixing and retesting, as this is a huge effort which requires that there should be provision
for defect follow-ups.
It may happen that you may not attain 100% coverage, but we should be smart enough to
select our test cases in such a way that most of the applications are covered in a single
flow by using good test case writing techniques.
Q&A