QTP vs. Selenium
This
article demonstrates bird eye comparison between HP QuickTest
Professional and Selenium. These are popular test automation tool,
specially, for functional & regression testing. Purpose of this
comparison is not to say which is better tool, it consists of comparison
of tool based on different criteria like supported O/S, browser, object
spy, object repository, license cost etc. This article is targeted for
readers having prior working knowledge of automation approach &
at-least one automation tool. Quick overview of tools is as follows –
Introduction
HP QuickTest Professional
is a graphical user tool & provides solution for functional test
and regression test automation. This next-generation automated testing
solution deploys the concept of keyword-driven testing to enhance test
creation and maintenance. QuickTest Professional meets the needs of both
technical and non-technical users. It works hand-in-hand with
HP Business Process Testing to bring non-technical subject matter
experts into the quality process in a meaningful way. Plus, it empowers
the entire testing team to create sophisticated test suites. QTP users
don’t enjoy a freedom of scripting language like their counterparts
using Selenium. It supports only VB Script.
QTP supports the following environments
· Active X
· Delphi
· Java
· .Net
· Oracle
· People Soft
· Power Builder
· SAP
· Siebel
· Stingray
· Terminal Emulator
· Visual Basic
· Visual Age
· Web
· Web Services
Selenium
is a family of tools, comprised of multiple software components, used
only for automating web based application, they are as follows –
Selenium 2 or Selenium WebDriver –It is a product of merger between Selenium & WebDriver. It supports the WebDriver API, along with the Selenium 1 technology. WebDriver
is a tool for writing automated tests of web based applications. It
aims to emulate the behavior of a real user, and as such interacts with
the HTML of the application. It provides object oriented support &
WebDriver API. This is latest/ newest addition in Selenium family.
Selenium 1 or Selenium RC or Remote Control -
It allows to write automated web application UI tests in any
programming language (Java, JavaScript, Ruby, PHP, Python, Perl and C#)
against any HTTP website using any mainstream JavaScript-enabled
browser. It comes in two parts.
- A server which automatically launches and kills browsers, and acts as a HTTP proxy for web requests from them.
- Client libraries for your favorite computer language.
It
is suitable for testing complex AJAX-based web user. It is also an
ideal solution for users of Selenium IDE who want to write tests in a
more expressive programming language than the Selenese HTML table
format.
Selenium IDE - Selenium
IDE (Integrated Development Environment) is a rapid prototyping tool
for building test scripts. It is a Firefox plugin and provides an
easy-to-use interface for developing automated tests. Selenium IDE has a
recording feature, which records user actions as they are performed and
then exports them as a reusable script in one of many programming
languages that can be later executed.
It is not designed to run your test passes nor is it designed to build all the automated tests you will need.
It doesn’t provide iteration or conditional statements. It is
recommended that for scalable & robust test automation use Selenium 2
or Selenium RC.
Selenium-Grid - Selenium-Grid
facilitates to run test suites in multiple environments simultaneously.
It allows executing tests in parallel, that is, same or different tests
can be run at the same time on different remote machines. It benefits
in following ways –
1. Suppose
there is a large test suite, or a slow-running test suite, you can
boost its performance substantially by using Selenium Grid to divide
your test suite to run different tests at the same time using different
machines.
2. Suppose
requirement is to run test suite on multiple environments, you can have
different remote machines supporting and running your tests in them at
the same time.
License
QTP is a proprietary, licensed software and comes in following type of license -
1. Seat License: It is a machine locked license. This license can be used only for a machine it was generated.
2. Floating
License: It can be used on any machine which has network access to the
floating license server. At any point in time the machines using the QTP
license cannot exceed maximum license count on the server.
Selenium
is an open source tool that doesn’t cost anything. Anybody can download
selenium library, plug-in & start using it. There is no limitation
on number of license use & usage time.
Object Spy
QTP
Object Spy helps to view properties & supported method of an object
in an open application. Selenium IDE object locator provides feature to
view objects properties & method. Apart from this, an user can use
add-in Firebug with Firefox and Chrome built in development tool bar to
view object properties & test element locator.
Code Debug
QTP
has built-in editor to debug code. Selenium does not have built-in code
debugger. It provides plug-in with editors like Intellij, Eclipse,
Visual Studio. User needs to learn these editors to perform code debug.
Exception Handling
QTP
provides recovery scenario to handle exception during script execution.
Selenium does not provide recovery scenario. User needs to write custom
function to handle run-time exception.
Reporting
QTP
generates nice test reports (html, XML, pdf etc) using built-in
reporter object. Selenium does not have built-in reporting feature. It
is dependent on framework like TestNG, Junit, SauceLab, Testing bot for
test reporting.
Integration with Test Management Tool
QTP
comes bundled with test management & source code control tool
Quality Center. Selenium offers no test management tool. There are few
options like xStudio, but user needs to explore.
Screenshot
It
provides screenshot feature to take picture during test execution of
exception & error. No screenshot feature in Selenium.
Resource Availability
It is quite easy to find engineers having expertise on QTP. Selenium resources are bit scarce.
Ease of Use
QTP
is very user friendly can be used by less code-savvy people, online
help is easily available. Selenium requires good coders for writing and
maintaining the tests.
Browser Support
QTP
provides full support for IE; limited feature support for Firefox &
Chrome (requires installing patch), Selenium supports almost all
browsers, list is as follows -
- Firefox 2 to 17
- IE 7,8,9
- Safari 2,3,4
- Opera 8,9,10
- Google Chrome
O/S Support
QTP supports only Windows platform. Selenium supports Windows, Linux and Mac.
Comments