Learn to use Visual Studio, Visual Studio Online, Application Insights and Team
Foundation Server to decrease rework, increase transparency into your application and increase the rate at which
you can ship high quality software throughout the application lifecycle
We have recently seen a surge in the number of users trying out the TC TA based testing on Azure. Since this product has a long history which predates Azure, or any other cloud service for that matter, there are some additional not-so-obvious steps needed to get the setup up and running on Azure. In this post I will list all the required steps in detail.
Starting TFS 2015 RC2, we have provided a new and better way to do remote testing : http://blogs.msdn.com/b/allendm/archive/2015/07/20/remote-test-execution-using-team-foundation-server-2015-rc2-and-beyond.aspx.
A typical setup on Azure will host some of the components like TestController, TestAgents, TFS on Azure, while the rest of them like VS/MTM Client will be hosted On-premise. While doing this, there are a few pre-reqs that are required to be done for various components to talk to each other. Once you do the needful to enable all communication channels, everything else works as-is.
Note that similar steps can be followed if the configuration is different than the one discussed. (like when Client is also on Azure, or TC is present On-premise)
Connecting Azure with On-Prem:
Hope this helps those of you wanting to move your test infrastructure to Azure Cloud.
Note that if you are doing load testing in the cloud using the test infrastructure, we strongly recommend you to use Load Testing in Cloud with Visual Studio Online
(Editor’s Note from Charles Sterling)
A couple of additional things to check:
1. Make sure and check out the article: http://social.msdn.microsoft.com/Forums/en-US/df043823-ffcf-46a4-9e47-1c4b8854ca13/troubleshooting-guide-for-visual-studio-test-controller-and-agent?forum=vststest
2. Often when you go through this process you will be using shadow accounts. Important note: MAKE SURE YOUR SHADOW ACCOUNTS NOT JUST HAVE MACHINE ACCESS BUT ALSO MATCH A TFS ACCOUNT.
3. In many cases your IPSEC policies will block the use of Shadow accounts. Make sure you get a machine exemption….Inside of Microsoft these servers are obtained by requesting a “boundary server” account from our Ops folks
4. The specific ports needed to be opened:
I'm glad you wrote this as I'm looking into testing using Azure VMs. What you be your recommendation for topology if TFS, VS and MTM client are on premise so only test agents and possibly controllers are deployed in Azure? Essentially, the only decision point is where to put the controllers. I've heard that distributed testing with controllers on premise can be unreliable. What are the trade-offs running controllers on premise vs controllers on Azure?
If you want to optimize on test execution's performance, you need to keep the build drop location, test controller and test agents close to each other. For your case, my best suggestion would be to keep controller on azure. However if build is also on azure, the execution should be the fastest.
thanks Ajay for the valuable information!!
For Automated Testing Windows Application, Is it possible to host TFS, TestController, Test agent etc., on a single azure machine. I am just evaluating build-deploy-test scenario. The automation should build, deploy in the same system and run the tests in the same system.
Thank you Ajay!!!! Great guide, was extremely useful.