What is the difference between integration and interface tests?
I have googled many times but still not understand clearly about interface testing in software testing, who can explain this , many thanks?
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.