NCrunch has a fantastic feature called distributed processing.
Frankly saying, that's the only reason we use NCrunch right now.
We have about 700 regression/integration tests which are run against 3 different environments. NCrunch helps a lot drastically reducing the amount of time to run tests.
Nevertheless, we have a few questions about distributed processing list recommended practises.
1) How to manage huge lists of the servers?
Lets talks about 15-25 nodes in the distributed processing server list.
Batch adding/editing, sharing the credentials between nodes are so much pain and time waste.
2) What's the best way to get some kind of grouping over the server list?
For instance, 5-7 VMs are WinXP, and then 5-7 are on Win7, then same-same Win8.
The case is to enable/disable all WinXP nodes, run tests, then enable Win7 nodes, run tests, then enable Win8 nodes, run tests.
That's kinda pain. So would be nice to have an ability to group/sort/enable-disable nodes in a batch mode, by tags for instance.
Or have some kind of "different lists, like server list A, list B, list C so that we can run tests against a particular list of nodes.
3) How to port (export/import/save) the server list across team, project?
So fat the list seems to be shared across everything, and lives only on the current machine or something.
We struggle to share that list across dev VMs - sometimes a single person develops on a few VMs due to environment configuration / troubleshooting.
Hard to port thet list across, so how to manage it? How to save/load/import/export server list?
4) How to create server node list manually or make some kind of integration?
Having Excel is much better option to manage that list, but even that is not great.
Out case is that we use zure client libraries to manage VMs (grid nodes). Before running the tests we warm up Azure VMs, ensuring that the Vms are up and running. Then we compose the "list" of the VMs that are up and running, and then ideally we would like to feed that list (we generated the list of the nodes) to NCrunch.
We are absolutely happy to compose the XML file or whatever it is so that NCrunch would pick it up.
Just looking in the right way to do that.
Why do we do that? Cause we can't have a "static" list of the Azure VMs. That's matter of having "clean" regression environment, sometimes we clean all the VMs and create them from scratch ensuring that all the VMs are clean and the regression testing goes well.
Hope that is not something NCrunch can't do. Happy to see the options and understand what can we do to get these things automated.
Thanks!