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
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. 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.
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.
New changes for UFT 14.03
Screenshot of UFT 14.03 IDE (Integrated Development Environment)
New Object Spy functionality allows UFT's Object Spy to compare two objects.
Suppose we want to compare properties of "MARS" and "EARTH"
Now we can use the Spy Comparison Tool to get properties of both objects and compare at the same time as shown below.
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.
Author's comments: This review has been updated to include UFT 14.03