$2k to $5k build for (buggy) software QA

MrWizard6600

Supreme [H]ardness
Joined
Jan 15, 2006
Messages
5,791
Hey Guys,

So I just typed this out, accidentally closed the tab, so no I'm typing it all out again (in nodepad++ this time)

Firstly: There's a tl;dr with the build template at the bottom, so if you want to skip the backstory you can.

So I work for this company, and right now our QA procedure is pretty lack-luster: we test our software by moving between different machines running our software with different configurations; it's a pain because we don't have that many machines which means that come crunch time its difficult to do a whole lot of testing. Our software is headful (read: not headless, needs a screen) so to verify correct behaviour we need to interact with a GUI.

Enter Environment Management with virtual machines, hyper visors, Chef, and Vagrant, and devs supporting ranorex and cucumber. Using these tools I'm hoping to reduce the amount of work needed to get good test results and increase the amount of testing we can do at any one moment. Of course, to support this (I think) we'll need some pretty beefy hardware.

What I want to do is have a machine that is capable of running 5+ virtual machines, each with the ability to bring one or two CPU's up to 100% and with access to at least a couple of gb of memory. These virtual machines would be brought up and shut down frequently, such that our QA engineer would be able to run a command similar to

chef setup -os=windows_7_x86 vanilla-oasis run="oasis --execute samples/MOPTA08.opyl"

that would cause the host to:
- create a new instance of a virtual machine for the specified OS (win 7)
- get vagrent or chef to run the 'vanilla-oasis' profile (creating a machine with an installed runnable jvm & nessecary deps)
- execute our software ('oasis') with the supplied arguments (--execute)

I'm looking into using a cloud-service to do this, something like Continuous-Integration-for-QA-professionals, but I haven't had too much luck.

tl;dr: need very beefy box to run lots of virtual machines each running software thats mean to the hardware its running on


The template:
1) What will you be doing with this PC? Gaming? Photoshop? Web browsing? etc
Spinning up virtual machines, running UI automation scripts, running compute heavy performance testing.

2) What's your budget? Are tax and shipping included?
Somewhere between $2000 and $5000 CAD.

I'm leaving such a wide gap in price because I'm really looking for the happiest point of return on investment. I'm looking to build a work-horse, not an F1 car. This has got me thinking about opterons because last I checked they're significantly cheaper and get us the bulk of the performance of an intel CPU without the initial cost --I should mention that our electricity costs are generously covered by the SFU Venture connection & Coast Capital Savings--, so the electrical bill isn't a huge concern. It is worth mentioning that the entire QA process costs maybe about $200/hr, so if an intel machine will save us 10 hours per year it has --through some sketchy math-- allowed us to do $2000 of additional testing. My point is that I'm looking for the sweet spot of performance/price, but time is money.

3) Which country do you live in? If the U.S, please tell us the state and city if possible.
Vancouver, BC. Its not impossible to order from the states but it would be a hassle.

4) What exact parts do you need for that budget? CPU, RAM, case, etc. The word "Everything" is not a valid answer. Please list out all the parts you'll need.
The case and the parts inside it.

5) If reusing any parts, what parts will you be reusing? Please be especially specific about the power supply. List make and model.
I do not need any operating system licenses, mice, keyboards, or monitors --though if there are any huge deals on monitors right now I'd be interested.

6) Will you be overclocking?
No.

7) What is the max resolution of your monitor? What size is it?
Good question, If the host OS has a good windowing system --capable of rendering each of its running operating systems in a different window, then probably we'll go with something that would make sense for viewing 2 or 3 windows simaultaenously, 27" at the 2560 x whatever, but if that's not possible, something like a regular 20" or 22" 1680 x 1050.

8) When do you plan on building/buying the PC?
next 6 months

9) What features do you need in a motherboard? RAID? Firewire? Crossfire or SLI support? USB 3.0? SATA 6Gb/s? eSATA? Onboard video (as a backup or main GPU)? UEFI? etc.
  • Because of the increadibly IO heavy nature of VM's, really fast disk reads is likely important which leads me towards thinking about RAID-0.
  • Similarly because of the compute heavy nature of our software, lots of cores would seem important. We're targeting x86, meaning our software is supposed to never take more than 2GB of space, so if you assume we're running 6 concurrent instances, 6 x 2GB + overhead ~= 16GB of ram should be sufficient, but I'd like at least a 32GB cap.
  • Whatever the solution for the fast disk reads is, redundancy is important also. I want at least a RAID-5 or RAID-1 protecting this system from a drive failure.
  • There is one component of our software the is begging to be re-written in CUDA or OpenCL, so at some point I will likely end up doing that, and when I do the graphics card will become another part of the operation, so I don't want to have a board with that's not capable of having a beefy graphics card in it. Right now however, it looks like graphics-hardware-VM-passthrough is a gongshow. So perhaps this is a 'cross that bridge when we get to it' kind've situation.

10) Do you already have a legit and reusable/transferable OS key/license? If so, what OS? Is it 32bit or 64bit?
Nope, but this is a mess for me and MSDN to deal with.
 
Back
Top