Based on your network you may run into test run failures associated with the agent/controller communication. This primarily happens due to network latency, high data transfer between controller & agent or high cpu utilization on the agent. In such cases you can tweak some of the timeouts to improve the resiliency of the system

Increase the timeout setting for Agent timeout:

[Controller machine] In QTController.exe.config: <drive letter:>\Program Files (x86)\Microsoft Visual Studio <Visual Studio Version>\Common7\IDE\.

    <add key="AgentConnectionTimeoutInSeconds" value="120"/>

    <add key=" AgentConnectionTimeoutInSeconds" value="120"/>

    <add key="AgentSyncTimeoutInSeconds " value="300"/>

Increase the value to triple.

[Agent machine] In QTAgentService.exe.config <drive letter:>\Program Files (x86)\Microsoft Visual Studio <Visual Studio Version>\Common7\IDE

                    Set ControllerConnectionPeriodInSeconds to 90 (making this 3 times too).

Restart the services.

Apart from this increasing the bucket size will help reducing communication too.