Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have googled many times but still not understand clearly about interface testing in software testing, who can explain this , many thanks?

share|improve this question
What do you mean with the word "Interface"? The GUI (Graphical User Interface), API (Application Programming Interface) or maybe something else. :) – Niels van Reijmersdal Jul 28 '14 at 9:35
@Cuong Nguyen it might help to state where you saw those terms used. – user246 Jul 29 '14 at 12:30
I saw it here(question #2), hope it helps define. – Cuong Nguyen Jul 30 '14 at 4:37
up vote 5 down vote accepted

You have some choices here. You can go with formal definitions like the ISTQB definition, or you can treat the definitions the way your organization handles them. Software testing is a field where definitions tend to vary depending on the understanding of the team and how they work.

That said, in my experience interface testing can be one of two things:

  • A type of integration test that focuses on the interface between components/systems.
  • A test of a defined interface into a component or system. This is usually the kind of interface testing I've done (I've also seen this called API testing).

Integration testing is generally what it says on the box: testing integrated components or systems to exercise the interactions between them and flush out any bugs. I've also seen integration testing used to describe testing interactions between the application in test and third party systems (where this could also be considered API testing of the AIT's use of the third party API).

As always, I tend not to focus on the official definitions because in my experience the official definitions are often modified in the field by the needs of the application in test and the testers working with it.

share|improve this answer
"Software testing is a field where definitions tend to vary depending on the understanding of the team and how they work." This is something I never understand. Each time I come to a company and see a own glossary with testing teams I think, "Why define people terms they already are defined? Why use the company not the standards? Many misunderstandings and disputes about definition of testing terms would be redundant." So this question and your answer with the nice example show me why these glossaries exist. Thank you! – Twaldigas Jul 28 '14 at 11:39
@Twaldigas - so many aspects of testing depend heavily on context, and that does include the definitions - which is not always a good thing. It would be nice to have more widely accepted definitions so we didn't need to build our own glossaries, but at the same time, we still need to communicate where we work which means using the definitions there. – Kate Paulk Jul 28 '14 at 15:23
@KatePaulk You have a typo in ISTQB – Lord_Gestalter Jul 29 '14 at 5:50
@Lord_Gestalter - thanks! I've corrected it. – Kate Paulk Jul 29 '14 at 11:03
@KatePaulk That's what reviews are for ;-) – Lord_Gestalter Jul 30 '14 at 5:23

I take a look into the ISTQB glossary and found this two definitions:

interface testing: An integration test type that is concerned with testing the interfaces between components or systems.

integration testing: Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems. See also component integration testing, system integration testing.

After some research I also found this:

  • Integration tests means hardware and software tests. The whole system.
  • Interface tests do only check the software components like data transfers between the applications / modules.
share|improve this answer
This definition from ISTQB is very vague. Actually this reads like they are exactly the same, except that integration testing adds "interactions" to the definition. Don't we mostly test interactions even when testing an interface. This does not solve the problem of the original poster, even I am confused now. :) – Niels van Reijmersdal Jul 28 '14 at 10:47
@NielsvanReijmersdal For my understanding is interface testing a part of integration testing, but not integration testing at all. But yes, the definition is very vague. So maybe the clear answer is: No difference exist. – Twaldigas Jul 28 '14 at 10:59
ISTQB is fantastic a providing definitions but less at giving examples for them. – dzieciou Jul 28 '14 at 11:08

When thinking of interface testing, u need to stop thinking of interface as GUI, but think as a point of interaction btwn objects. So when we say interface testing we mean are the objects able to interact without any problem. Remember it start with unit test, then component testing then integration testing that leads to system. Interface testing thus is part of integration testing as you are integrating the components together, seeing whether the components can interface/communicate with each other until its integrated to a system.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.