qtp/uft vs. selenium

Post on 15-Jul-2015

7.166 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

tarun@tarlabs.comwww.tarlabs.comwww.linkedin.com/in/tarunlalwani

top related