However, I think I can provide a better answer than "it depends." If I'm managing or working as part of the leadership team on a project, it's my expectation that both programmers and testers are responsible for integration testing. It's not an area of testing where I've found strict role separation useful (but that could just be due to the types of projects I've worked on). It's also been my experience that the closer the two roles work together when doing technology-facing testing, the better the testing results are.
The programmers will likely have a deeper grasp of the technical concerns of the integration. The testers will likely better understand the risks around quality criteria other than capability (does it do what we think it should be doing). They'll be thinking about performance, error handling and alerting, operational criteria, usability, and edge cases related to critical functions. It's one of the areas where I've found it easiest for the two roles to collaborate.
This was first published in February 2009