I am finding TestComplete (version 12.50) to be very resource hungry on my PC
The spec of my PC is good:
i5-7300U CPU @ 2.60 Ghz
32 Gb RAM
Windows 10 Pro 64 bit
I am finding that even simple operations like switching between projects results in around 50% CPU usage, so TestComplete is not being a very good neighbour to all the other applications I am running - I guess the idea is that you have to kill-off all of the other applications you are running if you want to use TestComplete. I am finding that this is harping back the 20th Century where you were only able to run one application at a time, such as on the oriiginal Macintosh OS 6 and 7, where you only had a single 'finder' before the 'MultiFinder' came along...
Why is this so?
What programming language is TestComplete written-in? Is a poor choice of old programming language resulting in TestComplete running very slowly?
On my work colleagues' machines, TestComplete has crashed a lot, and things like cloning projects seem to sometimes not copy all files correctly in their case...
Is version 14 of TestComplete any better - our license comes up for renewal within the next 2 months and I am wondering whether we should:
a) upgrade to version 14?
b) upgrade to version 12.60 - I had issues with code not working the same with 12.60 so downgraded back to 12.50)
c) find an open-source alternative which will cost us absolutely nothing once our existing license expires in 2 months?
Not negating your experience.... something is obviously going wrong.
However, I have a machine that has considerably less RAM... and I'm not having that problem. We have VM's that we use as our development environments that don't have that issue and they have less resource even than my machine. So, I suspect that he problem is not necessarily SPECIFICALLY with TestComplete but some combination of configuration settings and environment.
Since you're running on Windows 10, there's a setting that MIGHT help.
Go to Tools -> Options -> Engines -> General. There is a setting that says "Enable support for testing Windows Store applications". TestComplete, with that option checked, operates a bit differently against Windows 8 and Windows 10 operating systems. I've seen major improvements in performance with turning that option off.
Another thing to check is under Tools -> Current Project Properties -> Open Applications -> UI Automation. There is a check box beside a straight "*" option. If that's checked, that will slow down object recognition and other performance factors of TestComplete.
Also under Current Project Properties -> Open Applications -> Process Filter, you can instruct TestComplete to only interact and recognize certain system processes. By default, TestComplete's object browser lists and interacts with EVERYTHING running in the OS. You can set this to only treat certain applications as Open applications which may improve TC performance as well.
There could be any number of other factors that are causing TestComplete to consume such high amounts of CPU on switching projects or performing tasks. Again... your experience is not being discounted, but there are quite a number of users here who have been using TC versions for a long time (I've been using it for over 16 years across various versions) and your performance problems have not been our experience. So... again, means that there's something unique you're dealing with.
There are ways of determining what's going on. There's a utility that comes installed with TestComplete called "ReportGenerator" which basically does a profiling against applications, including TestComplete, to see what might be going on. If you utilize ReportGenerate and create a report file, you can send that off to the SmartBear support team and they can evaluate and let you know what might be going on.
Obviously... it's all your choice. Do what you feel you need to. But I think you may be jumping the gun a bit "threatening" to drop the tool until the problem has been fully evaluated.
Why automate? I do automated testing because there's only so much a human being can do and remain healthy. Sleep is a requirement. So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group. I love good food, good books, good friends, and good fun.