VIEW POINT. Choosing the right automation tool and framework is critical to project success. Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

Similar documents
Class 1 Introduction to Selenium, Software Test Life Cycle.

PERSPECTIVE. End-to-end test automation A behaviordriven and tool-agnostic approach. Abstract

TEST AUTOMATION. Excel Global Solutions Inc. All Rights Reserved.

Selenium vs UFT: Which is Better for Your Mobile Testing Strategy?

DELIVERING AGILE QUALITY ASSURANCE THROUGH EXTREME AUTOMATION

Extreme automation of today s technological marvel - connected cars

PERSPECTIVE. Best Practices in Automation Testing of Mobile Applications. Abstract

But before understanding the Selenium WebDriver concept, we need to know about the Selenium first.

ENABLING QA THROUGH ANAPLAN MODEL TESTING

SeeTest Quality Assurance Platform SeeTestAutomation

A Study on Issues, Challenges and Comparison of Various Automated Testing Tools

Techno Expert Solutions An institute for specialized studies! Introduction to Advance QTP course Content

WHITE PAPER. Leveraging Database Virtualization for Test Data Management. Abstract. Vikas Dewangan, Senior Technology Architect, Infosys

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016

WEB-APIs DRIVING DIGITAL INNOVATION

SELENIUM. SELENIUM COMPONENTS Selenium IDE Selenium RC Selenium Web Driver Selenium Grid

H elping you choose the right automation testing tool

Selenium Testing Course Content

Selenium Workshop. Removing the Mystery from Open Source Test Automation. Presented By Chris Petrov, PMP Leverage Point Corporation

WHITE PAPER. Moving Fragmented Test Data Management Towards a Centralized Approach. Abstract

Sahi. Cost effective Web Automation

Turbo boost your digital app test automation with Jenkins

QMS ISO 9001:2015 CERTIFIED COMPANY Software Testing TRAINING.

POWERING DIGITAL MARKETING WITH SPEED AND REACH

Run the business. Not the risks.

Building a Customized Test Automation Framework Using Open Source Tools

A Comparative Study of Automated Software Testing Tools

How Manual Testers can execute Test Automation. White Papers. Muthiah Director of Testing. Expedux on How Manual Testers

Mind Q Systems Private Limited

AN ISO 9001:2008 CERTIFIED COMPANY. Software Testing TRAINING.

Selenium Testing Training

ActiveNET Enterprise Solution Company

WHITE PAPER. OAuth A new era in Identity Management and its Applications. Abstract

WHITE PAPER. Development Approach for Customized Testing Tools - Selecting Testing Tools Efficiently. Abstract

End-to-End Agile Testing using Incremental Approach for a Leading EIM Solution Provider ATTENTION. ALWAYS.

13 th Annual International Software Testing Conference Paper on

Selenium Training. Training Topics

VietSoftware International Inc. Software Testing Competence

The Need for a Holistic Automation Solution to Overcome the Pitfalls in Test Automation

WHITE PAPER. Test data management in software testing life cycle-business need and benefits in functional, performance, and automation testing

Products and editions covered

Open2Test Test Automation Framework for Selenium Web Driver - Introduction

PERSPECTIVE. Mobilizing SAP Enterprise Applications. Abstract. Suresh Santhana & Anoop Kumar

Agile Test Automation Framework - Overhauling the Challenges

STQA Mini Project No. 2

Сравнительный анализ инструментов Автоматизации Desktop AUT. Anton Semenchenko

The age of automation is going to be the age of 'do it yourself. - Marshall McLuhan

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

Test Automation Practice STC 2012

Copyright 2013 by AGILOD Consulting, LLC. All Rights Reserved. Test Automation. Done The AGILOD Way

HP APPs v.12 Solutions for Dev-Ops

SELENIUM TRAINING COURSE CONTENT

WHITE PAPER. The Hybrid Cloud and Microsoft Azure

Mind Q Systems Private Limited

Table of Contents What is Test Automation Framework?... 3 Different types of Frameworks used in QTP... 4 Linear Framework in QTP...

WHITEPAPER. Automated Functional Equivalence Testing. A White Paper by: Sagar M. Patil December, 2012

Learning Objectives of CP-SAT v 1.31

Selenium Course Content

Guide to Test Automation Tools

Shift Left Testing: are you ready? Live Webinar, Sept 19

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

Why test automation projects are failing? Igor Khrol

WEB & MOBILE AUTOMATION

Shift Left with Lean Functional Testing by HP July 30, 2015

Comparative Study of Software Automation Testing Tools: OpenScript and Selenium

AMAR PURI. au.linkedin.com/in/iamarpuri 2/40 station Street, Burwood 3125 Victoria, Australia Mobile:

Open2Test Test Automation Framework for Selenium Web Driver FAQ

QTP MOCK TEST QTP MOCK TEST II

EXPERT TRAINING PROGRAM [Selenium 2.0 / WebDriver]

Learning Objectives of CP-SAT v 1.3

SeleniumJava Training Solution

Research Scholar, Sree Saraswathi Thyagaraja College, Pollachi, Tamil Nadu, India. Pollachi, Tamil Nadu, India. 1. Introduction

Mind Q Systems Private Limited

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

TEST AUTOMATION USING SELENIUM WEBDRIVER WITH JAVA: STEP BY STEP GUIDE BY MR NAVNEESH GARG

Sample Copy. Not For Distribution.

Automated Keyword Driven Framework using Selenesse. Ameya Naik Rasika Doshi

Software Testing Tools

Implemented Test Automation Framework for the World s Largest Learning Company ATTENTION. ALWAYS.

Behaviour Driven Development with Java. Nikolay Vasilev 15 July 2011

Business Process Testing

TEST AUTOMATION EFFORT ESTIMATION - Lesson Learnt & Recommendations. Babu Narayanan

Open Source Test Automation: Riding the Second Wave

Checklist: Requirements GUI Test tool for Java and/or Web

QTP interview questions

QTP Course Content; Introduction

WR2QTP: Semantic Translator of WinRunner Scripts to QTP

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions

Quality Center Customization

13 th Annual International Software Testing Conference in India 2013

SIG Talk: Quality & Testing - Tips & Tricks March 13, 2018

Chapter 11 Program Development and Programming Languages

UFT Introduction to Automation and QTP

Wipro s Endur Test Automation Framework (W-ETAF) Reduces time and effort for the implementation and maintenance of an automated test solution.

Big Data Analytics In M2M Open Source Editors Formatting Issues

International Journal of Advance Engineering and Research Development. Proof of concept (Poc) selenium web driver based Automation framework

DST - DIPLOMA IN SOFTWARE TESTING

Manual Testing. Software Development Life Cycle. Verification. Mobile Testing

Ride the wave of automation to survive the digital transformation storm. December, 2017

Objective Manual Testing Test Case Template Excel

Transcription:

VIEW POINT Choosing the right automation tool and framework is critical to project success Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

Introduction Organizations have become cognizant of the crucial role of testing in the software development life cycle and in delivering high quality software products. As the competition in the IT sector grows stiffer, the pressure to deliver larger number of high quality products with fewer resources in limited time is increasing in intensity. During development cycles software tests need to be repeated to ensure quality. Every time the source code is modified, test cases must be executed. All iterations in the software need to be tested on all browsers and all supported operating systems. Manual execution of test cases is not only a costly and time-consuming exercise, but it is also prone to error. Automation testing addresses these challenges presented by manual testing. Automation tests can be executed multiple times across iterations much faster than manual test cases, saving time as well as cost. Lengthy tests which are often skipped during manual test execution can be executed unattended on multiple machines with different configurations, thus increasing the test coverage. Automation testing helps find defects or issues which are often overlooked during manual testing or are impossible to detect manually for example, spelling mistakes or hard coding in the application code. Automaton also boosts the confidence of the testing team by automating repetitive tasks and enabling the team to focus on challenging and high risk projects. Team members can improve their skill sets by learning new tools and technologies and pass on the gains to the organization. The time and effort spent on scientifically choosing a test automation product and framework can go a long way in ensuring successful test execution. Let us take a closer look at various factors involved in the selection process.

Identify the right automation tool Identification of the right automation tool is critical to ensure the success of the testing project. Detailed analysis must be conducted before selecting a tool. The effort put in the tool evaluation process enables successful execution of the project. The selection of the tool depends on various factors such as: The application and its technology stack which is to be tested Detailed testing requirements Skill sets available in the organization License cost of the tool There are various functional automation tools available in the market for automating web and desktop applications. Some of these are: Tool QTP(Quick Test Professional) / UFT (Unified Functional Testing) Selenium Watir (Web Application Testing in Ruby) Geb Description Powerful tool from HP to automate web and desktop applications Open source automation tool for automating web applications Open source family of Ruby libraries for automating web browsers Open source automation tool based on Groovy Comparison Matrix While analyzing various automation tools, a comparison of key parameters helps select the right tool for the specific requirements of the project. We have created a comparison chart of tools listed above based on the most important parameters for automation projects. Organizations can assign values to these parameters as per their automation requirements. The tool with the highest score can be considered for further investigation.

Parameters Criteria UFT Selenium Watir GEB Ease of Adoption License cost Ease of support QTP is HP licensed product available through singleseater floating or concurrent licenses Dedicated HP support Selenium is an open-source software and is free User and professional community support available Watir is an opensource (BSD) family of Ruby libraries for automating web browsers and is free Limited support on open source community GEB is open source software based on Groovy and is free. Limited support on open source community Script creation time Less Much more More More Scripting language VB Script Java, CSharp, Python, Ruby, Php, Perl, JavaScript Ruby Groovy recognition Through Spy Selenium IDE, FireBug, FirePath OpenTwebst (web recorder) GEB IDE Ease of Scripting and Reporting Capabilities Learning time Less Much more Much more Much more Script execution speed Framework High Low Low Low In-built capability to build frameworks such as keyworddriven, data-driven and hybrid JUnit, NUnit, RSpec, Test::Unit, TestNG, unittest Ruby supported Frameworks - RSpec, Cucumber, Test::Unit Grails, Gradle, Maven Continuous integration Can be achieved through Jenkins Achieved through Jenkins Achieved using Ruby script Achieved using Grails, Gradle plug-in along with Jenkins Gradle plug-in Non browser-based app support Yes No No No Tools Usage Operating system support Windows 8/8.1/7/ XP/Vista (No other OS) Windows, MAC OS X, Linux, Solaris (OS support depends on web-driver availability) Windows 8.1, Linux 13.10, MAC OS X 10.9, Solaris 11.1 (need JSSH compiled) Windows XP/Vista/7, Linux, DOS (OS support depends on web-driver availability) Browser Support IE (version 6-11), Firefox (version 3-24), Chrome (up to version 24) Firefox, IE, Chrome, Opera, Safari Firefox, IE, Chrome, Opera, Safari Firefox, IE, Chrome, Opera, Safari Device Support Supports ios, Android, Blackberry, and Windows Phone via licensed products such as PerfectoMobile and Experitest Two major mobile platforms ios and Android Two major mobile platforms ios and Android Driver available for ios (iphone and ipad)

What is a test automation framework? A test automation framework is a defined, extensible support structure within which the test automation suite is developed and implemented using the selected tool. It includes the physical structures used for test creation and implementation as well as the logical interaction between components such as: Set of standards or coding guidelines, for example, guidelines to declare variables and assign them meaningful names Well-organized directory structure Location of the test data Location of the Repository (OR) Location of common functions Location of environment related information Methods of running test scripts and location of the display of test results A well-defined test automation framework helps us achieve higher reusability of test components, develop the scripts which are easily maintainable and obtain high quality test automation scripts. If the automation framework is implemented correctly it can be reused across projects resulting in savings on effort and better return on investment (ROI) from the automation projects. Let us discuss some key frameworks available in the industry today. After analyzing the pros and cons of these frameworks, most companies opt for the hybrid framework. This allows them to benefit from multiple best functional test automation frameworks available in the industry. Modular Framework In the modular approach reusable code is encapsulated into modular functions in external libraries. These functions can then be called from multiple scripts as required. This framework is well suited in situations where the application includes several reusable steps to be performed across test scripts. Data-driven Framework In the modular approach reusable code is encapsulated into modular functions in external libraries. These functions can then be called from multiple scripts as required. This framework is well suited in situations where the application includes several reusable steps to be performed across test scripts. Hybrid Framework The hybrid model is a mix of the data-driven and modular frameworks This framework mixes the best practices of different frameworks suitable to the automation need. Keyword-driven Framework In the keyword-driven framework, a keyword is identified for every action that needs to be performed and the details of the keyword are given in a spreadsheet. This framework is more useful for non-technical users to understand and maintain the test scripts. Technical expertise is required to create a complex keyword library Creating such a framework is a time-consuming task.

Implementing Hybrid Framework with Selenium Now let us see how to implement a hybrid framework with Selenium as an automation tool. The key points in the implementation are: Store the test data (any user input data) in an Excel file. Store the environment related information (for example, QA, UAT, Regression) in a property file. Store various objects in the application on which user action needs to be taken in object repository files. Test suite contains the logic to verify acceptance criteria mentioned in the requirement. Execute the script on various browsers as per the need. Generate the reports capturing screenshots and pass/fail results. To get advanced reports in Selenium use any testing framework such as TestNG, JUnit. Test Data (Excel) Property File A B C Data Layer (Input test data, environment) Test Scripts Test Suite ANT Builder Repository Execute Application under Test (AUT) Reporting Module [Captured Screenshots, XML Based Logs and HTML Based Reports]

Implementing Hybrid Framework with QTP/ UFT Let us discuss how to implement a hybrid framework with QTP/ UFT as an automation tool. The key points in the implementation are: Store the test data (any user input data) in an Excel file. Create a run manager sheet to drive the test execution. Store the environment-related information in property file. Store the objects in the application on which user actions are taken in object repository files. Divide the test cases into modular functions, keeping common functions separately to be used across projects. Include main script common functions, object repository and test data. Generate different types of reports as per the business requirements. Test Data (Excel) Environment data App 1 App 2 App 3 Data Layer Repository Reusable functions Test Suite Test Suite Execute Application under Test (AUT) Reporting Module Execution Summary Test Script Results Error Log

Executing Proof of Concept for the Selected Tool The last phase of tool evaluation is proof of concept (PoC). The tool selected may satisfy your criteria conceptually, but it is advisable to test the tool using a few scenarios. Almost every tool vendor provides an evaluation version of their tool for a limited time period. The following steps need to be considered during the PoC: Choose a few scenarios in such a way that they cover different objects and controls in the application. Select the tool(s) based on a comparative study. Automate the chosen scenarios using the selected tool(s). Generate and analyze various reports. Analyze the integration of the tool with other tools such as test management tool available, for example, QC (Quick Center) and with continuous integration tools such as Jenkins. While evaluating multiple tools, generate a score-card based on various parameters such as ease of scripting, integration, usage, reports generated and chose the tool with the maximum score. When the POC is completed, the team can be more confident about successfully automating the application using the selected tool. Conclusion The process of automation framework design and development requires detailed planning and effort. To achieve the desired benefits, the framework must be accurately designed and developed. Such a framework can then be used across projects in an organization and provides substantial ROI. When choosing an automation framework, it is crucial to ensure that it can easily accommodate the various automation testing technologies and changes in the system under test. One of the key factors contributing to the accomplishment of any test automation project is identifying the right automation tool. A detailed analysis in terms of ease of use, reporting and integration with various tools must be performed before selecting a tool. Though such selection processes call for focused effort and time, this investment is worth making because of the great impact it has on the success of the automation project. About the Author Harsh Bajaj is a Technical Test Lead with Infosys Independent Validation Services Team. She has led various test automation projects in the telecom domain. She is proficient in various test management and automation tools. About the Reviewer Gautham Halambi is a Project Manager with Infosys and has more than 9 years of experience. He has worked on multiple telecom testing projects and has led and managed large manual and automation testing teams. References www.seleniumhq.org www.watir.com, http://www.gebish.org/ http://www.automationrepository.com/ http://en.wikipedia.org/wiki/keyword-driven_testing For more information, contact askus@infosys.com 2017 Infosys Limited, Bengaluru, India. All Rights Reserved. Infosys believes the information in this document is accurate as of its publication date; such information is subject to change without notice. Infosys acknowledges the proprietary rights of other companies to the trademarks, product names, and such other intellectual property rights mentioned in this document. Except as expressly permitted, neither this documentation nor any part of it may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, printing, photocopying, recording, or otherwise, without the prior permission of Infosys Limited and/or any named intellectual property rights holders under this document. Infosys.com NYSE: INFY Stay Connected