This is a little comparison I did of the two premier tools in the market.
|1||Actual end user simulation, Is the test conducted|
using this tool equivalent to an end user action?
|YES||NO||Selenium performs actions in the background on the|
browser. It modifies the DOM structure of the HTML page in order to
with the browser minimized. QTP claims to perform end user simulation, in other words executing QTP scripts is equivalent to a person performing those steps manually on the application.
|2||Support for most UI Components||YES||YES||Certain events, methods and Object properties are|
not supported by selenium. But broadly most UI components are
supported. QTP requires extra addins (plugins, not free) to work with dotNet components.
|3||UI-Object management & storage||YES||NO||QTP comes built-in with object repository. Object|
repository management is quite easy in QTP. Selenium has no such built in
feature but objects can be managed using UI-Element user extension. Other custom solutions like properties files can also be used in selenium. But for all such solutions the
map file in selenium has to be hand-coded i.e unlike QTP the objects won't be recorded/added automatically .
|4||Support for Dialog Boxes||YES||NO|
QTP supports all kinds of IE
dialog boxes. There is partial support for dialog boxes in Selenium.
Some actions like retrieving the tittle of he dialog box can't be performed in selenium
|5||Support for file upload scenario||YES||NO|
|6||Support for web browsers||YES||YES||QTP supports IE & Firefox. Selenium supports|
IE, Firefox, Safari and Opera and a few more browsers. But either tools are far far away from full cross-browser support. Don't expect scripts created using browser to run flawlessly in another browser.
Object Recognition Parameters, Recognition on the
basis of WYSWYG (what you see is what you get)
|YES||NO||Selenium recognizes objects on the basis of the|
DOM structure of the HTML Page. The UI objects in selenium have vague
descriptions and don't comply with WYSWYG policy. QTP recognises and names objects based on properties which are more visible and obvious and are hence the objects have user friendly names.
|8||Object Oriented Language support &|
Scalability (as in Integration with External tools utilities and libraries).
|NO||YES||Selenium Supports JAVA, dot net and many other|
industry standard programming languages. QTP supports vb script only.
|9||Integration with test management tool||With HP Quality Center and TestDirector||No||QTP integrates seamlessly with QC and TD. Test management and mapping the manual testing process with automation becomes a lot easier with this integration. I have not yet heard of any test management tool that can integrate seamlessly with Selenium. keep an eye out for Bromide though.|
Types of application supported
|Web,Windows(DotNet,VB, Powerbuilder, TCL/TK), Terminal Emulation, Command prompt||Web Only||QTP wins this one hands down. This is one of the main reason why selenium can't even be considered in many cases. Imagine real-time applications like trading terminals, risk management applications built in TCL/TK and powerbuilder. QTP supports most of these interfaces. Selenium on the other hand can work only on applications that open up inside a browser. But aren't most applications moving to the browser based platform? :)|
|11||Support for operating system/platforms||NO||YES||Selenium Supports JAVA and hence can be used in Windows PC or MAC or UNIX. Using selenium you can test your web application in all the above platforms. QTP supports Windows only.|
Ease of creation of Scripts
|Excellent||Good||Selenium IDE Recorder is not as powerful as QTP|
but is good for a free tool, many actions are not recorded by the IDE and
have to be manually entered.
|YES||NO||QTP offers technical support by phone and mail, HP also have a web-forum.|
QTP user community is vast and questions posted on online forums get
answered quickly. Selenium being an open source tool has no official tech
support, the user community is small, less-active and questions on forums
seldom get answered. But the community is growing day by day as the tool gains acceptance.
|Costly, $5,000 per seat license when i last checked||Free||Many people want to switch to selenium because it's free. But cost isn't really a factor when your client's a investment bank :)|
Test Development Environment
|Reasonable but not the best||Best in the world||When you are working on selenium you have the option of using wide range of IDEs like Eclipse, Netbeans, Visual Studio etc depending on your choice of development language. If you are a developer then you must have developed a taste for rich IDEs and switching to a environment given by a test tool may be hard for you. QTP tests can only be developed in QTP.|
Integration with development process
|No real integration possible||Yes||Tests developed using selenium can be easily part of the development project. Using tools like cruise control Continuous Integration is easier with Selenium. But don't get too caught up with this feature, it's really not that important to be integrated with the development process but it's nice to have.|
Future in terms of usability and acceptance
|Will have it's presence in non-web based application testing||Will be the market leader in web application testing||The future bodes well for selenium because it's free, supports all programming languages/platforms and is immensely scalable and expandable due to it being free and open source. Many pundits have predicted that it will completely conquer the web testing market in the next 5 years. It being free makes a huge difference especially when times are hard like what we have now. QTP on the other hand is the current market leader and I think that it will have it's presence for long due to it's user friendliness and support for interfaces other than web.|