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



Similar documents
Test Automation Tool comparison HP UFT/QTP vs. Selenium - Prashant Malhotra

Automation using Selenium

Mobile Test Automation Framework

SOFTWARE TESTING TRAINING COURSES CONTENTS

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

QEx Whitepaper. Automation Testing Pillar: Selenium. Naveen Saxena. AuthOr:

DESIGN OF AUTOMATION SCRIPTS EXECUTION APPLICATION FOR SELENIUM WEBDRIVER AND TestNG FRAMEWORK

GLOBAL JOURNAL OF ENGINEERING SCIENCE AND RESEARCHES

Software Automated Testing

DELIVERING AGILE QUALITY ASSURANCE THROUGH EXTREME AUTOMATION

Business Assurance & Testing QEx Automation Platform

Latest Trends in Testing. Ajay K Chhokra

QTP Open Source Test Automation Framework Introduction

Test Automation -Selenium

Image Area. White Paper. Best Practices in Mobile Application Testing. - Mohan Kumar, Manish Chauhan.

View Point. Developing a successful Point-of-Sale (POS) test automation strategy. Abstract. - Sujith George

Tavant Technologies. Flexible Approach to Test Automation with Measureable ROI. White Paper. Madan Mohan Reddy B Santosh Kumar CH

Certified Selenium Professional VS-1083

Best Practices in Automation Testing of Mobile Applications

Automated testing for Mobility New age applications require New age Mobility solutions

AUTOMATING THE WEB APPLICATIONS USING THE SELENIUM RC

Improved Efficiency and Significant Cost Savings through a Flexible Managed Services Model

"Selecting Mobile Application Automation Tools"

Perfecto Mobile. All rights reserved.

Job Oriented Instructor Led Face2Face True Live Online I.T. Training for Everyone Worldwide

Testing Tools Content (Manual with Selenium) Levels of Testing

A Comprehensive Review of Web-based Automation Testing Tools

Selecting the Right Mobile Test Automation Strategy: Challenges and Principles

Perfect Your Mobile App with Load Testing and Test Automation

Testing. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies. CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

WHITE PAPER. Getting started with Continuous Integration in software development. - Amruta Kumbhar, Madhavi Shailaja & Ravi Shankar Anupindi

Case Study: Financial Institution Deploys MBT to Test at the Speed of Agile Development

Web based Automation Testing and Tools

Test Automation Integration with Test Management QAComplete

Test Automation Process

BDD FOR AUTOMATING WEB APPLICATION TESTING. Stephen de Vries

Comparative Study of Automated Web Testing Tools

Mobile Automation: Best Practices

Aspire's Approach to Test Automation

RUN THE RIGHT RACE. Keep pace with quickening release cycles. Discover automation with the human touch. CHOOSE A TEST TO RUN BELOW

Sandesh Prasanna Kumar

APPLICATION OF SERVER VIRTUALIZATION IN PLATFORM TESTING

Cross Platform Mobile. -Vinod Doshi

With the use of keyword driven framework, we can automate the following test scenarios for Gmail as under :-

geniusport mobility training experts

}w!"#$%&'()+,-./012345<ya

Why Test Automation Fails

"Build and Test in the Cloud "

Development Approach for Customized Testing Tools - Selecting Testing Tools Efficiently

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

Higher Focus on Quality. Pressure on Testing Budgets. ? Short Release Cycles. Your key to Effortless Automation. OpKey TM

Total Quality in Mobile Apps -Continuous Integration & Performance Testing

Automation Guide for SAP Regression Testing. Author: Bhavana Pande

Comparative Analysis of Various Automated Test Tools for Flex Application

Test Automation Framework

Comparative Study of Automated Testing Tools: Selenium, Quick Test Professional and Testcomplete

MarathonITE. GUI Testing for Java/Swing Applications

How to Get the Most out of Your CI/CD Workflow Using Automated Testing

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

Mobile Test Automation: Lessons Learned in the Trenches

STUDY AND ANALYSIS OF AUTOMATION TESTING TECHNIQUES

Open Source in Mobile Test Automation. Ru Cindrea - Altom ru@altom.ro

Business white paper. Best practices for implementing automated functional testing solutions

Aaron Evans Software Quality Assurance, Test Automation, SDET, Web Developer

VERIFICATION AND VALIDATION AUTOMATED TESTING TOOLS CLAUDIU ADAM

You ll need to have: It d be great if you have:

Master Data Management as a Solution Using SAP MDM and Complementing Technologies

Version Client Setup Guide

Automating Testing and Configuration Data Migration in OTM/GTM Projects using Open Source Tools By Rakesh Raveendran Oracle Consulting

INFOSYS MOBILITY QA PRACTICE

Mobile Test Automation - Right Tools and Right Approach

Cloud Enabled Test Evaluation on Mobile Web Applications

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Agile Web Application Testing

QA Tools (QTP, QC/ALM), Selenium with Java, Mobile with Automation, Unix, SQL, SOAP UI

Overview Company & Product Portfolio

Infosys Business Process Management Offerings

Software Continuous Integration & Delivery

Creating Business Value with Mature QA Practices

Application Test Management and Quality Assurance

Quality Testing. Assured.

TESTING FRAMEWORKS. Gayatri Ghanakota

LoadRunner and Performance Center v11.52 Technical Awareness Webinar Training

Data Center Virtualization and Cloud QA Expertise

Continuous Integration

Lecture 4 Cross-Platform Development. <lecturer, date>

WEB APPLICATION TESTING SOLUTIONS WITH SELENIUM

Software Development Kit

Transcription:

Viewpoint 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 2015 Infosys Limited, Bangalore, 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. Stay Connected