# Infosys Whitepaper 
Title: Choosing the right automation tool  
Author: Infosys Limited 
Format: PDF 1.7 

---

  Page: 1 / 8  

---

 VIEW POINT CHOOSING THE RIGHT AUTOMATION  TOOL AND FRAMEWORK IS CRITICAL  TO PROJECT SUCCESS Harsh Bajaj,  Technical Test Lead ECSIVS, Infosys 

---

  Page: 2 / 8  

---

 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.<|endoftext|>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.<|endoftext|>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.  Introduction External Document © 2018 Infosys Limited 

---

  Page: 3 / 8  

---

 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 Description QTP(Quick Test  Professional) / UFT  (Unified Functional  Testing) Selenium Watir (Web Application  Testing in Ruby) Geb 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.<|endoftext|>External Document © 2018 Infosys Limited 

---

  Page: 4 / 8  

---

 Parameters Criteria UFT Selenium Watir GEB Ease of  Adoption License cost QTP is HP licensed  product available  through single- seater floating or  concurrent licenses Selenium is an  open-source  software and is free Watir is an open- source (BSD) family  of Ruby libraries for  automating web  browsers and is free GEB is open source  software based on  Groovy and is free.<|endoftext|>Ease of support Dedicated HP  support User and  professional  community support  available Limited support  on open source  community 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 Object recognition Through Object Spy Selenium IDE,  FireBug, FirePath OpenTwebst (web  recorder) GEB IDE Learning time Less Much more Much more Much more Script execution  speed High Low Low Low Framework In-built capability  to build frameworks  such as keyword- driven, 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 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) Ease of  Scripting and  Reporting  Capabilities Tools Usage External Document © 2018 Infosys Limited 

---

  Page: 5 / 8  

---

 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 Object 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.<|endoftext|>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.<|endoftext|>Modular Framework Data-driven Framework Hybrid 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.<|endoftext|>•  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.<|endoftext|>•  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.<|endoftext|>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.<|endoftext|>•  This framework is more useful  for non-technical users to  understand and maintain the test  scripts.<|endoftext|>•  Technical expertise is required to  create a complex keyword library •  Creating such a framework is a  time-consuming task.<|endoftext|>External Document © 2018 Infosys Limited 

---

  Page: 6 