It depends on your resources. If possible - install on a separate server . The similarity will depend on the exact purpose of the QA server. Is it for code release \ functionality testing , is it for performance testing ? etc The basic idea of QA is to match the Production
We are of the opinion that QA edition should match the production edition, otherwise you could have a feature issue.
We use a separate server for every environment. You could even use a virtual machine for QA even if production uses physical hardware. The only environment where we match the hardware to production is the performance/load test environment.