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.

- 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
- Test Automation FX: http://www.testautomationfx.com/ – free ($0) and commercial versions (~ $300)
- TestComplete: http://smartbear.com/products/qa-tools/automated-testing/ – between $1000 and $4500 per license
- 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).
Hi , Does white support automation of oracle applications? ( Desktop ) if yes can you please provide some documentation links
Hi Sandeep, it seems that TestStack has taken over the development of White: https://github.com/TestStack/White. What do you mean by ‘Oracle applications’? If the applications are built in one of the supported frameworks (Win32, WinForms, WPF, Silverlight and SWT) then I would imagine that White will be able to drive them.
Matthew
Can you please suggest automation tool to test performance of windows applications.
Hi Gita. You could start here: https://developer.microsoft.com/en-us/windows/desktop/test-deploy/tools
Thank you Matthew. I will install windows SDK and will test performance of desktop applications.
As for UFT: I do NOT recommend it. This is just terrible tool
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)