I work at a company with over 10 teams, each with a balance of Developers and QA. QA are responsible for exploratory, functional, and in our case web automation/testing. Developers are responsible for unit and code-level integration testing and automation. In smaller companies or companies that do one thing in their product a test team might be a valid resource, but I imagine larger organizations and those with multiple facets need to have developers that understand they are responsible for testing their code.