Distributed Testing using TeamCity
I am trying to set up distributed testing using several agent machines. The goal of the test is to have a web server set up on a master computer, then have several agent/client machines which will access the server either via a web browser or via a desktop application. All client machines will access the server at the same time by running the same TestComplete test and while the tests are running we want to check the performance of the server on the master computer.
To understand this better, I was checking the distributed testing section in TestComplete. It says that the "Network Suite" feature is now deprecated and that we should now use a CI/CD system instead for distributed testing. We use TeamCity in our company for CI/CD so I am trying to understand how to setup this workflow via TeamCity. Are there any steps for this? I have used TeamCity before to setup the smoke tests on an agent machine every time there is a new build on TeamCity; but this is different where I need to trigger the same tests at the same time on several agent machines.
Also, can I use a single TestComplete license (for master computer) and run TestExecute on all client machines? Or do I need separate TestComplete license for each client machine because that would make this operation very expensive.
Any other tips are appreciated!
Yes, you can setup distributed testing with TestComplete & TeamCity.
The General Approach is described here : Integration with CI systems .
At a very high level, you would organise your tests into groups of tests/Test Items, using the Execution Plan.
Then, you can either create a batch/shell scripts leveraging the Command Line Interface to execute each test item, or add commands to TeamCity to trigger the execution.
On the agent machines that will run the tests, you don't necessarily need a TestComplete licence, but you would need to at least have TestExecute (our lightweight runner) installed on each agent to run the tests.
Here is a relevant article from the TeamCity community which may help to get you started.
Hope this helps,