When we are talking about test automation, we automatically think about the tools, which are available to ease the testing task. These tools can be categorized under two major categories – freeware and licensed tools. The freeware tools are the open source tools available free of cost over the internet. The reliability of such tools is pretty less. However, when we talk about licensed tools, these tools are paid tools which have licensed versions. If you want to use these tools, then you have to pay the price for the license.
Here, in this article, we are going to discuss about two major GUI functional testing tools – Selenium, which is an open source tool and HP UFT (QTP), which is a commercial tool that needs a license. Let us discuss both of them in detail and look at their differences.
It is very important to choose the correct test automation tool that best suits your overall requirements. For doing the same, we first need to understand how many repetitive tasks your project has and how many rounds of testing needs to be performed. Two tools have reached on the top in terms of their performance and output in this scenario, which are, HP UFT and Selenium. Let us look at a brief background and the features of these tools.
Test Automation is done to save the cost of software development process. But the tools can add up to the cost. HP UFT is a paid tool, where as the license is bought for each user. Selenium, on contrary, is a free tool and can be downloaded anytime.
For HP UFT, the scripts can be developed in QTP/ UFT IDE only whereas in selenium, we have a wider range of IDEs like Visual Studio, Eclipse, Netbeans to create scripts.
HP UFT can only be used in Windows environment and requires Google Chrome, IE or Firefox as the browser. Along with the same, it also supports different environments like SAP, Oracle, .NET but the user needs to purchase add-on license for them. However, Selenium can be used on Linux, Windows, Solaris, OS X. The support for mobile applications is also available in HP UFT using MobileCloud. However, Selenium provides support for Android , iPhone & iPad, Blackberry and Headless WebKit.
Selenium is used for testing only web application. However, HP UFT is used for testing client-server applications, desktop as well as web applications.
HP UFT comes with the built-in object repository and the Object repository development and maintenance is quite easy in the same. The inbuilt Object Repository stores Element Id and multiple attributes to identify objects that gives flexibility on deviation acceptance in control recognition.
However, Selenium does not have such built-in object repository, but the objects can be managed by using UI element user extension. The objects are identified using UI Maps and different object location strategy such as -XPath Element ID or attribute DOM.
HP UFT provides very good technical support and there are various forums, which can help in technical issues. In comparison, Selenium does not provide any technical support, but the queries can be searched through various online forums and open source community. HP UFT also keeps on releasing new versions and patches for the in-built bugs in the software.
The interactive and customized reports can be created using HP ALM / Quality Center reports module. Very less technical knowledge is required for scripting and generating customized reports. In the case of Selenium, the script developer needs very good knowledge along with technical capabilities of integrating different pieces of the framework. For reporting, Selenium integrates with Jenkins and can give good reporting and dashboard capabilities.
After discussing all these features, we can conclude that the difference between HP UFT and open-source Selenium is similar to buying a branded dress and stitching a dress on your own. A branded dress has its own cost and brand image attached to it whereas, in self-created dress, you need to take care of everything on your own, from finishing to final touch. Similarly, HP UFT has its own advantages being a branded software. HP keeps on adding new features and has done multiple tests before releasing the same. However, in the case of open-source software, we do have few limitations from the same perspective.
Therefore, if you are planning to test a web application with immediate test automation within low cost, then Selenium is a good answer. However, if your project requirement requires a long-term support of automation tool and requires supporting desktop, web, and mobile application, then HP UFT will be a good choice. HP UFT also provides backword compatibility, which helps in executing the code written 5 years back. Finally, the choice of the tool to be used for functional automation largely depends upon the requirements of the testing project.