Developers and QA should be working together as a team.
While Developers totally focus on their Units Tests, they should also work closely work with the QA on the Acceptance/functional tests.
Ideally the QA should focus on automating Acceptance Tests/Functional Tests and keep pushing it to the code base. So testing becomes a continuous effort and not dependent on build handovers.
Exploratory Testing can be something that the QA/Dev can focus on builds where they identify.