38
QTP to Selenium Migration By Tarun Lalwani

QTP/UFT vs. Selenium

Embed Size (px)

Citation preview

Page 1: QTP/UFT vs. Selenium

QTP to Selenium Migration

By Tarun Lalwani

Page 2: QTP/UFT vs. Selenium

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

Page 3: QTP/UFT vs. Selenium

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

Page 4: QTP/UFT vs. Selenium

Agenda

| Introduction to QTP and Selenium

| Differences between QTP and Selenium

| Migration to Selenium

| Benefits

| Challenges

| Q&A

Page 5: QTP/UFT vs. Selenium

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

Page 6: QTP/UFT vs. Selenium

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

Page 7: QTP/UFT vs. Selenium

QTP v/s Selenium (AUT Technologies)

Page 8: QTP/UFT vs. Selenium

QTP v/s Selenium (Operating Systems)

Page 9: QTP/UFT vs. Selenium

QTP v/s Selenium (Languages)

Page 10: QTP/UFT vs. Selenium

QTP v/s Selenium (Browsers)

Page 11: QTP/UFT vs. Selenium

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)

Page 12: QTP/UFT vs. Selenium

QTP v/s Selenium (License Cost)

Customers using BPT framework end up paying license cost of ALM, BPT and UFT

Page 13: QTP/UFT vs. Selenium

QTP v/s Selenium (Trends)

QTPSelenium

Google Trends – Web Search

Google Trends – Youtube Search

Page 14: QTP/UFT vs. Selenium

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

Page 15: QTP/UFT vs. Selenium

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

Page 16: QTP/UFT vs. Selenium

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

Page 17: QTP/UFT vs. Selenium

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

Page 18: QTP/UFT vs. Selenium

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)

Page 19: QTP/UFT vs. Selenium

Abhijit Pendyal, Sales Engineer

1/28/2015

Page 20: QTP/UFT vs. Selenium

Selenium is an open source test automation framework that automates web browsers.

Page 21: QTP/UFT vs. Selenium

Appium is an open source test automation framework which automates, native, hybrid and mobile apps.

Page 22: QTP/UFT vs. Selenium

Android UiAutomator! Architecture!

WebDriver Interface

iOS UIAutomation!Powered by Instruments

Selendroid!For older Android devices

Page 23: QTP/UFT vs. Selenium

What is Sauce Labs?

Page 24: QTP/UFT vs. Selenium

We have built the worlds largest grid for executing Selenium & Appium tests. We’re open-source at heart contributing to both projects.

Page 25: QTP/UFT vs. Selenium

Local Selenium Grid

Hub Receives test requests and relays them to Desired Node

Nodes Execute

commands on browsers as directed by

the hub

Page 26: QTP/UFT vs. Selenium

Selenium on Sauce

Page 27: QTP/UFT vs. Selenium

470+ configurations

Page 28: QTP/UFT vs. Selenium

What is Sauce Connect?

Page 29: QTP/UFT vs. Selenium

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

Page 30: QTP/UFT vs. Selenium

Con$nuous'Integra$on''

Typical CI Usage

Page 31: QTP/UFT vs. Selenium

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

Page 32: QTP/UFT vs. Selenium

Thank you

Page 33: QTP/UFT vs. Selenium

Demo

Page 34: QTP/UFT vs. Selenium

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

Page 35: QTP/UFT vs. Selenium

Pre-Webinar Q&A

Page 36: QTP/UFT vs. Selenium

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

Page 37: QTP/UFT vs. Selenium

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