Solid software is a team effort.
Quality Assurance in software development, is not the sole responsibility any one team, yet the structure (and project schedules) of many organizations makes the Test team, in particular, "accountable".
The net effect is you end up with strange beliefs that "not letting developers talk to testers" will improve the quality of the software product. What gives?
At what point did we lose the plot?
Fortunately, there's some smart folks out there who realize there's a better way. Competitive software companies nowadays are doing some interesting things;
* Building & Testing what the customer actually wants (BDD, Agile Specs
* Not wasting time (and money) on stuff that's not important. (MMF, Getting Real)
* Automating things instead of doing them by hand. (Like testing!)
* Training people how to write Code That's Easy to Test (the Pragmatic Programmer)
* Training people how to write tests for that same code (cmon, this is basic QA people! Educate your developers.)
* Training people to write & run those tests before they write any code (e.g. BDD/TDD/XP )
* Isolating bugs when they are introduced, not 6 months later (Continuous Integration) And last but not least;
* Responsibility, accountability and pride your own/team's work. (Leadership, Software Craftmanship, SCRUM)
Easier said than done, yes, but its not rocket surgery.