* Each of our six test hosts can test all products
* A test host cannot test two products at the same time
* Tests of one product should be distributed to up to four test hosts, if available.
* Test hosts are retrieving test cases dynamically from a central database during the test run. Therefor alle test hosts which are testing the same product are finished nearly at the same time.
* Total testing of different products takes different times
My question is: How can I control test host usage in the following situation?
Product A is currently tested on four test hosts. Now product B should be tested. There are two test host available. But tests of Product B might be finished in 1 minute.
Idea 1:
I start the Parallel Composition with the available two test hosts. Can I then dynamically add additional test steps to a Parallel Composition while its running, to add more test hosts when they become available?
Idea 2:
I add four test hosts to the Parallel Composition even if some of them are currently not available. But used test hosts might not be finished with their tests of product A before the available test hosts are finished with testing product B. Then the Parallel Composition has to wait until product A is tested before the next steps can be performed. Is there a way to remove parallel steps which did not start yet (since the required resource is not available) with a script?
Do you have an idea how I can handle this reqirements with QuickBuild?