Sunday, December 31, 2017
QTP vs Selenium my take
QTP vs Selenium my take
This is a little comparison I did of the two premier tools in the market.
SNO | Features | QTP | Selenium | Explanation |
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 perform actions on the page. To be more precise it executes javascript on UI objects within the webpage to perform actions like click, type, select etc. This is the reason why you can execute tests 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 wont 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 cant be performed in selenium |
5 | Support for file upload scenario | YES | NO | This is the scenario where you upload a file located in your local machine onto the application using browse file dialog or something similar. Selenium does not support this scenario due to JavaScript restriction. QTP has no problem whatsoever simulating this scenario. |
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. Dont expect scripts created using browser to run flawlessly in another browser. |
7 | 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 dont 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. |
10 | 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 cant 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 arent 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. |
12 | 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. |
13 | Technical Support | 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. |
14 | Cost | Costly, $5,000 per seat license when i last checked | Free | Many people want to switch to selenium because its free. But cost isnt really a factor when your clients a investment bank :) |
15 | 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. |
16 | 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 dont get too caught up with this feature, its really not that important to be integrated with the development process but its nice to have. |
17 | Future in terms of usability and acceptance | Will have its presence in non-web based application testing | Will be the market leader in web application testing | The future bodes well for selenium because its 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 its presence for long due to its user friendliness and support for interfaces other than web. |