@Philip
Agree, but you missed a chunk of knowledge a great QA should have - an understanding of the business. This should be better than the average developer, so the QA can also ensure a UAT - never mind that it runs, does it produce what it's supposed to?