TestComplete for Desktop application
Updated December 10, 2021

TestComplete for Desktop application

Anonymous | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User

Overall Satisfaction with TestComplete

Used for UI testing of our desktop application. Really helpful to check for regression in the hundreds of small features it has, especially when a Unit Test isn't possible, because a lot of GUI logic is needed before launching the business logic. It is also great to know that each window, tab, and popup was checked before release, especially when the test users mainly focus on the new feature of the software.
  • Repetitive mundane sequence of UI actions
  • Checking UI object's properties
  • Taking a lot of my time
  • Name mapping is hard to edit: when the hierarchy or the identifiers properties are wrong, it can be quite painful and time-consuming to correct. Especially when it is not clear which item wrongly matches. A tool to correct such items in name mapping would be useful.
  • TestComplete isn't multi user friendly, especially when using source control. Even if each user works on different tests, correcting the name mapping file only generates havoc on merge.
  • KeywordTests' UX is awful: for some items, editing parameters can be done in two clicks, for others we need to click several times to display the edit button, which would be hidden by the tooltip, and then click blindly on this button.
  • And then some properties can be modified in their text boxes, but other need to display the variable editor to be able to change anything.
  • Region Checkpoint is mostly useless: such checkpoint would be great for verifying generated images, but then anti-aliasing will never be the same on different rendering and the checkpoint will fail. Increasing the error tolerance will then not detect real issues.
  • We have redone the checkpoint by using perceptualdiff (https://github.com/myint/perceptualdiff ) and using only the Region Checkpoint feature to save the reference image (and mask). We also added the possibility to change of reference image, as testing on different graphic cards will give other subtle changes (AMD vs Nvidia).
  • TestExecute is too much limited. We needed to write a tool to deploy our software on the test machine, and then change the TC project file to include or not some test. As some tests are quite flaky, we needed a redo of these, so we only select (automatically) the failed tests for doing another run.
  • Exception in the test should always mark it failed, and not just discard it as it happens now in some cases.
  • We needed a color checkpoint to check the display of some status indicators. Quite strange that it was missing in TC.
  • Validation before release to catch any regression
  • Time consuming to create and maintain the tests
  • For complex applications, it should still require less time than manually [testing] every features in all possible cases
We used before the Coded UI Tests which are in Visual Studio / Azure DevOps, and the tests were impossible to maintain and very very flaky. Then in 2015, we selected TestComplete, as it was clearly the tool with the most feature for desktop UI testing. Selenium was directly discarded as it couldn't test desktop applications. We recently become aware of Ranorex Studio, the feature set seems similar to TestComplete. But with all the time invested in the tests made for TestComplete, a tool switch makes no [sense].

Do you think TestComplete delivers good value for the price?

Yes

Are you happy with TestComplete's feature set?

No

Did TestComplete live up to sales and marketing promises?

No

Did implementation of TestComplete go as expected?

No

Would you buy TestComplete again?

Yes

For UI testing of desktop applications, it does its job: it seems better than concurrent tools. It will automatize most of the UI tests, and allow to catch most regressions and even detect some real bugs. But it isn't free: a lot of time is needed to create all the tests, then these should be updated for each new release of the tested application (especially if the GUI changed). And more time to have a real automatic testing solution, as TestComplete and TestExecute don't have any feature for deploying the tested application.

Using TestComplete

3 - Software engineers. Creating and maintaining the tests requests a good knowledge of the internal working of the tested application. And scripting and tools developing is mandatory to bypass the missing features of TestComplete.
3 - Software engineers. We needed to develop several add-on tools to really automatize the tests.
Programming skill is also needed for custom checkpoints (check values in complex databases after UI actions...).
For creating new UI tests, we often need to change the tested software UI (adding ID to recognize correctly the controls...). A good understanding of how some controls work is also mandatory (like for Telerik WPF RadTabControl). Otherwise, the name mapping would be wrong, and only some views could be correctly tested.

TestComplete Support

Some bugs were quickly resolved, but most UX quirks of the tool are just marked "as designed".
No follow up for enhancement request.
ProsCons
Kept well informed
Quick Initial Response
Slow Resolution
Poor followup
Problems left unsolved
No premium support offered.
Yes - When they identify as a bug, it is quickly resolved.

Using TestComplete

It is usable when you become accustomed to its quirks. Not using it for two months and then you need to re-learn the quirks for some features (but some quirks are so awful that they will never fade from your memory).
So, when using it regularly, it is possible to be quite productive, if no big correction in name mapping is needed.
ProsCons
Consistent
Feel confident using
Do not like to use
Unnecessarily complex
Difficult to use
Not well integrated
Slow to learn
Cumbersome
Lots to learn
  • Keyword test recording
  • Adding checkpoint
  • Playing the test
  • Correcting name mapping
  • Editing parameters in keyword tests
  • Updating region checkpoints