Test automation tools for WinForms desktop applications

For a client in the financial services sector, I recently had to identify some candidate products for use in automating the testing their WinForms and VC++/MFC Windows desktop applications. The applications are used for trading financial instruments, so correct operation is absolutely essential.

UPDATE: this 2019 post from Joe Colantonio has a newer list of testing tools for Windows Desktop apps. WinAppDriver, Winium, and White Framework seem to be the best options.

Drop Test by Christoph Bauer - http://www.flickr.com/photos/h34dy/
After a bit of investigation and digging round in the more murky reaches of my memory, I came up with the following list of  test automation tools for Windows desktop  applications:
  1. White (built atop the Microsoft UIAutomation library – free ($0): http://white.codeplex.com/ but roll your own test harness. This is a ThoughtWorks project, so pretty high quality. Some usage examples here: http://blog.benhall.me.uk/2008/02/project-white-automated-ui-testing.html
  2. Test Automation FXhttp://www.testautomationfx.com/ – free ($0) and commercial versions (~ $300)
  3. TestCompletehttp://smartbear.com/products/qa-tools/automated-testing/ – between $1000 and $4500 per license
  4. HP Quick Test Pro (QTP): http://www8.hp.com/uk/en/software/software-product.html?compURI=tcm:183-936981 – $$$ but does web testing also.

Since it’s been several years since I built any serious systems using WinForms or VC++/MFC, I cannot really comment on the effectiveness of any of these, but  an ex-colleague of mine tells me that although TestComplete is okay (and good value for money), it has its problems: poor product support, and apparently it intermittently does “weird things” like “stuff just randomly stops working” (never a good sign).

It seems like using the Microsoft UIAutomation library (as White does) is the best bet at the moment; it’ll be interesting to see what comes out as WinRT becomes more adopted, as WinRT avoid many of the problems of the existing Win32 API, and therefore automating desktop applications should (I hope) become simpler and less error-prone (the current Window message-queue implementation is pretty long in the tooth).

7 thoughts on “Test automation tools for WinForms desktop applications

  1. Hi , Does white support automation of oracle applications? ( Desktop ) if yes can you please provide some documentation links

  2. Thank you Matthew. I will install windows SDK and will test performance of desktop applications.

  3. I would recommend ZAPTEST. It’s a good alternative to UFT. With true visual object recognition technology you can test any GUI-based application on any platform, not just Windows. Great for beginners as it’s easy to use. Enterprise testing oriented, but also has free version. (www.zaptest.com)

Leave a Reply to Matthew Skelton (@matthewpskelton) Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.