QTP/UFT vs. Selenium
-
Upload
sauce-labs -
Category
Technology
-
view
7.179 -
download
2
Transcript of QTP/UFT vs. Selenium
QTP to Selenium Migration
By Tarun Lalwani
About TARLABS© Pvt Ltd
| Specialize in implementing automation using QTP and Selenium
| Expertise in QTP to Selenium Migration
| Other services we offer| Data scraping and Crawling
| Automation using API
| Custom Process/Task Automation
About the Speaker
| Author of 3 best selling books on QTP| QuickTest Professional Unplugged, 2nd Ed
| QTP/UFT Interview Unplugged, 2nd Ed
| QTP Descriptive Programming Unplugged
| 12+ yrs of experience in Testing Automation
| Director/Founder at TARLABS© Pvt. Ltd. (www.tarlabs.com)
| Blogger and founder of www.KnowledgeInbox.com
Agenda
| Introduction to QTP and Selenium
| Differences between QTP and Selenium
| Migration to Selenium
| Benefits
| Challenges
| Q&A
What is QTP/UFT?
| QTP/UFT is UI + Backend Services test automation tool
| QTP was earlier developed by Mercury which got acquired by HP in 2006
| QTP a.k.a. QuickTest professional is now called as UFT a.k.a. Unified Functional Testing
| QTP is a desktop based application
What is Selenium?
| Selenium is a Web browser automation API
| Selenium is a open source project with 108+ contributors
| Selenium has become one of the preferred choice for Web and mobile automation
QTP v/s Selenium (AUT Technologies)
QTP v/s Selenium (Operating Systems)
QTP v/s Selenium (Languages)
QTP v/s Selenium (Browsers)
QTP v/s Selenium (Cloud Execution)
• One test per machine• Windows VMs are costly• Higher setup and maintenance time
• Multiple & Simultaneous test per machine• Linux VMs are cheap• Medium setup and maintenance time• Cloud testing providers available (like SauceLabs)
QTP v/s Selenium (License Cost)
Customers using BPT framework end up paying license cost of ALM, BPT and UFT
QTP v/s Selenium (Trends)
QTPSelenium
Google Trends – Web Search
Google Trends – Youtube Search
Why should I migrate to Selenium?
| QTP was designed to test one application at a time on a single machine.
| Selenium can run code on one machine and test the application on remote machine
| Selenium is cloud ready while QTP is not
| Same hardware can generate more execution power in Selenium compared to QTP
| Selenium supports more browsers and more languages
| Selenium multiple language choice makes it easy to integrate into development environment and do continuous integration
How to plan a Migration
| Choose a Language to use with Selenium
| Start with just 1 test case to do a Proof of Concept, no frameworks, just plain script
| Notice the issues and difference in execution from QTP
| Try adding 5-10 more scripts and repeat the same exercise
| Don’t look to push a framework at start
| Don’t try migrating existing code approach
Benefits
| Possible to move testing from QA to Development team as part of Unit Testing
| Integration with most Continuous Integration (CI) systems
| Lots of language to choose from and easy to integrate test with development language
| More control over the framework because of language choices
| Possible to implement scalable testing using cloud/grid
| Faster execution
| Lots of frameworks including most of the Unit Testing frameworks
Challenges
| IE driver uses JavaScript simulated XPATH
| Scripts working in Firefox and Chrome may not work in IE
| No tools like DataTable for data driving test
| No Object Repository to store object mappings
| No object types in Selenium. Only WebElement and Select
| TABLE and other common HTML elements need extra code to work
| Different browsers may exhibit different issues on operations
| Higher development effort for initial few months
Case Study – QTP to Selenium (IPCM)
| Existing Test Suite in QTP with 3 hours execution on single machine
| POC Test migration execution time was reduced from 4.5 min (QTP) to 2.5 min (Selenium)
| Full migration to a new C# based framework
| Time duration: 2.5-3 months
| Execution time of Selenium suite with 6 parallel browsers on Same machine – 20 min (89% faster than QTP)
Abhijit Pendyal, Sales Engineer
1/28/2015
Selenium is an open source test automation framework that automates web browsers.
Appium is an open source test automation framework which automates, native, hybrid and mobile apps.
Android UiAutomator! Architecture!
WebDriver Interface
iOS UIAutomation!Powered by Instruments
Selendroid!For older Android devices
What is Sauce Labs?
We have built the worlds largest grid for executing Selenium & Appium tests. We’re open-source at heart contributing to both projects.
Local Selenium Grid
Hub Receives test requests and relays them to Desired Node
Nodes Execute
commands on browsers as directed by
the hub
Selenium on Sauce
470+ configurations
What is Sauce Connect?
Sauce LabsCustomer’s Environment
(TLS) saucelabs.com
(HTTP/S) saucelabs.com
Sauce Connect
(2
(1VMsVM
Sauce LabsAPI
Sauce Tunnel
2
1
Sauce Connect
ApplicationUnder Test
Corporate Firewall
DMZ
Con$nuous'Integra$on''
Typical CI Usage
Sauce'Labs'Pla4orm'
• Largest'cloud'for'automated'tes$ng'
• Test'web'&'mobile'apps'across'470+'pla4orms'
• Industry'standard'Selenium'WebDriver'protocol
• Game-changing stability and scale
• Capture screencasts, logs, test metadata
Se drivers for
On Sauce
Sauce Connect
Test appSauce
Connect
Your script
Thank you
Demo
When should I not choose Selenium?
| If your application is not Web or Mobile, you should look at other automation tool like QTP, TestComplete etc…
| If you don’t love Open Source software
| If you prefer GUI based tools which allow you to create, manage and execute test cases
Pre-Webinar Q&A
Pre-Webinar Q&A
| Can we selenium on Windows based application?| No, but Selenium has lot of language support, so you can always mix it with other solution like Sikuli, AutoIt,
CodeUI
| Will Selenium remain Open source? Is it possible that its made a paid tool future| It will always be open source
| How much programming knowledge is required? What is the learning curve if I already know QTP?| Requires basic HTML, XPATH, CSS and a supported language knowledge. Not a very steep learning curve
| Can we really remove QTP/UFT?| It’s not a question of removing one tool. It’s about looking at cost and implementation benefits of different tools
| Does Selenium solve some of the QTP problems?| No, in fact it may add few to your list. But you can you solve more problems while using Selenium than you can
while using QTP
Pre-Webinar Q&A
| When making the decision, are you considering the programming skill level of your QA team and the ease of learning the new language or are you assuming the QA team has the necessary programming skills to begin with to readily use the tool as QTP is MUCH easier to transition to for non-programmer QA types than Selenium which requires a knowledge of at least one TRUE programming language (ie C#, Java etc)| Core team develops framework and rest QA team uses it
| Selenium being a open source tool, so their is no dedicated support team. In this how can any clients rely on this tool?| A trade off with any open source solution, Isn’t it?| Sometimes even paid tool support can’t help
(https://connect.microsoft.com/IE/feedback/details/1062093/installation-of-kb3025390-breaks-out-of-process-javascript-execution-in-ie11)
| What are the typical barriers that may prevent an organization to move towards selenium?| Existing investment into Paid solutions like QTP| Lack of developers in the company eco system
| What was the most difficult thing to come from QTP to Selenium?| Developing the base framework and coding for features which already existing in QTP