Which Automation Tool is Best: QTP vs. Selenium

Automation tools like Selenium and QTP enable developers and testers to computerize the entire process of testing in the software development life cycle. The objective of this article is to analyze the features that efficiently and quickly automate the QA process for testing software products. However, what are QTP and Selenium, and what are their features, advantages, and disadvantages?

QuickTest Professional (QTP), also known as Uniform Functional Testing (UFT), helps deliver quality software at the speed a business requires. QTP supports actual end user simulation. When the test is conducted using this tool, it will replicate the user’s actions. However, the tool will not be able to replicate this behavior when the browser is minimized. QTP scripts are equivalent to a person performing those steps manually on the application. Selenium does not support actual end user simulation, as it modifies the DOM structure of the HTML page to perform actions on the page. Selenium executes JavaScript on UI object within the Web page to perform actions such as click, type, and select. Hence, you can execute Selenium scripts even when the browser is minimized.

The following table compares the features of QTP and Selenium. This analysis will show that both tools have benefits for specific situations.

table 1table 2table 3table 4table 5table 6table 7

The above table clearly describes differences between QTP and Selenium. When determining which of these tools to use, ask yourself the following questions:

  • Is the application Web-based, Windows-based, on a Unix platform, or Main Frame?
  • Are the employees highly technical, do they have background and sound knowledge of testing, and are they technically savvy? Do the employees require further training?

If the application is Web-based on Unix or a Windows platform, and employees have sound technical knowledge of Java and Selenium, one should use Selenium. If the employees have sound IT knowledge, but they do not have experience in Web-based development, Java, and/or Selenium, one should train existing employees and hire an interim lead who can support existing employees until they achieve competency. We suggest this method because there are many benefits of retraining the existing workforce. If the application is Main Frame QTP is the only solution, as Selenium only supports Web-based applications.

The following facts are provided for further consideration in determining which automation platform to choose:

  • QTP is the only solution for automation on a Main Frame system.
  • To use QTP you need Terminal Emulator.
  • Terminal Emulators (TE) are add-ins that allow users to use a Terminal Emulator to access and automate Mainframe Applications.
  • The Terminal Emulator needs to be present on every client machine.
  • QTP and Terminal Emulator Add-in are expensive.

QTP and Terminal Emulators work well together. With QTP, applications run on the mainframe and clients access the mainframe through a terminal emulator. The terminal emulator is the only software that needs to sit on the client machine. Changes to the software (COBOL, JCL, etc.) are made on the mainframe and a mainframe tester does not need to worry about migrating them to the client. If an application works through one terminal emulator, it should work on them all. QTP can also be integrated with Quality Control and Load Runner. However, while HP products provide complete automated testing solution, they are expensive. These features should be considered when looking into using QTP.

Therefore, in large organizations where the frontend is a Web page and Java based and backend is Main Frame, one should use a combination of both QTP and Selenium to automate testing efforts. Selenium should be used for testing frontend, like sites with shopping carts and online payment, and QTP should be used for backend testing, such as with billing and processing information. Both tools have specific roles and can be used to provide automated testing.