UFT – erstwhile QuickTest Professional (QTP) is a software tool used by the testers around the world to automate their functional and regression tests for the applications. This software was initially developed by Mercury Interactive and was later christened as QTP when Hewlett Packard (HP) took over Mercury Interactive in the year 2006. HP Software Division later combined QTP with the HP Service Test to create a single software package, known as Unified Functional Testing (UFT). HP managed the software until its version 11.5. In the year 2016, when Micro Focus bought HP Software Division the product was renamed as ‘Micro Focus Unified Functional Testing’. The currently available stable version of Micro Focus UFT is 14.53 which was released in July 2019.
The Comparison between UFT and Selenium
Testing is an integral part of the Software Development Life Cycle (SDLC). You can learn more about SDLC here. The purpose of the automation testing is to increase the scope and the extent of testing which can improve the quality of the software under consideration. Manual testing which requires extensive resources can be done away with to such an extent that we can even run multiple tests with multiple configurations on the multiple machines, at the same time.
The choice and the selection of the automation tools depend upon your programming skills and know-how. If you are an experienced programmer, you can easily grasp and master the intricacies of QTP/UFT. Micro Focus UFT supports only VBScript as the programming language, so the knowledge of this scripting language is essential for you.
Selenium though primarily was developed with Java as the main programming language, also supports other languages like PHP, PERL, Python, Ruby, and C#. A non-programmer can only work in a limited environment with Selenium IDE with support to only Firefox browser and no conditional or iterative controls. Selenium is widely accepted due to its flexibility to execute test cases across multiple platforms, though it can only access Web Applications and can’t test desktop or mobile applications.
But in general, a person with some programming experience can learn any of these automation frameworks with ease than a non-programmer. Let us dive straight away into the advantages of Selenium over QTP/UFT –
- Cost – Selenium is open-source software that is available free of cost to the users, whereas QTP is a paid software for which the license costs range from a few hundred dollars for a couple of months to a few thousand of dollars for a year. For details on the UFT pricing, you can check this link.
- Extensibility – Selenium is highly extensible software where a tester can make changes or add more functionality to create its own version to achieve high performance. UFT on the other hand a limited set of add-ins that you can install from the software interface.
- Browser Support – Selenium can run tests across different browsers – all major and minor like Safari, Opera, Android, iOS, etc., where-as Micro Focus UFT supports only major browsers – Firefox, Internet Explorer, and Google Chrome.
- Support to Operating Systems – UFT can be executed only on Windows platform or Windows OS where-as Selenium can be run on either – Windows, Linux, Solaris, and Mac OS with the same ease.
- IDE – Selenium can be embedded into different Integrated Development Environment (IDE) like Eclipse, NetBeans or Microsoft Visual Studio .Net, where-as UFT supports built-in IDE only.
- Support for Mobile Devices – Selenium has built-in support for testing functionality on the mobile phones based on different operating systems – Apple iOS, Android, Blackberry, etc. where-as the UFT supports mobile devices with the help of third-party software like HP’s UFT Mobile (also known as MobileCloud for QTP).
- Test Execution – Selenium can execute tests even when the browser is minimized but UFT wants the application being tested to be active on the desktop.
- Parallel Execution – Selenium can execute multiple tests on multiple platforms at the same time. UFT supports parallel execution only with Quality Center (QC) which is available as a commercially licensed product.
- Selenium requires low hardware resources i.e. CPU and memory allocations when executing test cases, whereas the UFT requires highly extensive resources allocation in terms of memory and CPU usage.
Though an open-source software and more flexible than HP’s UFT, Selenium lacks to UFT on these grounds –
- Scope of Applications – UFT supports both Web and Desktop applications for testing whereas Selenium supports only Web Applications.
- Object repository – An object repository is a centralized location and provides an interface between the test script and the application being tested. It stores all the information about the objects in purview. UFT has a built-in Object repository that can be accessed graphically. The Object Repository in Selenium depends upon the framework being used e.g. as properties file in Java.
- Automation speed – UFT enables faster automation than Selenium. UFT got an integrated, fully-featured IDE whereas Selenium depends upon third-party IDEs for this.
- Ease of accessing DOM controls – UFT can access DOM controls within the browser like Address Bar, Back button, etc. easily, whereas slightly tricky in Selenium. It can manage the browser’s visible area with ease.
- Ease for Data-Driven testing – UFT has built-in tables to store local and global scope variables for easy data-driven testing but in Selenium, the ease depends upon the programming language used.
- Ease of exporting Test Data – UFT has built-in features to export test data in various external formats but Selenium lacks this built-in functionality.
- Ease of Parameterization – Parameterization support is present by default in UFT but in Selenium it is achieved with the programming language in use.
- Ease of generating reports – You can generate reports – test results or bug reports, easily in UFT but there is no native support to generate these reports in Selenium.
After going through these comparisons, we can deduce that Selenium has an advantage over UFT when it comes to Cost, Flexibility, and Parallel execution of test cases. The million-dollar question – which Selenium tool to use from the suite? Here we will discuss all Selenium test-suite components for you to narrow down the selection depending upon your requirements –
- Selenium Web Driver – A W3C recommendation, Web Driver is a simple, precise, and compact programming interface which can simulate real user interactions in all common browsers and can automate them easily. Capable of running locally or on the remote machines. It comes handy if you want to test web applications that rely heavily on Ajax.
- Selenium IDE – Selenium IDE is a plugin available for Chrome/Firefox browsers which can easily record and playback tests. It is used to develop end-to-end tests that can be easily implemented in a web application. Provides options for – setting up breakpoints, handling exceptions – for easy debugging. It can also be used for parallel execution of the tests with the help of Command-Line Runner for IDE.
- Selenium Grid – If you intend to execute your tests on multiple machines and different browsers and/or operating systems, you can opt for Selenium Grid. It speeds up the execution and cuts down the total runtime of the automated test script. It’s like a proxy server that allows tests to route instructions to different browser instances, which are located remotely.
With this, we conclude this article and we can say both UFT and Selenium have some pros and cons and the selection depends upon the criteria or the requirements for automating the test cases. Similarly, we can narrow down the Selenium tool depending upon the scope of automated tests in preview. For easy reckoner of Selenium history, you can follow this article on the site.
Jayant Ahuja – passionate about technology…