Ding! I'd say minimum three front-ends, two file servers, domain controller and database. Plus I need a client within the VM's network.
Even without clustering it's not hard to imagine with a distributed n-tier system. For example a web front-end, business object server, authentication server, image server, ad front-end, content DB, ad DB, LDAP server.
Do ALL those things really need a dedicated CPU though, unless you’re doing load testing? Which if you’re doing that, you ought to be doing it on a production quality system, not your development box. I mean, if two file servers and a domain controller on three different VMs *share* a physical CPU, I doubt you’re going to see performance degradation, because those things won’t even come close to peaking out a single core. I mean, the VMs for those shouldn’t even really need that much RAM (unless these are Windows servers.).