UFT (QTP) Review
With regularly occurring application releases, any QA team member can execute tests (regression suites) stored in ALM/Quality Center, let the tests run unattended, and then examine the results.

In my ten years of hands-on combined experience using QTP (QuickTest Professional), for at least 8 years, and UFT (Unified Functional Testing), for at least 2 years, I have observed that there has been a lot of confusion among the testing community on what the difference is between the two tools. Therefore, I thought it would be beneficial to clarify what distinguishes UFT from QTP because it is important for the reader to know.

QTP is a functional and regression automation tool originally developed and marketed by Mercury Interactive which HP acquired in 2006. In 2012, HP released UFT (Unified Functional Testing) version 11.5, which combined QuickTest Professional and HP Service Test into a single software package along with newly designed IDE (Integrated Development Environment).

Before UFT, QTP and Service Test were two separate downloads. So essentially, UFT has bundled QTP and Service Test into one package along with several other add-ins. It is also important to note that on February 28, 2015 End of Support Life for QTP 11 was reached which meant that a company had to upgrade to UFT to get technical support and access to patches, documentation, etc.

For clarity, I have pasted screenshots of QTP (Figure 1) and UFT (Figure 2) below.

Figure 1 – QTP 11.xx

Figure 2 – UFT 12.xx

With certainty, the best feature of UFT is its compatibility with so many products, tools and technologies. It is a challenge currently to find a single tool on the market besides UFT that will successfully work for so many projects and environments. For example, UFT supports GUI testing of Oracle, PeopleSoft, PowerBuilder, SAP (v7.20), Siebel, Stingray, Terminal Emulator, Putty, and Windows Objects (particularly Dialog Boxes). Furthermore, UFT has the built-in functionality to import Excel input files.

For Web browsers, UFT 12.54 supports IE9, IE10, IE11, Microsoft Edge, Google Chrome (versions 31.0 to 54.9), Firefox (versions 27.0 to 49.0). Besides GUI testing, UFT supports database testing and API testing (Docker, WSDL, and SOAP).

For the first time ever, HP started to expand the testing capabilities of UFT (QTP) beyond Windows beginning with UFT 12.00. A UFT user can now run tests on Web applications on a Safari browser that is running on a remote Mac computer.

If your concerns go beyond automating tests to providing evidence that specific tests were executed, what the test pass/fail status was, the user who executed it, the date/time of execution, UFT is top notch at providing test results because it has built in reporting features as well as allowing for customized output files showing exactly where a test step failed along with the timestamp. This is especially important for providing evidence that healthcare, insurance, defense, financial services, and mortgage companies might need, especially to furnish proof to auditors.

Note, UFT came out with a feature called InsightObject that has the ability to identify any object by taking an image of the object. Furthermore, by using the GetVisibleText the user has the ability to get the text off of the InsightObject even though it is essentially an image.

The InsightObject feature is so helpful that I thought it was worthy to dedicate a special section with screenshots along with an explanation of how the InsightObject feature works as shown below.

InsightObject Select learn mode feature shown above

After selecting the object that you want to add to the Object Repository, notice how the perimeter surrounds it.

How the InsightObject appears after being added to the Object Repository.

UFT is on top of the AUT (Application Under Test). Notice the small image in the code of UFT that represents lower left image with text "70 microns."

The actual VBScript Code is pasted below. Note how after the code was executed the text "70 microns" was extracted from image as shown from Print Log.

Browser("Space Images | Circumstellar").InsightObject("InsightObject70_microns").Hover
strGetVisibleText = trim
(Browser("Space Images | Circumstellar").InsightObject("InsightObject70_microns").GetVisibleText())

print "strGetVisibleText = " & strGetVisibleText

Print Log

strGetVisibleText = 70 microns


UFT has improved our organization because when we have regularly occurring releases of an application, we can have any QA team member execute a set of tests (i.e. regression suite) stored in ALM/Quality Center, let the tests run unattended and then examine the results after test completion. We are also able to determine if any of the Web page links are broken by using an instance of MSXML2.XmlHttp. We have a script that does this by retrieving all the links on a page and then reporting the Status for each link. For example, if the Status returned is 404 we know that the link is broken.

Sometimes it appears that UFT takes a while to open and sometimes will run slower than expected. Also, UFT uses a lot of memory. On this note, if you are running UFT on a virtual server I would add more RAM memory than the minimum requirements especially when using multiple add-ins. HP is pretty good about coming out with new patches to fix known issues and it pays for the user to check for new patches and updates on a regular basis.

When considering UFT for your organization, I would first evaluate how large your QA department is and if you will have a business need to automate your functional and regression tests. HP recently extended the demo license period from 30 days to 60 days which was a very wise and popular decision to give potential customers more time to install it and try it for free. Even if your company has a salesperson come in and demo UFT, I would highly encourage at least one of your developers or automation engineers to download and install it to explore for themselves the functionality and features included during the demo trial period. If your IT Organization can afford it, I would encourage the company to buy both ALM/Quality Center and UFT. The reason being that UFT is very compatible with ALM/Quality Center in several ways. First, the user is able to store the test results in ALM/Quality Center. Second, ALM/QC has a built in scheduler that can launch a suite of regression tests initiated by the user scheduling a particular date/time to run. 

If your company is going to invest in UFT, I would encourage the company to do their due-diligence in making sure that they hire an Automation Engineer well experienced with the HP tools. This person must be very good at writing VBScript and knowing all of the advanced tips and tricks in getting UFT scripts developed so they will run without stopping unexpectedly. The QA Automation Engineer must be able to write functions from scratch and know the difference between passing a parameter by Value and by Reference.

I would also encourage the company to use a Citrix Server for UFT to be installed on. The reason for this is that it is much easier to maintain the Citrix environment with respect to patches, Browser versions, etc., versus every user having to make sure their laptop or PC is up to date with patches. Also, Citrix can have multiple sessions and be accessed remotely.

Review for UFT 14.00 added here.

In January 2017, HPE released UFT 14.00, and is the latest version to date. The previous version was UFT 12.54, and HPE omitted using number 13 as a version. The most probable reason for not using version 13 is that the number 13 is still perceived by some as a superstitious number.

New Name Changes in UFT 14.00

The new UFT brand includes UFT Ultimate, UFT Enterprise, and UFT Pro (formerly LeanFT). The following are the new License names and the associated products included with them.

Test Combinations Generator

When developing automated test scripts, getting data can be time consuming because almost every company uses data indigenous to its propriety systems. Furthermore, to develop an effective automated script, you need data for both positive test cases, and just as importantly, data that will throw an exception or error (i.e. negative path) so you can build exception handling into your script to prevent it from stopping unexpectedly. The Test Combinations Generator makes this task significantly easier by utilizing a Regular Expression to generate the type of data you want including the specified format. For example, you can now quickly generate dates, URLs, passwords, confirmation numbers, shipping numbers, etc., that would be time consuming to do manually. The data created for a positive test case is labeled “HAPPY PATH” and the data for a negative test case is labeled “ERROR PATH.” Also, this feature can be used to help the whole QA team because you can generate data for the manual testers as well which helps free-up their time that they otherwise would be using to get data. My key take-away of the Test Combinations Generator is that is lowers Opportunity Costs for the whole QA team. By this I mean that the time and cost previously used to generate data is now minimized, so the QA team now has more time to focus on testing versus having to generate data.

Significant Changes

In my opinion UFT Pro is the tool that has the most significant enhancements. With the rising popularity of Selenium, HPE did a good job of making changes and came out with UFT Pro for Selenium. This tool includes a Java Library that extends the WebDriver API and also has additional locators and utilities. UFT Pro also has an Object Identification Center that helps speed up the time to develop a test.

Another significant change is that UFT Pro (i.e. LeanFT) is now supported on a Mac OS and Linux, in addition to Windows. Furthermore, it supports the latest versions of Firefox and Chrome, which was expected.


On September 1, 2017 the HPE testing tools officially became Micro Focus. It is too early to see how the transition to Micro Focus will change things. I am keeping an optimistic view that Micro Focus will continue to invest in R&D and place a priority on customer support. I believe a lot of long-time customers would like to see things run like they were back in the Mercury Interactive days, which was one of the most innovative software companies of its time. If Micro Focus develops the right strategy, they could become the dominant player in the software testing market.


Author’s comments added 6/07/2016: Here are some interesting actual business cases at companies I worked at where automation (i.e. QTP/UFT) has been used to add productivity other than in a QA capacity.

1)   QTP/UFT can be used to send large volumes of emails to intended customers along with attachments. At a previous company we actually used QTP to automate this process that took an Excel input file with a field for Customer Name, email address, the text verbiage for the body of the email, and an indicator for which specific documents to attach and send using Outlook. We placed the documents in specific directories to be uploaded depending on the indicator in the input file. This automated process was very efficient and time-saving by sending out a large volume of emails with respective attachments with minimal problems. Eventhough at the time QTP was being used, UFT has the same functionality to execute the same process.

2)   At a previous health care company where I worked, when one of the clinical legacy systems was being decommissioned in place of a newer system, we were able to use an automated script to take the data from the legacy system and enter it into the respective fields of the newer system through the GUI (Graphical User Interface). This entailed downloading the data from the legacy system and importing the data into 12 separate Excel input files and running on multiple computers. This is an example of an unconventional but cost effective use of a QA automation tool.

3)   At a mortgage company that I worked at where previously a person or persons would have had to manually enter data into several fields while navigating through several screens, we were very successful in fully automating this process including logic and the specific values to enter into specific fields based on the conditions. For example, if one pre-populated field had a certain code, the script would use logic to programmatically enter the corresponding data into other fields. This saved the company time and resources by not having to hire people to enter the data manually. This one automated process saved the department sixty hours per week or 3,000 man hours per year.

Author’s comments added 12/26/2016: I originally wrote this product review for UFT 12.02. I updated this product review for UFT 12.54 to make the product review current along with the updated versions of technologies UFT 12.54 is compatible with.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
11 visitors found this review helpful


What a great wealth of information. I assume these tools work with all SAP applications too. Thank you for this article.

Like (1)12 October 15

Yes, UFT has a SAP add-in that allows it to interact with SAP (UI) User Interface and identify SAP objects as well.

Like (0)12 October 15
it_user326586Real User

I am an electrical engineer and was wondering how I could learn more about this software tool based on my experience with C++ and Visual Basic?

Like (1)12 October 15

You can do a search on YouTube for HP UFT and there are many videos that demonsrate how UFT works and how to test an application. Furthermore, you can go to HP's website and download UFT onto your computer and have access to UFT for 30 days. This is a good way to learn the basic functionaliy of UFT and build a basic automated script. I hope that this helps answer your question.

Like (1)21 October 15

Great advice in using a Citrix Server. Another advantage is that with Jenkins in the mix you can check out code changes via a tool like Subversion (SVN). You can be sure the latest automation code is always deployed before running tests.

Like (1)02 January 16
it_user373656Real User

This is an excellent, practical article comparing and contrasting QTP and UFT.

Like (1)20 January 16

Stephen, thank you for your assessment of my product review article. Just to reiterate, UFT is the successor to QTP and has very similar core functionality except that UFT has bundled packages and several add-ins into one product. Furthermore, UFT has the new InsightObject feature which QTP did not.
Thanks for reviewing,

Like (0)20 January 16

Thanks Don - great article.

Like (1)24 January 16

Thanks. It would help me if I knew what industry you are in and if/how you found it helpful.

Like (0)24 January 16

I wanted to add a comment on my review. UFT has the functionality to have more than one test open at a time which is a big improvement because it allows the developer to copy and paste code from one test to another. With QTP you could have only one test open at a time.

Like (0)04 March 16

Image based identification is a savior when some objects do not return any property at all. And GetVisibletext is really cool.

Like (2)09 March 16

I would like to know more about finding broken links using MSXML2.XmlHttp

Like (1)09 March 16

Swaropp, please send me your email through "Ask a question" and I will email you the code for finding broken links using MSXML2.XmlHttp. This site is also to help fellow users in the IT community.

Like (0)11 March 16

I sent you a message through contact user. Please email me after you get the message and I will email you the code for finding broken links using MSXML2.XmlHttp.

Like (0)15 March 16
Raymond RivasReal User

Don - Your years of experience come through in the insightful tips that you gave in this review. This is a "must read" for anyone new to HP-UFT or those who wish to get acquainted with the latest tips to successfully implement the product in their environment.

Like (2)02 May 16

Thank you for the constructive comments. If you notice, I devoted a specific section to the Insight Object feature that became available with the release of UFT. The reason I specifically devoted a section to the Insight Object (with screen shots) is that it allows the UFT developer to recognize objects if you run into a situation where using Object Repository is an extreme challenge for object recognition. When we upgraded from QTP to UFT we were able to completely automate an application by using the Insight Object feature that we were previously unsuccessful automating with QTP.

Like (1)03 May 16

Thanks Don, very informative article. I would like to know more about broken link, could you please help me with the code?

Like (1)07 July 16

Mena, please send me your email through "Contact User" and I will email you the code to find broken links that you can use with UFT.

Like (0)09 July 16

Great article, great examples .. just a very substantial post. If HP worked on the licensing cost a bit more, maybe they can get more of this tool to more hands and thus be about volume. For now, the limited number of people that can afford it swear by it. I'm not sure what the latest license costs are but as of last year at this time, it was about the same for a single seat at a certain configuration.

Like (1)04 August 16

Frederick, thank you for your comment and I understand your concern. UFT is kind of like a Swiss Army knife in that it is designed to work with so many different technologies which has an associated cost. Open Source tools are popular however some of them have limitations on the number of technologies they work with. It all depends on the customer's needs regarding the tool they choose.

Like (1)27 December 16

When downloading and installing UFT trial version for 60 days, make sure that when you get to the step with "License Warning" that you click "Continue." Do not click on "Install License."

Like (1)09 January 17

I really enjoyed reading your article and examples on the differences between UFT and QTP. I remember when you first starting learning and working with QTP and now you are a true expert with outstanding knowledge and experience. Very impressed!

Like (2)09 January 17

Thank you for your comment and remembering. Yes, I was going from WinRunner to QTP at the time and now the latest is UFT 12.54.

Like (1)09 January 17

I updated my review to reflect the most significant changes to UFT 14.00 that was released in January 2017.

Like (0)08 July 17
John NguyenReal UserTOP 20

cool review.
Thanks Don!

Like (1)17 October 17

I am glad you liked my review. Just a suggestion for improvement, it would help to know what areas you found useful and anything I could do to improve on.

Like (0)19 October 17

You are a beast Don!

Like (0)19 October 17
Why do you like it?

Sign Up with Email