What are features of MS Visual Studio Coded UI Test framework comparing to other tools?
I've recently started working at an organization that has no automated testing in place. They are migrating to Team Foundation Server for project management and source control, and use Visual Studio for development of their web and windows projects. Because of this, I'm seriously considering Visual Studio Coded UI Tests for automated regression. Since this is a relatively new product, I haven't been able to find much information on the limitations of Coded UI Tests. What are the major limitations of the VS Coded UI Test approach? Particularly, in what ways are Visual Studio Coded UI Tests more (or less) effective than the more traditional scripted GUI automation tools like TestComplete, QTP, Selenium and so forth?
To start let me be completely transparent and state that I do work at Microsoft. However, in my role I nor my team uses Coded UI, but I do teach the basics of coded UI in some of my classes. Rather than comparing the features of each tool set I would recommend including other factors in your decision such as: As a general rule of thumb we try to minimize abstraction layers between test code and product code. For example, my team primarily tests APIs written in C++ and our test code is in C++. We do use C# in cases where we have UI or WinRT APIs. Use a language your developers are familiar with. Our developers code review test code and run our tests to help debug issues. Integration with existing tools. It sounds like your team is already using TFS and Visual Studio, and using the test tools within Visual Studio enables a more seamless Continuous Integration cycle. Compatibility. While Selenium would work fine for your web based projects, it is not an option for your windows projects. Coded UI (and C#) can be used to test both. It sounds like QTP can also be used to test both Web and windows projects, but is built on VBScript which has its own limitations compared to C#. Consider support. Selenium seems to have really good support, as does the C# community. The Coded UI support is available, and I would be more than happy to put you in contact wtih some folks if this is the direction you decide to go and have questions. Extensibility. The ability to extend your tests and your test's capabilities using home built wrappers, P/Invoking Win32 APIs, or the new WinRT api's. There are certainly other long term and short term costs to consider (immediate training costs, etc). But, in a nut shell, I would recommend not just comparing the benefits and limitations of specific features in existing tool-sets. I would recommend expanding to also consider other environmental factors that will increase efficiency in your whole team and the overall business.