An Essential Guide to Effective Test Automation Leveraging Open Source

RapidValue
RapidValueHead & Director of Marketing at RapidValue em RapidValue

Mankind is stepping into a new era completely owned by automation and the advent of mobility and digital technologies has simplified life by providing easy access to any individual to access technology without any bias. In the business environment, this pushes companies to deliver high-quality applications in less time with limited resources. This has ultimately led to a competition to deliver secure and advanced digital solutions without breaking the requirements and guidelines of the clients. Projects developed under such pressure have failed to meet objectives and suffer from vital schedule and budget slippage because of a delay in discovering the defects. This results in an increased percentage of ‘Defect Leakage’ and eventually customer dissatisfaction due to sub-par products. Organizations have begun to adopt automation to attain better product quality and develop secure, faster and useful mobile applications. This whitepaper endeavors to provide insights from our experiences on working with automation and elaborates on its importance with reference to certain case studies.

An Essential Guide to Effective Test
Automation Leveraging Open Source
1
A Whitepaper by RapidValue Solutions
An Essential Guide to Effective Test
Automation Leveraging Open Source
©RapidValue Solutions
0 1 0 0 1
0 0 1 1 0
1 1 0 0 1
2
©RapidValue Solutions
Index
02 The Road that Led to Automation
03 What Makes Automation Important?
01 Introduction
04 Open Source Tools and its Impact on QA Automation
06 The ABC’s of Automation Test Coverage
07 Risks Involved in Test Automation
15 Benefits of QA Automation Testing
08 Optimization of Automation using Automation Framework
17 Conclusion
11 Use Cases of Different Open Source Automation Tools
17 Author
18 About RapidValue
©RapidValue Solutions
1
©RapidValue Solutions
Introduction
An Essential Guide to Effective Test
Automation Leveraging Open Source
Mankind is stepping into a new era completely owned by automation and the advent of mobility and digital
technologies has simplified life by providing easy access to any individual to access technology without any
bias. In the business environment, this pushes companies to deliver high-quality applications in less time with
limited resources. This has ultimately led to a competition to deliver secure and advanced digital solutions
without breaking the requirements and guidelines of the clients. Projects developed under such pressure
have failed to meet objectives and suffer from vital schedule and budget slippage because of a delay in
discovering the defects. This results in an increased percentage of ‘Defect Leakage’ and eventually customer
dissatisfaction due to sub-par products. Organizations have begun to adopt automation to attain better
product quality and develop secure, faster and useful mobile applications. This whitepaper endeavors to
provide insights from our experiences on working with automation and elaborates on its importance with
reference to certain case studies.
©RapidValue Solutions
An Essential Guide to Effective Test
Automation Leveraging Open Source
2
©RapidValue Solutions
The Road that Led to Automation
As the saying goes, “Necessity is the mother of invention”, automation too rose from the need to simplify
particular processes that were time-consuming. Testing mobile applications are more complex than testing
desktop and web applications. This is because, mobile applications need to be tested on a variety of software
platforms and versions, on varied hardware and custom factors and also under different network connectivity
conditions. In addition to this, the frequent OS updates, the introduction of new devices and the customer
expectation of experiencing quick upgrades, would require additional test cycles. This gave rise to test
automation where special tools are used to control the execution of tests and actual results are compared
with expected results. It can automate certain repetitive yet essential tests in a formalized testing process
already in place, or add additional testing that would have been otherwise difficult to perform manually.
Organizations have been opting for automation due to the following reasons:
•	 Automated testing simplifies low-level interface regression testing which is difficult to perform
manually and also aids in finding errors in the testing. This saves a lot of time that is spent on
performing repetitive and boring manual testing.
•	 Manual testing can be performed only with a limited number of physical devices, automation could
employ any number of physical devices as it supports cloud integration.
•	 While in case of manual testing, if there is a change in software, one has to run all the tests from the
beginning while in case of automated tests, this is not required as the tests are already set up. It also
offers a standard and structured framework to incorporate test executions.
An Essential Guide to Effective Test
Automation Leveraging Open Source
3
©RapidValue Solutions
What Makes Automation Important?
During the initial stage of project development, one needs to cover only a limited number of test cases and
hence manual testing would be of help in such a scenario. However, as the project progresses, automation
would become an inevitable component. As mentioned earlier, test automation saves the time that would
have been otherwise used for running regression tests, re-entering the same test data and checking against
coding standards. It fuels better consistency in results which could be tracked through the continuous
execution of scripts. It also supports static measures and coverage and also helps one in understanding
application behavior. The detailed reports generated by it provides statistics and graphs about test progress,
incident rates and performance and also allows real-time report collaborations with others in the project. The
automated test cases are more reliable and the scripts are scalable anytime in case of new enhancements in
the project. When the test cases pass, it builds up the confidence of the developer as it suggests that the new
code meets the test requirements and does not interrupt or degrade any existing features.
An Essential Guide to Effective Test
Automation Leveraging Open Source
4
©RapidValue Solutions
1. Selenium – Initially developed in 2004 by Jason Higgins as an internal tool at ThoughtWorks, it was later
open sourced in the same year. It is undoubtedly one of the best open source tools that supports quite a lot
of programming languages, browsers, and multiple system environments. With the flexibility that it provides
to the testers, Selenium acts as the core framework for other open-source automation tools.
2. Appium – The Appium philosophy is that testing native apps shouldn’t require including an SDK or
recompiling an app. With its primary focus on mobile applications, it provides full access to back-end APIs
and DBs from test code while automating mobile apps from any language and test framework. It is easy to
install and user-friendly, making it a much-preferred testing tool.
3. Katalon Studio – Built on top of open-source automation frameworks like Selenium and Appium, it is an
automation testing solution developed by Katalon LLC. Advanced testers use it for saving time otherwise used
on building new libraries and maintaining their scripts, non-programmers use it to easily start an automation
testing project. Katalon Analytics provides comprehensive views of test execution reports that include metrics,
charts, and graphs.
4. Watir – An acronym that is derived from, ‘Web Application Testing in Ruby’, Watir is an open-source testing
tool that supports cross-browser testing including Firefox, Opera, headless browser and IE. It consists of several
smaller projects with the most important ones being watir-classic, watir-webdriver and watirspec. Watir also
integrates with BBD tools like RSpec, Cucumber and Test/Unit and also supports data-driven testing.
5. Protractor – It is a NodeJS program written in JavaScript and that identifies the web elements in AngularJS
applications which is otherwise not possible by using JUnit or Selenium WebDriver. It combines powerful
technologies like Selenium, Jasmine and the like to work as a solution integrator. Protractor is reserved not
only for AngularJS applications but also for writing automated regression tests for normal web applications.
Open Source Tools and its Impact on QA Automation
Identifying the right tool is a crucial step in guaranteeing success in test automation. Enabling intelligent
automation, these tools are pivotal in the DevOps toolchain. Choosing the right tool might be tricky owing
to the wide range of choices available in the market. Also, there is no ‘one size fits all’ feature and hence it is
important to choose a tool that has the potential to address any testing challenge and can take advantage of
the upcoming trends in the digital world. Some of the top open source tools are the following:
An Essential Guide to Effective Test
Automation Leveraging Open Source
5
©RapidValue Solutions
Comparison of Automation Tools
Difference Selenium Appium Protractor
Test Development Platform
LicenseType
Scripting Language
Programming Skill
ImageBasedTesting
Continuous Integrations
Framework Support
Community
Ease of Installation
and Use
Object Storage and
Maintenance
Applications Under Test
Cost
Learning Curves
Script Creation Time
Cross Platform
Open Source
Java, C#, Perl, Python,
JavaScript, Ruby, PHP
Advance skill required to
integrate various tools
Requires additional
library support
Requires additional
configuration for CI
Open Source community
Requires installation and
integration of various tools
Need to create separate
object repository to store
the objects
Java, C#, Perl, Python,
JavaScript, Ruby, PHP
Advance skill required to
integrate various tools
Requires additional
library support
Requires additional
configuration for CI
Open Source community
Requires installation,
integration of various
tools & additional setup
Need to create separate
object repository to store
the objects
Advance skill required
for automation script
development
Requires additional library
support like protractor
image
Requires additional
configuration for CI
Community available
Requires installation,
integration of various
tools & additional setup
Need to store the objects in
the script itself
Web
Free
High
Medium
Cross Platform
Open Source
Mobile
Free
High
Medium
Cross Platform
Open Source
JavaScript
Web (AngularJS & Angular)
Free
High
Slow
An Essential Guide to Effective Test
Automation Leveraging Open Source
6
©RapidValue Solutions
The ABC’s of Automation Test Coverage
While analyzing the existing testing tools, we observed that most of the tools provide maximum test execution
coverage for applications. However by using an automation tool one cannot automate 100% functionality
of an application, especially if the application has any third party integrations. Automation test coverage is
calculated using the following formula:
Automation Test Coverage =
(Total No. of test cases automated / Total No. of test cases identified for automation) * 100
Here are the percentage of execution that were tracked in Appium and Selenium tools based on our
experience with multiple projects.
A coverage of 80% in execution was observed using Selenium.
Total No. of test cases automated = 960
Total No. of test cases identified for automation = 1200
Automation Test Coverage = (960 / 1200) * 100 = 80%
A coverage of 75% in execution was observed using Appium.
Total No. of test cases automated = 600
Total No. of test cases identified for automation = 800
Automation Test Coverage = (600 / 800) * 100 = 75%
Automation test coverage often refers to a set of automation scripts that are written against the requirement
specifications. The software quality could be measured through a specific analysis employing automation
test coverage. Automation tools easily execute thousands of different complex test cases during every test run
providing coverage that is otherwise impossible with manual tests. Testers thus find themselves with more
time that could be utilized in creating new automated tests and deal with complex features. Automation test
coverage also evaluates the ability of the tool that can automate complex scenarios thus helping us to select
a better tool. In some cases, paid tools might have more test coverage on the complex features of application
because they provide methods or commands to handle the flows. Whereas in case of trial version tools, we
may fail to reach the expected test execution coverage as it does not provide any methods or commands as
in the case of paid tools.
An Essential Guide to Effective Test
Automation Leveraging Open Source
7
©RapidValue Solutions
Risks Involved in Test Automation
Risks in automation can be divided into three major points:
•	 Appium instructor does not start: Faced while executing the Appium tool for iOS or Android
mobile applications. This was due to issues related to the WebDriver Agent.
•	 Failed to start instruments: Issue faced in Appium tool
•	 Failed to start an Appium session: Faced usually while launching an iOS application using Appium
tools when instruments crashed on setup.
1. Risk while selecting a tool – As a trial version does not offer full coverage, companies blindly go for paid
versions. When some companies purchase paid tools without understanding their maturity level, it could
result in a loss in profit. Thus before purchasing and implementing automation tools, one must possess
the ability to operate them with appropriate coding knowledge and skills. In fact, the success of the testing
process relies on the efficiency with which it is handled. Unrealistic ideas surrounding the tools ultimately
leads to failure. Likewise underestimating the time and effort needed to achieve significant and continuing
benefits from the tool could also be a risk. With the world moving at a rapid pace, one must anticipate
changesandpossessaproperestimationtoincorporatethechanges.Alsoonemustbecarefulwhileselecting
an automation framework as an unsuitable framework will lead to loss of time and effort. Therefore before
selecting a tool, one must have a clear idea about the organization’s maturity, areas within the organization
where tool support will help improve testing processes.and the requirements and objectives that a tool can
meet.
2. Risk while configuring the tools in different environments – It is possible to face risks while configuring
the Appium, Selenium tools in Windows as well as Mac OS. However, configuration issues do not pose a
major risk as these can be resolved immediately. Some issues that one could face include incorrect details or
missing details in environment variables, device OS version conflicts or Xcode version conflict.
3. Risk while test execution using tools, especially in the case of mobile applications – Here are some
of the issues that we have had to face while executing scripts in mobile applications, processes thereby,
accelerating continuous delivery.
An Essential Guide to Effective Test
Automation Leveraging Open Source
8
©RapidValue Solutions
A test automation framework is a set of expectations, ideas, and practices which provides you support for
automation testers to run the test in a flexible manner and also helps in establishing a work platform for
automated testing. Frameworks that are application independent are preferred and testers expect the
automation tools to be compatible with the selected automation framework. Thus automation framework
is the system in which the tests are automated and the tools follow the standards and strategies that are
designed in the framework.
Previously, the environment around the test automation development did not have a structural approach to
illustrate function libraries for reporting, error handling and driver scripts. The framework plays an important
role in automation test development by providing an outline of the overall test structure, ensuring consistency
of testing and minimizing the amount of code for development and thereby enabling less maintenance.
Some companies use ‘a single standard’ test automation framework that includes a test library. The test
library is created following a standard design and development process with proper documentation, standard
scripting, and team consistency. The scripting standard should be maintained across the whole framework
behind the library creation and the project team should follow the defined scripting standards. This would
help in avoiding duplication of code and in providing consistent coding across the team. In this type of
framework scripts are separated from the data stored in different files and modifications are not made in
the script. However, the data is manipulated for testing with multiple input values. Implementation and
establishment of libraries and utility components across the teams will help in reducing the effort needed for
repeated regression suites and thus enabling maximum re-usability.
Optimization of Automation using Automation Framework
•	 Elements not found: This issue is faced in both Appium and Selenium where the locator fails
to find the elements. An element could not be located on the page using the given search
parameters. It could have been a locator issue or an incorrectly passed parameter.
•	 Issues with configuration files: This might happen in all types of tools.
An Essential Guide to Effective Test
Automation Leveraging Open Source
9
©RapidValue Solutions
Some of the automation frameworks that are available in the automation testing world are:
Linear Scripting – Also called as ‘Record and Playback’, model it is a simple framework model. In this model,
testers can manually record the actions and scripts are automatically generated when the recording stops.
Automation expertise is not required for this framework model.
Test Library Architecture Framework – This framework is also called as ‘Structured Scripting’ model and
testers employing this model initially perform record and playback. Later the common tasks are grouped into
functions and these functions are called by the main test script named ‘driver’. An advantage of this model is
the ease with which the scripts could be managed.
Data-driven Testing framework – Test cases reside in test scripts and test data is kept separately in an external
file (Excel files, text files, CSV Files, ODBC Sources). The variables could be loaded into the scripts from external
files when required and could be used as input and verification values. The advantages of this framework are
that the test scripts do not affect the test data and that the test scenarios can be executed by updating test
data in the external data file.
Keyword-Driven or Table-Driven Testing Framework – This framework requires one to develop data tables and
keywords. It works independently of a test automation tool used to automate them. The three components
of this framework are keyword, application map and component function. Keyword is an action that can
be performed on a GUI component. An application map provides named references for GUI components.
Component functions actively manipulate or interrogate GUI component. Data table contains the action to
be performed on GUI objects and corresponding arguments. Advantages of this framework include the re-
usability of code and test tool independency.
Hybrid Test Automation Framework – As the name suggests, it is a combination of one or more frameworks.
The main intention is to mitigate weaknesses of automation flows and other frameworks by adding more
frameworks as adding framework will improve the strength of the framework as well as the automation
flows. It is the most often implemented framework by companies.
An Essential Guide to Effective Test
Automation Leveraging Open Source
10
©RapidValue Solutions
Companies with an automation framework and optimized automation testing reap the following benefits:
•	 Establishing a single standard across the organization helps in following a standard process as
compared to pre-empted ad-hoc processes that do not yield results.
•	 Independence from individual coding standards and the utilities that have been created. The effort
by new members could be reduced with the help of complete documentation.
•	 The companies collect complete requirements for automating and providing complete test
coverage with the help of the framework. This minimizes the testing efforts during the later stages
of the releases.
•	 The framework would have the capacity to adopt future enhancements and ensure consistency of
testing.
An Essential Guide to Effective Test
Automation Leveraging Open Source
11
©RapidValue Solutions
Use Case of Different Open Source Automation Tools
Using Selenium to automate – Selenium supports multiple desktop browsers as well as mobile web. The latest
version of Selenium, 3.141.59 is observed to work great with the latest version of Firefox, however, will result
in random failure if used with Firefox35 or below. An area that is considered to be risky is the configuration
of Webdrivers for multiple browsers. However, this could be tackled through proper scripting including a
configuration file. Companies employ selenium features such as ‘WebDriverWait’, ‘ExpectedConditions’ and
‘Explicit Wait’ to ensure that the scripts do not break due to fast execution or execution of the next line
before finishing the first one. Other important features are Action Classes and JavaScript Executors that
support Scroll, Mouse Over, Ajax Handling and Alert Handling activities. Users are supposedly 90% to 95%
satisfied with the tool. Selenium provides options to locate UI elements and to compare expected test results
against actual application behavior. One of its key features is the support it provides in executing one’s tests
on multiple browser platforms. Selenium is composed of different tools with their own roles:
Selenium RC: An older concept that is not widely used in the current automating world, Selenium RC merged
with a powerful tool called Selenium Webdriver.
Selenium Webdriver: Most of the testers are using this tool for automating their web applications.
Selenium IDE: A Firefox plugin that provides an easy-to-use interface for developing automated tests. It has
a recording feature that records user actions as they are performed and exports them as usable script in one
of the many programming languages that could be later executed.
Selenium-Grid: It allows to run tests in parallel, that is, different tests could be run at the same time on
different remote machines. (Hub-Node Model)
An Essential Guide to Effective Test
Automation Leveraging Open Source
12
©RapidValue Solutions
The benefits of Selenium are that it is open source and supports all browsers like IE, Firefox, Mozilla, and Safari.
It also supports all operating systems and programming languages such as Java, Ruby, C#, and Python. It
enables one to run multiple tests at a time and runs test in parallel at remote machines using Selenium-Grid.
The streamline working flow of Selenium tool is as follows:
WIRE (JSON / HTTP) XPCOM
COM
webdriver.xpi
IEDriverServer.exeWIRE (JSON / HTTP)
An Essential Guide to Effective Test
Automation Leveraging Open Source
13
©RapidValue Solutions
The internal streamlined working of Appium tool is as follows:
Using Appium to automate – Appium helps companies to establish an automation foundation for both
iOS and Android and helps build strong relationships with big clients. It provides features like inspector
support that helps in determining the elements that are implemented in the application (say buttons, text
fields, labels, etc). It supports the features provided by Selenium and also enables ‘Record and Playback’. It
is an open source, cross-platform test automation tool for native and hybrid mobile apps that supports iOS,
Android and Firefox OS platforms. It takes selenium commands from the app and converts those into a
readable format for UI automation. It does not require recompiling or modifications to app and allows writing
tests in one’s favourite programming languages and testing frameworks (Java, Python, Ruby, Node, PHP, C #,
and Perl) using the Selenium API. It could run locally or remotely and also provides detailed reports.
Appium Instructor generates scripts and these will be sent to the Appium server. The server will generate the
corresponding script in UI automation and the UI automation script will be executed in the simulator/devices.
About 75% of satisfaction could be achieved through the usage of this tool for automating applications.
WIRE (JSON / HTTP)
WIRE (JSON / HTTP)
UIAutomator
Instruments
Test Code
An Essential Guide to Effective Test
Automation Leveraging Open Source
14
©RapidValue Solutions
protractor <name of the configuration file>
The important features of the tool are as follows:
Using Protractor to automate – This tool provides automation support for different AngularJS applications.
The process of protractor installation is relatively easy. Initially one could face a challenge in finding a good
IDE for protractor. Webstorm is a good IDE to configure AngularJS and Protractor concepts. This tool has
similar features as Selenium such as element locators and the like. To install Protractor first we need to install
NodeJS and configure its path properly. Later we need to open a command prompt and enter the following
command to install the protractor globally:
npm install -g protractor
We can install the protractor locally in our project directory. For that we need to type the following command
in the command prompt of the project directory:
npm install protractor
All the tests are created in protractor in the form of JavaScript files and run using the following command in
the command prompt:
•	 An end-to-end testing framework for AngularJS applications and works as a solution integrator by
combining powerful tools and technologies such as NodeJS, Selenium, WebDriver, Jasmine, and
Cucumber.
•	 Protractor speeds up testing by avoiding the need for lots of ‘sleeps’ and ‘waits’ in tests as it optimizes
sleep and wait times.
•	 Built on the top of Webdriver JS and Selenium server, it provides new locator strategies and functions
that are helpful to automate the AngularJS application.
•	 Introduced new and simple syntax to write tests and allows to run tests targeting remote addresses.
•	 It has the ability to take advantage of Selenium-Grid to run multiple browsers at once.
An Essential Guide to Effective Test
Automation Leveraging Open Source
15
©RapidValue Solutions
The streamline working flow of Protractor is as follows:
Benefits of QA Automation Testing
How profitable is switching to ‘Automation Testing’ is one of the most frequently asked questions. Here are
some of the benefits rendered by automation testing that helps in the growth of businesses from all over
the world.
1. Cost Optimization – Handling customer issues, escaped bugs and poor performance have been reported to
be some of the most time-consuming tasks. Switching to automation reduces the time taken to run tests and
fix glitches, thereby reducing the cost incurred. Though the initial investment is high, test automation helps
in saving the project and support costs in the longer run.
2. Improved Efficiency – As mentioned earlier, manual testing is a dreary task that proves to be vexing for
the testers. The much accurate test automation is a one-stop solution that saves time and also allows the
testers to focus on other important tasks. Since testing consumes a major portion of the time of the overall
development cycle, reducing the time spent in it would ultimately result in improved efficiency.
WebDriver
Browser DriverProtractor
Node.JS
* Selenium WebDriver API
JavaScript Bindings
* Run locally (standard)
Run remotely (standard)
* Selenium WebDriver Drivers
Chrome, other implementations
IEDriverServer.exe
WebDriver.JS *
Selenium Server *
Test Server Browser
An Essential Guide to Effective Test
Automation Leveraging Open Source
16
©RapidValue Solutions
3. Reduction of Defects – Unlike manual testing, test automation efficiently detects escaped bugs and
run routine checks to improve performance. This fuels the development speed and improves quality while
ensuring that there is a reduction in the number of glitches the next time. The early detection of the bugs
make them easier to fix and also reduces the money spent on it.
4. Faster Time-to-Market – Organizations that employ manual testing take longer time-to-market as they
spend a lot of their time on repetitive testing. This time is saved in test automation where there are certain
tools and scripts to ensure that the quality of standard is maintained. With faster release cycles and faster
feedback on quality, test automation reduces the time-to-market by a considerable amount.
5. Increased Test Coverage – Another feature that sets apart test automation from manual testing is the fact
that the former has the ability to examine an application to ensure that it is working as expected. Also, the
facility to execute several complex tests increases the overall test coverage which is otherwise impossible with
manual testing.
©RapidValue Solutions
17
An Essential Guide to Effective Test
Automation Leveraging Open Source
Author
Conclusion
If you’d like to know more about Automation Testing, please reach out to us at
contactus@rapidvaluesolutions.com
Sanoj Swaminathan
Test Architect,
RapidValue Solutions
With the reliability and efficiency that is promised through test automation, business value is
expected to skyrocket with its implementation. DevOps and Cloud Computing have become
familiar names in the IT household as companies compete to outrun each other by adopting the
latest technologies. The process of development, operation and quality assurance has undergone
a complete makeover with automation and it has been so widely adopted that quality assurance
cannot be imagined without test automation. In addition to that, the use of open source testing
tools has made software to be accessible to all. They provide the freedom to work without
expensive licenses and are regularly modified by testers. Since choosing a tool is a very crucial part
to understand requirements, design test cases and much more, it is advised to choose an open
source tool that is user-friendly. While some developers are still apprehensive of switching to test
automation, the initial costs are quite negligible when compared to the ease and convenience
that comes with it.
An Essential Guide to Effective Test
Automation Leveraging Open Source
18
©RapidValue Solutions
Disclaimer:
This document contains information that is confidential and proprietary to RapidValue Solutions Inc. No part of it may be used,
circulated, quoted, or reproduced for distribution outside RapidValue. If you are not the intended recipient of this report, you are
hereby notified that the use, circulation, quoting, or reproducing of this report is strictly prohibited and may be unlawful.
A global leader in digital transformation for enterprise providing end-to-end
mobility, omni-channel, IoT and cloud solutions. Armed with a large team of
expertsinconsulting,UXdesign,applicationdevelopment,integrationandtesting,
along with experience delivering projects worldwide, in mobility and cloud, we
offer a wide range of services across industry verticals. We deliver services to
the world’s top brands, fortune 1000 companies, Multinational companies and
emerging startups. We have offices in the United States, the United Kingdom,
Germany and India.
www.rapidvaluesolutions.com
+1 877.643.1850
www.rapidvaluesolutions.com/blog
contactus@rapidvaluesolutions.com
©RapidValue Solutions July, 2019

Recomendados

Continuous testing por
Continuous testing Continuous testing
Continuous testing Dr Ganesh Iyer
1.2K visualizações40 slides
Automation Tools Overview por
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewMurageppa-QA
1.1K visualizações20 slides
No Devops Without Continuous Testing por
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
874 visualizações30 slides
Agile testing - Principles and best practices por
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practicesDr Ganesh Iyer
1.6K visualizações35 slides
Top 10 Automation Testing Tools in 2020 por
Top 10 Automation Testing Tools in 2020Top 10 Automation Testing Tools in 2020
Top 10 Automation Testing Tools in 2020Marianne Harness
48 visualizações13 slides
Leveraging Open Source Automation: A Selenium WebDriver Example por
Leveraging Open Source Automation: A Selenium WebDriver ExampleLeveraging Open Source Automation: A Selenium WebDriver Example
Leveraging Open Source Automation: A Selenium WebDriver ExampleTechWell
1.2K visualizações13 slides

Mais conteúdo relacionado

Mais procurados

Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi por
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiHo Chi Minh City Software Testing Club
9.9K visualizações19 slides
Rx for FDA Software Compliance por
Rx for FDA Software ComplianceRx for FDA Software Compliance
Rx for FDA Software ComplianceParasoft
626 visualizações53 slides
Evolving from Automated to Continous Testing for Agile and DevOps por
Evolving from Automated to Continous Testing for Agile and DevOpsEvolving from Automated to Continous Testing for Agile and DevOps
Evolving from Automated to Continous Testing for Agile and DevOpsParasoft
241 visualizações26 slides
Top 3 selenium IDE alternatives for Chrome and Firefox por
Top 3 selenium IDE alternatives for Chrome and FirefoxTop 3 selenium IDE alternatives for Chrome and Firefox
Top 3 selenium IDE alternatives for Chrome and FirefoxKatalon Studio
341 visualizações6 slides
Selenium RC, Selenium WebDriver and HP LoadRunner por
Selenium RC, Selenium WebDriver and HP LoadRunnerSelenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunnerMurageppa-QA
371 visualizações41 slides
[Infographic] Challenges in Test Automation por
[Infographic] Challenges in Test Automation [Infographic] Challenges in Test Automation
[Infographic] Challenges in Test Automation Katalon Studio
4.2K visualizações9 slides

Mais procurados(20)

Rx for FDA Software Compliance por Parasoft
Rx for FDA Software ComplianceRx for FDA Software Compliance
Rx for FDA Software Compliance
Parasoft626 visualizações
Evolving from Automated to Continous Testing for Agile and DevOps por Parasoft
Evolving from Automated to Continous Testing for Agile and DevOpsEvolving from Automated to Continous Testing for Agile and DevOps
Evolving from Automated to Continous Testing for Agile and DevOps
Parasoft241 visualizações
Top 3 selenium IDE alternatives for Chrome and Firefox por Katalon Studio
Top 3 selenium IDE alternatives for Chrome and FirefoxTop 3 selenium IDE alternatives for Chrome and Firefox
Top 3 selenium IDE alternatives for Chrome and Firefox
Katalon Studio341 visualizações
Selenium RC, Selenium WebDriver and HP LoadRunner por Murageppa-QA
Selenium RC, Selenium WebDriver and HP LoadRunnerSelenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunner
Murageppa-QA371 visualizações
[Infographic] Challenges in Test Automation por Katalon Studio
[Infographic] Challenges in Test Automation [Infographic] Challenges in Test Automation
[Infographic] Challenges in Test Automation
Katalon Studio4.2K visualizações
Top 10 Automation Testing Tools in 2020 por Alaina Carter
Top 10 Automation Testing Tools in 2020Top 10 Automation Testing Tools in 2020
Top 10 Automation Testing Tools in 2020
Alaina Carter74 visualizações
Continuous Testing in Vegas por jaredrrichardson
Continuous Testing in VegasContinuous Testing in Vegas
Continuous Testing in Vegas
jaredrrichardson275 visualizações
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu... por Perfecto by Perforce
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...
Video Testing Best Practices: How to Guarantee High-Quality Video for your Cu...
Perfecto by Perforce579 visualizações
AppsSec In a DevOps World por Parasoft
AppsSec In a DevOps WorldAppsSec In a DevOps World
AppsSec In a DevOps World
Parasoft473 visualizações
EuroSPI 2016 - Software Safety and Security Through Standards por Arthur Hicken
EuroSPI 2016 - Software Safety and Security Through StandardsEuroSPI 2016 - Software Safety and Security Through Standards
EuroSPI 2016 - Software Safety and Security Through Standards
Arthur Hicken914 visualizações
Shifting the conversation from active interception to proactive neutralization por Rogue Wave Software
Shifting the conversation from active interception to proactive neutralization Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization
Rogue Wave Software 517 visualizações
Quality at the speed of digital por rajni singh
Quality   at the speed of digitalQuality   at the speed of digital
Quality at the speed of digital
rajni singh134 visualizações
ATAGTR2017 Testing in DevOps Culture por Agile Testing Alliance
ATAGTR2017 Testing in DevOps CultureATAGTR2017 Testing in DevOps Culture
ATAGTR2017 Testing in DevOps Culture
Agile Testing Alliance857 visualizações
API Testing – Keeping a Check on Agile Software Development por Software Testing Solution
API Testing – Keeping a Check on Agile Software DevelopmentAPI Testing – Keeping a Check on Agile Software Development
API Testing – Keeping a Check on Agile Software Development
Software Testing Solution315 visualizações
Overview and Analysis of Automated Testing Tools: Ranorex, Test Complete, Se... por IRJET Journal
Overview and Analysis of Automated Testing Tools:  Ranorex, Test Complete, Se...Overview and Analysis of Automated Testing Tools:  Ranorex, Test Complete, Se...
Overview and Analysis of Automated Testing Tools: Ranorex, Test Complete, Se...
IRJET Journal51 visualizações
Automating Common Criteria por Javier Tallón
Automating Common Criteria Automating Common Criteria
Automating Common Criteria
Javier Tallón127 visualizações
Test Automation Trends and Beyond por Knoldus Inc.
Test Automation Trends and BeyondTest Automation Trends and Beyond
Test Automation Trends and Beyond
Knoldus Inc.430 visualizações
Deploy + Destroy Complete Test Environments por Parasoft
Deploy + Destroy Complete Test EnvironmentsDeploy + Destroy Complete Test Environments
Deploy + Destroy Complete Test Environments
Parasoft535 visualizações
Continuous testing for devops por Subrahmaniam S.R.V
Continuous testing for devopsContinuous testing for devops
Continuous testing for devops
Subrahmaniam S.R.V146 visualizações

Similar a An Essential Guide to Effective Test Automation Leveraging Open Source

Automated software testing complete guide por
Automated software testing complete guideAutomated software testing complete guide
Automated software testing complete guideTestingXperts
102 visualizações1 slide
Choosing right-automation-tool por
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-toolBabuDevanandam
352 visualizações8 slides
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R... por
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...RapidValue
411 visualizações18 slides
Top 5 Pitfalls of Test Automation and How To Avoid Them por
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemSundar Sritharan
466 visualizações17 slides
Improving ROI with Scriptless Test Automation por
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test AutomationMindfire LLC
66 visualizações15 slides
Automation Testing of Web based Application with Selenium and HP UFT (QTP) por
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)IRJET Journal
57 visualizações5 slides

Similar a An Essential Guide to Effective Test Automation Leveraging Open Source(20)

Automated software testing complete guide por TestingXperts
Automated software testing complete guideAutomated software testing complete guide
Automated software testing complete guide
TestingXperts 102 visualizações
Choosing right-automation-tool por BabuDevanandam
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
BabuDevanandam352 visualizações
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R... por RapidValue
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
RapidValue411 visualizações
Top 5 Pitfalls of Test Automation and How To Avoid Them por Sundar Sritharan
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid Them
Sundar Sritharan466 visualizações
Improving ROI with Scriptless Test Automation por Mindfire LLC
Improving ROI with Scriptless Test AutomationImproving ROI with Scriptless Test Automation
Improving ROI with Scriptless Test Automation
Mindfire LLC66 visualizações
Automation Testing of Web based Application with Selenium and HP UFT (QTP) por IRJET Journal
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
IRJET Journal57 visualizações
What are the top 10 performance testing tools por TestingXperts
What are the top 10 performance testing toolsWhat are the top 10 performance testing tools
What are the top 10 performance testing tools
TestingXperts9 visualizações
Discover the power of QA automation testing por Softweb Solutions
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testing
Softweb Solutions681 visualizações
Neev Independent Testing Services por Neev Technologies
Neev Independent Testing ServicesNeev Independent Testing Services
Neev Independent Testing Services
Neev Technologies1.5K visualizações
Automation Testing Best Practices.pdf por KMSSolutionsMarketin
Automation Testing Best Practices.pdfAutomation Testing Best Practices.pdf
Automation Testing Best Practices.pdf
KMSSolutionsMarketin7 visualizações
Top 11 best test automation solutions por TestingXperts
Top 11 best test automation solutionsTop 11 best test automation solutions
Top 11 best test automation solutions
TestingXperts7 visualizações
An Ultimate Guide to Continuous Testing in Agile Projects.pdf por KMSSolutionsMarketin
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
KMSSolutionsMarketin124 visualizações
QA Automation testing - Cloud deployed workflow application por Zado Technologies
QA Automation testing - Cloud deployed workflow applicationQA Automation testing - Cloud deployed workflow application
QA Automation testing - Cloud deployed workflow application
Zado Technologies1.6K visualizações
Neev QA Offering por Neev Technologies
Neev QA OfferingNeev QA Offering
Neev QA Offering
Neev Technologies1.8K visualizações
Amalgamation of BDD, parallel execution and mobile automation por Agile Testing Alliance
Amalgamation of BDD, parallel execution and mobile automationAmalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automation
Agile Testing Alliance3.6K visualizações
Challenges and Opportunities Faced While Migrating to Selenium por BugRaptors
Challenges and Opportunities Faced While Migrating to SeleniumChallenges and Opportunities Faced While Migrating to Selenium
Challenges and Opportunities Faced While Migrating to Selenium
BugRaptors244 visualizações
5 Best Automation Testing Tools to Speed up Testing.pdf por Serena Gray
5 Best Automation Testing Tools to Speed up Testing.pdf5 Best Automation Testing Tools to Speed up Testing.pdf
5 Best Automation Testing Tools to Speed up Testing.pdf
Serena Gray27 visualizações
New Approaches To Software Testing Essay por Nicole Gethers
New Approaches To Software Testing EssayNew Approaches To Software Testing Essay
New Approaches To Software Testing Essay
Nicole Gethers3 visualizações
Impetus qLabs Solutions por Vipul Gupta
Impetus qLabs SolutionsImpetus qLabs Solutions
Impetus qLabs Solutions
Vipul Gupta644 visualizações

Mais de RapidValue

How to Build a Micro-Application using Single-Spa por
How to Build a Micro-Application using Single-SpaHow to Build a Micro-Application using Single-Spa
How to Build a Micro-Application using Single-SpaRapidValue
235 visualizações7 slides
Play with Jenkins Pipeline por
Play with Jenkins PipelinePlay with Jenkins Pipeline
Play with Jenkins PipelineRapidValue
96 visualizações6 slides
Accessibility Testing using Axe por
Accessibility Testing using AxeAccessibility Testing using Axe
Accessibility Testing using AxeRapidValue
304 visualizações13 slides
Guide to Generate Extent Report in Kotlin por
Guide to Generate Extent Report in KotlinGuide to Generate Extent Report in Kotlin
Guide to Generate Extent Report in KotlinRapidValue
196 visualizações7 slides
Automation in Digital Cloud Labs por
Automation in Digital Cloud LabsAutomation in Digital Cloud Labs
Automation in Digital Cloud LabsRapidValue
62 visualizações11 slides
Microservices Architecture - Top Trends & Key Business Benefits por
Microservices Architecture -  Top Trends & Key Business BenefitsMicroservices Architecture -  Top Trends & Key Business Benefits
Microservices Architecture - Top Trends & Key Business BenefitsRapidValue
67 visualizações1 slide

Mais de RapidValue(20)

How to Build a Micro-Application using Single-Spa por RapidValue
How to Build a Micro-Application using Single-SpaHow to Build a Micro-Application using Single-Spa
How to Build a Micro-Application using Single-Spa
RapidValue235 visualizações
Play with Jenkins Pipeline por RapidValue
Play with Jenkins PipelinePlay with Jenkins Pipeline
Play with Jenkins Pipeline
RapidValue96 visualizações
Accessibility Testing using Axe por RapidValue
Accessibility Testing using AxeAccessibility Testing using Axe
Accessibility Testing using Axe
RapidValue304 visualizações
Guide to Generate Extent Report in Kotlin por RapidValue
Guide to Generate Extent Report in KotlinGuide to Generate Extent Report in Kotlin
Guide to Generate Extent Report in Kotlin
RapidValue196 visualizações
Automation in Digital Cloud Labs por RapidValue
Automation in Digital Cloud LabsAutomation in Digital Cloud Labs
Automation in Digital Cloud Labs
RapidValue62 visualizações
Microservices Architecture - Top Trends & Key Business Benefits por RapidValue
Microservices Architecture -  Top Trends & Key Business BenefitsMicroservices Architecture -  Top Trends & Key Business Benefits
Microservices Architecture - Top Trends & Key Business Benefits
RapidValue67 visualizações
Uploading Data Using Oracle Web ADI por RapidValue
Uploading Data Using Oracle Web ADIUploading Data Using Oracle Web ADI
Uploading Data Using Oracle Web ADI
RapidValue774 visualizações
Appium Automation with Kotlin por RapidValue
Appium Automation with KotlinAppium Automation with Kotlin
Appium Automation with Kotlin
RapidValue382 visualizações
Build UI of the Future with React 360 por RapidValue
Build UI of the Future with React 360Build UI of the Future with React 360
Build UI of the Future with React 360
RapidValue289 visualizações
Python Google Cloud Function with CORS por RapidValue
Python Google Cloud Function with CORSPython Google Cloud Function with CORS
Python Google Cloud Function with CORS
RapidValue501 visualizações
Real-time Automation Result in Slack Channel por RapidValue
Real-time Automation Result in Slack ChannelReal-time Automation Result in Slack Channel
Real-time Automation Result in Slack Channel
RapidValue440 visualizações
Automation Testing with KATALON Cucumber BDD por RapidValue
Automation Testing with KATALON Cucumber BDDAutomation Testing with KATALON Cucumber BDD
Automation Testing with KATALON Cucumber BDD
RapidValue480 visualizações
How to Implement Micro Frontend Architecture using Angular Framework por RapidValue
How to Implement Micro Frontend Architecture using Angular FrameworkHow to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular Framework
RapidValue2.4K visualizações
Video Recording of Selenium Automation Flows por RapidValue
Video Recording of Selenium Automation FlowsVideo Recording of Selenium Automation Flows
Video Recording of Selenium Automation Flows
RapidValue432 visualizações
JMeter JMX Script Creation via BlazeMeter por RapidValue
JMeter JMX Script Creation via BlazeMeterJMeter JMX Script Creation via BlazeMeter
JMeter JMX Script Creation via BlazeMeter
RapidValue244 visualizações
Migration to Extent Report 4 por RapidValue
Migration to Extent Report 4Migration to Extent Report 4
Migration to Extent Report 4
RapidValue1K visualizações
The Definitive Guide to Implementing Shift Left Testing in QA por RapidValue
The Definitive Guide to Implementing Shift Left Testing in QAThe Definitive Guide to Implementing Shift Left Testing in QA
The Definitive Guide to Implementing Shift Left Testing in QA
RapidValue118 visualizações
Data Seeding via Parameterized API Requests por RapidValue
Data Seeding via Parameterized API RequestsData Seeding via Parameterized API Requests
Data Seeding via Parameterized API Requests
RapidValue81 visualizações
Test Case Creation in Katalon Studio por RapidValue
Test Case Creation in Katalon StudioTest Case Creation in Katalon Studio
Test Case Creation in Katalon Studio
RapidValue179 visualizações
How to Perform Memory Leak Test Using Valgrind por RapidValue
How to Perform Memory Leak Test Using ValgrindHow to Perform Memory Leak Test Using Valgrind
How to Perform Memory Leak Test Using Valgrind
RapidValue106 visualizações

Último

JioEngage_Presentation.pptx por
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptxadmin125455
8 visualizações4 slides
Dapr Unleashed: Accelerating Microservice Development por
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice DevelopmentMiroslav Janeski
13 visualizações29 slides
MS PowerPoint.pptx por
MS PowerPoint.pptxMS PowerPoint.pptx
MS PowerPoint.pptxLitty Sylus
7 visualizações14 slides
Airline Booking Software por
Airline Booking SoftwareAirline Booking Software
Airline Booking SoftwareSharmiMehta
9 visualizações26 slides
Keep por
KeepKeep
KeepGeniusee
78 visualizações10 slides
tecnologia18.docx por
tecnologia18.docxtecnologia18.docx
tecnologia18.docxnosi6702
5 visualizações5 slides

Último(20)

JioEngage_Presentation.pptx por admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254558 visualizações
Dapr Unleashed: Accelerating Microservice Development por Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski13 visualizações
MS PowerPoint.pptx por Litty Sylus
MS PowerPoint.pptxMS PowerPoint.pptx
MS PowerPoint.pptx
Litty Sylus7 visualizações
Airline Booking Software por SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta9 visualizações
Keep por Geniusee
KeepKeep
Keep
Geniusee78 visualizações
tecnologia18.docx por nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67025 visualizações
Sprint 226 por ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ11 visualizações
FIMA 2023 Neo4j & FS - Entity Resolution.pptx por Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j17 visualizações
Introduction to Git Source Control por John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino7 visualizações
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation por HCLSoftware
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook AutomationDRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
DRYiCE™ iAutomate: AI-enhanced Intelligent Runbook Automation
HCLSoftware6 visualizações
Fleet Management Software in India por Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable12 visualizações
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... por NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi216 visualizações
Generic or specific? Making sensible software design decisions por Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Bert Jan Schrijver7 visualizações
360 graden fabriek por info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492162 visualizações
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... por Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke35 visualizações
The Path to DevOps por John Valentino
The Path to DevOpsThe Path to DevOps
The Path to DevOps
John Valentino5 visualizações
Quality Engineer: A Day in the Life por John Valentino
Quality Engineer: A Day in the LifeQuality Engineer: A Day in the Life
Quality Engineer: A Day in the Life
John Valentino7 visualizações
Agile 101 por John Valentino
Agile 101Agile 101
Agile 101
John Valentino10 visualizações
ADDO_2022_CICID_Tom_Halpin.pdf por TomHalpin9
ADDO_2022_CICID_Tom_Halpin.pdfADDO_2022_CICID_Tom_Halpin.pdf
ADDO_2022_CICID_Tom_Halpin.pdf
TomHalpin95 visualizações
Page Object Model por artembondar5
Page Object ModelPage Object Model
Page Object Model
artembondar56 visualizações

An Essential Guide to Effective Test Automation Leveraging Open Source

  • 1. An Essential Guide to Effective Test Automation Leveraging Open Source 1 A Whitepaper by RapidValue Solutions An Essential Guide to Effective Test Automation Leveraging Open Source ©RapidValue Solutions 0 1 0 0 1 0 0 1 1 0 1 1 0 0 1
  • 2. 2 ©RapidValue Solutions Index 02 The Road that Led to Automation 03 What Makes Automation Important? 01 Introduction 04 Open Source Tools and its Impact on QA Automation 06 The ABC’s of Automation Test Coverage 07 Risks Involved in Test Automation 15 Benefits of QA Automation Testing 08 Optimization of Automation using Automation Framework 17 Conclusion 11 Use Cases of Different Open Source Automation Tools 17 Author 18 About RapidValue ©RapidValue Solutions
  • 3. 1 ©RapidValue Solutions Introduction An Essential Guide to Effective Test Automation Leveraging Open Source Mankind is stepping into a new era completely owned by automation and the advent of mobility and digital technologies has simplified life by providing easy access to any individual to access technology without any bias. In the business environment, this pushes companies to deliver high-quality applications in less time with limited resources. This has ultimately led to a competition to deliver secure and advanced digital solutions without breaking the requirements and guidelines of the clients. Projects developed under such pressure have failed to meet objectives and suffer from vital schedule and budget slippage because of a delay in discovering the defects. This results in an increased percentage of ‘Defect Leakage’ and eventually customer dissatisfaction due to sub-par products. Organizations have begun to adopt automation to attain better product quality and develop secure, faster and useful mobile applications. This whitepaper endeavors to provide insights from our experiences on working with automation and elaborates on its importance with reference to certain case studies. ©RapidValue Solutions
  • 4. An Essential Guide to Effective Test Automation Leveraging Open Source 2 ©RapidValue Solutions The Road that Led to Automation As the saying goes, “Necessity is the mother of invention”, automation too rose from the need to simplify particular processes that were time-consuming. Testing mobile applications are more complex than testing desktop and web applications. This is because, mobile applications need to be tested on a variety of software platforms and versions, on varied hardware and custom factors and also under different network connectivity conditions. In addition to this, the frequent OS updates, the introduction of new devices and the customer expectation of experiencing quick upgrades, would require additional test cycles. This gave rise to test automation where special tools are used to control the execution of tests and actual results are compared with expected results. It can automate certain repetitive yet essential tests in a formalized testing process already in place, or add additional testing that would have been otherwise difficult to perform manually. Organizations have been opting for automation due to the following reasons: • Automated testing simplifies low-level interface regression testing which is difficult to perform manually and also aids in finding errors in the testing. This saves a lot of time that is spent on performing repetitive and boring manual testing. • Manual testing can be performed only with a limited number of physical devices, automation could employ any number of physical devices as it supports cloud integration. • While in case of manual testing, if there is a change in software, one has to run all the tests from the beginning while in case of automated tests, this is not required as the tests are already set up. It also offers a standard and structured framework to incorporate test executions.
  • 5. An Essential Guide to Effective Test Automation Leveraging Open Source 3 ©RapidValue Solutions What Makes Automation Important? During the initial stage of project development, one needs to cover only a limited number of test cases and hence manual testing would be of help in such a scenario. However, as the project progresses, automation would become an inevitable component. As mentioned earlier, test automation saves the time that would have been otherwise used for running regression tests, re-entering the same test data and checking against coding standards. It fuels better consistency in results which could be tracked through the continuous execution of scripts. It also supports static measures and coverage and also helps one in understanding application behavior. The detailed reports generated by it provides statistics and graphs about test progress, incident rates and performance and also allows real-time report collaborations with others in the project. The automated test cases are more reliable and the scripts are scalable anytime in case of new enhancements in the project. When the test cases pass, it builds up the confidence of the developer as it suggests that the new code meets the test requirements and does not interrupt or degrade any existing features.
  • 6. An Essential Guide to Effective Test Automation Leveraging Open Source 4 ©RapidValue Solutions 1. Selenium – Initially developed in 2004 by Jason Higgins as an internal tool at ThoughtWorks, it was later open sourced in the same year. It is undoubtedly one of the best open source tools that supports quite a lot of programming languages, browsers, and multiple system environments. With the flexibility that it provides to the testers, Selenium acts as the core framework for other open-source automation tools. 2. Appium – The Appium philosophy is that testing native apps shouldn’t require including an SDK or recompiling an app. With its primary focus on mobile applications, it provides full access to back-end APIs and DBs from test code while automating mobile apps from any language and test framework. It is easy to install and user-friendly, making it a much-preferred testing tool. 3. Katalon Studio – Built on top of open-source automation frameworks like Selenium and Appium, it is an automation testing solution developed by Katalon LLC. Advanced testers use it for saving time otherwise used on building new libraries and maintaining their scripts, non-programmers use it to easily start an automation testing project. Katalon Analytics provides comprehensive views of test execution reports that include metrics, charts, and graphs. 4. Watir – An acronym that is derived from, ‘Web Application Testing in Ruby’, Watir is an open-source testing tool that supports cross-browser testing including Firefox, Opera, headless browser and IE. It consists of several smaller projects with the most important ones being watir-classic, watir-webdriver and watirspec. Watir also integrates with BBD tools like RSpec, Cucumber and Test/Unit and also supports data-driven testing. 5. Protractor – It is a NodeJS program written in JavaScript and that identifies the web elements in AngularJS applications which is otherwise not possible by using JUnit or Selenium WebDriver. It combines powerful technologies like Selenium, Jasmine and the like to work as a solution integrator. Protractor is reserved not only for AngularJS applications but also for writing automated regression tests for normal web applications. Open Source Tools and its Impact on QA Automation Identifying the right tool is a crucial step in guaranteeing success in test automation. Enabling intelligent automation, these tools are pivotal in the DevOps toolchain. Choosing the right tool might be tricky owing to the wide range of choices available in the market. Also, there is no ‘one size fits all’ feature and hence it is important to choose a tool that has the potential to address any testing challenge and can take advantage of the upcoming trends in the digital world. Some of the top open source tools are the following:
  • 7. An Essential Guide to Effective Test Automation Leveraging Open Source 5 ©RapidValue Solutions Comparison of Automation Tools Difference Selenium Appium Protractor Test Development Platform LicenseType Scripting Language Programming Skill ImageBasedTesting Continuous Integrations Framework Support Community Ease of Installation and Use Object Storage and Maintenance Applications Under Test Cost Learning Curves Script Creation Time Cross Platform Open Source Java, C#, Perl, Python, JavaScript, Ruby, PHP Advance skill required to integrate various tools Requires additional library support Requires additional configuration for CI Open Source community Requires installation and integration of various tools Need to create separate object repository to store the objects Java, C#, Perl, Python, JavaScript, Ruby, PHP Advance skill required to integrate various tools Requires additional library support Requires additional configuration for CI Open Source community Requires installation, integration of various tools & additional setup Need to create separate object repository to store the objects Advance skill required for automation script development Requires additional library support like protractor image Requires additional configuration for CI Community available Requires installation, integration of various tools & additional setup Need to store the objects in the script itself Web Free High Medium Cross Platform Open Source Mobile Free High Medium Cross Platform Open Source JavaScript Web (AngularJS & Angular) Free High Slow
  • 8. An Essential Guide to Effective Test Automation Leveraging Open Source 6 ©RapidValue Solutions The ABC’s of Automation Test Coverage While analyzing the existing testing tools, we observed that most of the tools provide maximum test execution coverage for applications. However by using an automation tool one cannot automate 100% functionality of an application, especially if the application has any third party integrations. Automation test coverage is calculated using the following formula: Automation Test Coverage = (Total No. of test cases automated / Total No. of test cases identified for automation) * 100 Here are the percentage of execution that were tracked in Appium and Selenium tools based on our experience with multiple projects. A coverage of 80% in execution was observed using Selenium. Total No. of test cases automated = 960 Total No. of test cases identified for automation = 1200 Automation Test Coverage = (960 / 1200) * 100 = 80% A coverage of 75% in execution was observed using Appium. Total No. of test cases automated = 600 Total No. of test cases identified for automation = 800 Automation Test Coverage = (600 / 800) * 100 = 75% Automation test coverage often refers to a set of automation scripts that are written against the requirement specifications. The software quality could be measured through a specific analysis employing automation test coverage. Automation tools easily execute thousands of different complex test cases during every test run providing coverage that is otherwise impossible with manual tests. Testers thus find themselves with more time that could be utilized in creating new automated tests and deal with complex features. Automation test coverage also evaluates the ability of the tool that can automate complex scenarios thus helping us to select a better tool. In some cases, paid tools might have more test coverage on the complex features of application because they provide methods or commands to handle the flows. Whereas in case of trial version tools, we may fail to reach the expected test execution coverage as it does not provide any methods or commands as in the case of paid tools.
  • 9. An Essential Guide to Effective Test Automation Leveraging Open Source 7 ©RapidValue Solutions Risks Involved in Test Automation Risks in automation can be divided into three major points: • Appium instructor does not start: Faced while executing the Appium tool for iOS or Android mobile applications. This was due to issues related to the WebDriver Agent. • Failed to start instruments: Issue faced in Appium tool • Failed to start an Appium session: Faced usually while launching an iOS application using Appium tools when instruments crashed on setup. 1. Risk while selecting a tool – As a trial version does not offer full coverage, companies blindly go for paid versions. When some companies purchase paid tools without understanding their maturity level, it could result in a loss in profit. Thus before purchasing and implementing automation tools, one must possess the ability to operate them with appropriate coding knowledge and skills. In fact, the success of the testing process relies on the efficiency with which it is handled. Unrealistic ideas surrounding the tools ultimately leads to failure. Likewise underestimating the time and effort needed to achieve significant and continuing benefits from the tool could also be a risk. With the world moving at a rapid pace, one must anticipate changesandpossessaproperestimationtoincorporatethechanges.Alsoonemustbecarefulwhileselecting an automation framework as an unsuitable framework will lead to loss of time and effort. Therefore before selecting a tool, one must have a clear idea about the organization’s maturity, areas within the organization where tool support will help improve testing processes.and the requirements and objectives that a tool can meet. 2. Risk while configuring the tools in different environments – It is possible to face risks while configuring the Appium, Selenium tools in Windows as well as Mac OS. However, configuration issues do not pose a major risk as these can be resolved immediately. Some issues that one could face include incorrect details or missing details in environment variables, device OS version conflicts or Xcode version conflict. 3. Risk while test execution using tools, especially in the case of mobile applications – Here are some of the issues that we have had to face while executing scripts in mobile applications, processes thereby, accelerating continuous delivery.
  • 10. An Essential Guide to Effective Test Automation Leveraging Open Source 8 ©RapidValue Solutions A test automation framework is a set of expectations, ideas, and practices which provides you support for automation testers to run the test in a flexible manner and also helps in establishing a work platform for automated testing. Frameworks that are application independent are preferred and testers expect the automation tools to be compatible with the selected automation framework. Thus automation framework is the system in which the tests are automated and the tools follow the standards and strategies that are designed in the framework. Previously, the environment around the test automation development did not have a structural approach to illustrate function libraries for reporting, error handling and driver scripts. The framework plays an important role in automation test development by providing an outline of the overall test structure, ensuring consistency of testing and minimizing the amount of code for development and thereby enabling less maintenance. Some companies use ‘a single standard’ test automation framework that includes a test library. The test library is created following a standard design and development process with proper documentation, standard scripting, and team consistency. The scripting standard should be maintained across the whole framework behind the library creation and the project team should follow the defined scripting standards. This would help in avoiding duplication of code and in providing consistent coding across the team. In this type of framework scripts are separated from the data stored in different files and modifications are not made in the script. However, the data is manipulated for testing with multiple input values. Implementation and establishment of libraries and utility components across the teams will help in reducing the effort needed for repeated regression suites and thus enabling maximum re-usability. Optimization of Automation using Automation Framework • Elements not found: This issue is faced in both Appium and Selenium where the locator fails to find the elements. An element could not be located on the page using the given search parameters. It could have been a locator issue or an incorrectly passed parameter. • Issues with configuration files: This might happen in all types of tools.
  • 11. An Essential Guide to Effective Test Automation Leveraging Open Source 9 ©RapidValue Solutions Some of the automation frameworks that are available in the automation testing world are: Linear Scripting – Also called as ‘Record and Playback’, model it is a simple framework model. In this model, testers can manually record the actions and scripts are automatically generated when the recording stops. Automation expertise is not required for this framework model. Test Library Architecture Framework – This framework is also called as ‘Structured Scripting’ model and testers employing this model initially perform record and playback. Later the common tasks are grouped into functions and these functions are called by the main test script named ‘driver’. An advantage of this model is the ease with which the scripts could be managed. Data-driven Testing framework – Test cases reside in test scripts and test data is kept separately in an external file (Excel files, text files, CSV Files, ODBC Sources). The variables could be loaded into the scripts from external files when required and could be used as input and verification values. The advantages of this framework are that the test scripts do not affect the test data and that the test scenarios can be executed by updating test data in the external data file. Keyword-Driven or Table-Driven Testing Framework – This framework requires one to develop data tables and keywords. It works independently of a test automation tool used to automate them. The three components of this framework are keyword, application map and component function. Keyword is an action that can be performed on a GUI component. An application map provides named references for GUI components. Component functions actively manipulate or interrogate GUI component. Data table contains the action to be performed on GUI objects and corresponding arguments. Advantages of this framework include the re- usability of code and test tool independency. Hybrid Test Automation Framework – As the name suggests, it is a combination of one or more frameworks. The main intention is to mitigate weaknesses of automation flows and other frameworks by adding more frameworks as adding framework will improve the strength of the framework as well as the automation flows. It is the most often implemented framework by companies.
  • 12. An Essential Guide to Effective Test Automation Leveraging Open Source 10 ©RapidValue Solutions Companies with an automation framework and optimized automation testing reap the following benefits: • Establishing a single standard across the organization helps in following a standard process as compared to pre-empted ad-hoc processes that do not yield results. • Independence from individual coding standards and the utilities that have been created. The effort by new members could be reduced with the help of complete documentation. • The companies collect complete requirements for automating and providing complete test coverage with the help of the framework. This minimizes the testing efforts during the later stages of the releases. • The framework would have the capacity to adopt future enhancements and ensure consistency of testing.
  • 13. An Essential Guide to Effective Test Automation Leveraging Open Source 11 ©RapidValue Solutions Use Case of Different Open Source Automation Tools Using Selenium to automate – Selenium supports multiple desktop browsers as well as mobile web. The latest version of Selenium, 3.141.59 is observed to work great with the latest version of Firefox, however, will result in random failure if used with Firefox35 or below. An area that is considered to be risky is the configuration of Webdrivers for multiple browsers. However, this could be tackled through proper scripting including a configuration file. Companies employ selenium features such as ‘WebDriverWait’, ‘ExpectedConditions’ and ‘Explicit Wait’ to ensure that the scripts do not break due to fast execution or execution of the next line before finishing the first one. Other important features are Action Classes and JavaScript Executors that support Scroll, Mouse Over, Ajax Handling and Alert Handling activities. Users are supposedly 90% to 95% satisfied with the tool. Selenium provides options to locate UI elements and to compare expected test results against actual application behavior. One of its key features is the support it provides in executing one’s tests on multiple browser platforms. Selenium is composed of different tools with their own roles: Selenium RC: An older concept that is not widely used in the current automating world, Selenium RC merged with a powerful tool called Selenium Webdriver. Selenium Webdriver: Most of the testers are using this tool for automating their web applications. Selenium IDE: A Firefox plugin that provides an easy-to-use interface for developing automated tests. It has a recording feature that records user actions as they are performed and exports them as usable script in one of the many programming languages that could be later executed. Selenium-Grid: It allows to run tests in parallel, that is, different tests could be run at the same time on different remote machines. (Hub-Node Model)
  • 14. An Essential Guide to Effective Test Automation Leveraging Open Source 12 ©RapidValue Solutions The benefits of Selenium are that it is open source and supports all browsers like IE, Firefox, Mozilla, and Safari. It also supports all operating systems and programming languages such as Java, Ruby, C#, and Python. It enables one to run multiple tests at a time and runs test in parallel at remote machines using Selenium-Grid. The streamline working flow of Selenium tool is as follows: WIRE (JSON / HTTP) XPCOM COM webdriver.xpi IEDriverServer.exeWIRE (JSON / HTTP)
  • 15. An Essential Guide to Effective Test Automation Leveraging Open Source 13 ©RapidValue Solutions The internal streamlined working of Appium tool is as follows: Using Appium to automate – Appium helps companies to establish an automation foundation for both iOS and Android and helps build strong relationships with big clients. It provides features like inspector support that helps in determining the elements that are implemented in the application (say buttons, text fields, labels, etc). It supports the features provided by Selenium and also enables ‘Record and Playback’. It is an open source, cross-platform test automation tool for native and hybrid mobile apps that supports iOS, Android and Firefox OS platforms. It takes selenium commands from the app and converts those into a readable format for UI automation. It does not require recompiling or modifications to app and allows writing tests in one’s favourite programming languages and testing frameworks (Java, Python, Ruby, Node, PHP, C #, and Perl) using the Selenium API. It could run locally or remotely and also provides detailed reports. Appium Instructor generates scripts and these will be sent to the Appium server. The server will generate the corresponding script in UI automation and the UI automation script will be executed in the simulator/devices. About 75% of satisfaction could be achieved through the usage of this tool for automating applications. WIRE (JSON / HTTP) WIRE (JSON / HTTP) UIAutomator Instruments Test Code
  • 16. An Essential Guide to Effective Test Automation Leveraging Open Source 14 ©RapidValue Solutions protractor <name of the configuration file> The important features of the tool are as follows: Using Protractor to automate – This tool provides automation support for different AngularJS applications. The process of protractor installation is relatively easy. Initially one could face a challenge in finding a good IDE for protractor. Webstorm is a good IDE to configure AngularJS and Protractor concepts. This tool has similar features as Selenium such as element locators and the like. To install Protractor first we need to install NodeJS and configure its path properly. Later we need to open a command prompt and enter the following command to install the protractor globally: npm install -g protractor We can install the protractor locally in our project directory. For that we need to type the following command in the command prompt of the project directory: npm install protractor All the tests are created in protractor in the form of JavaScript files and run using the following command in the command prompt: • An end-to-end testing framework for AngularJS applications and works as a solution integrator by combining powerful tools and technologies such as NodeJS, Selenium, WebDriver, Jasmine, and Cucumber. • Protractor speeds up testing by avoiding the need for lots of ‘sleeps’ and ‘waits’ in tests as it optimizes sleep and wait times. • Built on the top of Webdriver JS and Selenium server, it provides new locator strategies and functions that are helpful to automate the AngularJS application. • Introduced new and simple syntax to write tests and allows to run tests targeting remote addresses. • It has the ability to take advantage of Selenium-Grid to run multiple browsers at once.
  • 17. An Essential Guide to Effective Test Automation Leveraging Open Source 15 ©RapidValue Solutions The streamline working flow of Protractor is as follows: Benefits of QA Automation Testing How profitable is switching to ‘Automation Testing’ is one of the most frequently asked questions. Here are some of the benefits rendered by automation testing that helps in the growth of businesses from all over the world. 1. Cost Optimization – Handling customer issues, escaped bugs and poor performance have been reported to be some of the most time-consuming tasks. Switching to automation reduces the time taken to run tests and fix glitches, thereby reducing the cost incurred. Though the initial investment is high, test automation helps in saving the project and support costs in the longer run. 2. Improved Efficiency – As mentioned earlier, manual testing is a dreary task that proves to be vexing for the testers. The much accurate test automation is a one-stop solution that saves time and also allows the testers to focus on other important tasks. Since testing consumes a major portion of the time of the overall development cycle, reducing the time spent in it would ultimately result in improved efficiency. WebDriver Browser DriverProtractor Node.JS * Selenium WebDriver API JavaScript Bindings * Run locally (standard) Run remotely (standard) * Selenium WebDriver Drivers Chrome, other implementations IEDriverServer.exe WebDriver.JS * Selenium Server * Test Server Browser
  • 18. An Essential Guide to Effective Test Automation Leveraging Open Source 16 ©RapidValue Solutions 3. Reduction of Defects – Unlike manual testing, test automation efficiently detects escaped bugs and run routine checks to improve performance. This fuels the development speed and improves quality while ensuring that there is a reduction in the number of glitches the next time. The early detection of the bugs make them easier to fix and also reduces the money spent on it. 4. Faster Time-to-Market – Organizations that employ manual testing take longer time-to-market as they spend a lot of their time on repetitive testing. This time is saved in test automation where there are certain tools and scripts to ensure that the quality of standard is maintained. With faster release cycles and faster feedback on quality, test automation reduces the time-to-market by a considerable amount. 5. Increased Test Coverage – Another feature that sets apart test automation from manual testing is the fact that the former has the ability to examine an application to ensure that it is working as expected. Also, the facility to execute several complex tests increases the overall test coverage which is otherwise impossible with manual testing.
  • 19. ©RapidValue Solutions 17 An Essential Guide to Effective Test Automation Leveraging Open Source Author Conclusion If you’d like to know more about Automation Testing, please reach out to us at contactus@rapidvaluesolutions.com Sanoj Swaminathan Test Architect, RapidValue Solutions With the reliability and efficiency that is promised through test automation, business value is expected to skyrocket with its implementation. DevOps and Cloud Computing have become familiar names in the IT household as companies compete to outrun each other by adopting the latest technologies. The process of development, operation and quality assurance has undergone a complete makeover with automation and it has been so widely adopted that quality assurance cannot be imagined without test automation. In addition to that, the use of open source testing tools has made software to be accessible to all. They provide the freedom to work without expensive licenses and are regularly modified by testers. Since choosing a tool is a very crucial part to understand requirements, design test cases and much more, it is advised to choose an open source tool that is user-friendly. While some developers are still apprehensive of switching to test automation, the initial costs are quite negligible when compared to the ease and convenience that comes with it.
  • 20. An Essential Guide to Effective Test Automation Leveraging Open Source 18 ©RapidValue Solutions Disclaimer: This document contains information that is confidential and proprietary to RapidValue Solutions Inc. No part of it may be used, circulated, quoted, or reproduced for distribution outside RapidValue. If you are not the intended recipient of this report, you are hereby notified that the use, circulation, quoting, or reproducing of this report is strictly prohibited and may be unlawful. A global leader in digital transformation for enterprise providing end-to-end mobility, omni-channel, IoT and cloud solutions. Armed with a large team of expertsinconsulting,UXdesign,applicationdevelopment,integrationandtesting, along with experience delivering projects worldwide, in mobility and cloud, we offer a wide range of services across industry verticals. We deliver services to the world’s top brands, fortune 1000 companies, Multinational companies and emerging startups. We have offices in the United States, the United Kingdom, Germany and India. www.rapidvaluesolutions.com +1 877.643.1850 www.rapidvaluesolutions.com/blog contactus@rapidvaluesolutions.com ©RapidValue Solutions July, 2019