In my company we need to test our website (that we develop), On many browsers including:
- IE6
- IE7
- IE8
- Safari
- Firefox 2
- Firefox 3
- Chrome
This is a very time consuming task since we test it in many computers. I thought it's good to make a server for that thing (I know there is already online services for those things), And use remote desktop for that. So, What is a good specification for a computer to do that considering that I'm gonna use Windows XP(or 7) Professional as a the main OS and Install Virtual PC for each of IE6,7,8 and install Chrome, Safari and FF2,3 directly on Windows.
Is is applicable? what about remote-desktop? will it be efficient (speed of reaction to mouse/keyboard events).
Any alternative idea is very welcomed, and Please consider that we have many developers and we need to test websites that are in our local server(s) so it must be local server to use the benefit of LocalNetwork speed.
Thanks in advance
If you don't need to keep each OS instance running at the same time then a pretty basic PC-class machine should be adequate. If you do, you'll need to ramp up the memory a little, so consider maybe a 64-bit Windows Server 2008 solution with at least 8 GB RAM. Carving off 512 MB of this for each XP instance (I'd also put each of the other browsers into a separate instance) seems fine. Go maybe quad-core as you'll need some extra CPU grunt too.
The host OS is a big factor. I said a server OS above, as XP (or 7) is limited in the number of simultaneous RDP connections it can accept. An alternative would be to enable RDP on each client OS, in which case you would get away with Windows 7 there. I wouldn't use XP on the host as Windows 7 is just such a far more mature platform for running in a 64 bit environment.
Remote Desktop is quite efficient, and if it's all on the local LAN responsiveness/etc should be OK. Bear in mind though that you'll have multiple simultaneous connections coming through the same NIC, so that's most likely to be the one remaining bottleneck. We could get into multiple NICs and use something more exciting than Virtual PC, but that's probably putting you into silly money territory.
If your going to use this for automated qa scripts, i would beef it up to 8 or above as mh noted. ive seen www mechanize and selenium scripts eat up alot of resources if your really testing, so sometimes it might be just as well to repurpose two or three 1yr old desktops. As for the limitation on rdp, i have not used it for a while, but nx may help you out there.
I've done similar things with multiple PCs for testing using VMware (ESXi/Server). It's easy enough take a single machine and use it many times over to host browsers that are otherwise incompatible. You can also then clone the machines or snapshot them easily enough so they can be broken and restored including different patch levels. You can also script duplicating machines so multiple developers can get in.
In my experience RDP is acceptable for most testing work with the exception of 3D graphics work or any website where reaction time is a significant factor.
I'd steer clear of any sort of Windows Terminal Server solution personally as the licensing costs would be significant and you'll have a lot of administrative overhead running multiple versions of IE and a single issue with your server knocks out all your developers.
If you are pushing 3D apps or reaction time stuff I'd recommend loading Virtual Box/VMware workstation on the dev's PC's and supplying a library of virtual machines with the appropriate browsers/software.