Building A Customized Test Automation Framework Using Open Source Tools A Whitepaper by RapidValue Solutions
Building A Customized Test Automation Framework Using Open Source Tools A Whitepaper by RapidValue Solutions
Executive Summary....................................................................................................................................03
Case Studies..............................................................................................................................................12
Conclusion..................................................................................................................................................14
This paper explains the importance of test automation, challenges when using available open source
tools and an approach to overcome these limitations by building a customized framework. It addresses
the challenges and benefits of using the special software which helps to execute tests, report outcomes
and compare results in an efficient manner. The paper also provides details on how the test automation
solution suite, AccuRate, has helped leverage open source testing tools to release high quality
applications to one of the higher education providers in the United States and one of the largest crane
rental companies in the United States.
For large scale applications with frequent releases, the application needs to be regressed before every
release to ensure that it is defect free and all the features implemented in prior releases are intact with the
recent code change. So regression test suite has to be prepared carefully and then executed for each
release. Regression suite is the ideal candidate for functional automation. Once the automated scripts
have been developed, the tests can be performed by developer or tester. It can also be configured to run
overnight without manual intervention.
In general manual testing is tedious, and it gets cumbersome when tests are repetitive. In case of web
applications, the scripts have to be run on multiple bowsers. In case of responsive web, the same test has
to be repeated on desktop browsers and various device browsers on different platforms. In case of mobile
applications, the same set of tests has to be repeated on various devices, OS platforms (Android, iOS,
Windows) and many versions, various mobile browsers and mobile devices with different screen sizes.
Automating the tests will reduce the testing effort and help improve productivity. Automation is most
effective whenever the tests are highly repetitive in nature. It will, also, reduce the manual errors and help
to improve test coverage. Agile development demands for minimum time to market. Automation can play
a pivotal role in achieving this without major cost overruns.
Rapid technology changes in mobile and web development make test automation complex. Many a
times test automation tools have to be upgraded to synchronize with new technologies.
Automation engineers encounter various external factors that make automation more challenging like
tool limitations, ever growing number of target devices, multiple browser versions etc.
All the functional test automation tools are dependent on the front-end technologies and User
Interface (UI). Changes to the UI will cause a ripple effect in the automation scripts.
In the above cases, test automation becomes a tedious job and needs a lot of effort to build and maintain
the scripts, hence, could cause cost overruns. Most of the existing popular automation tools are unable to
provide test automation coverage, single-handedly, for all the given business contexts. Let us take a
closer look at the two scenarios below:
In case of responsive web applications, the tests need to be performed on desktop browsers and
mobile browsers, on various devices, with different screen sizes, platforms and OS versions. In
conventional automation, we need to use Selenium for automating desktop browsers and Appium for
automating mobile browsers.
An ideal automation framework, that leverages the capabilities of various open source tools and
frameworks, will help us to overcome the above mentioned challenges. The framework has to be
developed in such a way that it should be reusable for multiple applications of the same business unit or
across the organization for a better cost-benefit ratio and faster ROI.
Myth #1: Test Automation is costly and a lot of effort is required to learn and develop the scripts.
Fact:
a) Test automation with appropriate framework improves productivity and reduces effort.
Let us look at the standard effort for executing 100 test cases. On an average, the time required for
testing an application with 100 test cases manually on one browser or device is 1 day. It will take 4 days
to automate 100 tests with a customized keyword driven framework.
Now, let us consider the 2 scenarios, mentioned in the previous section (Overcoming Limitation of Open
Source Tools) and a situation where customized framework is available.
Scenario 1- Responsive web: The tests to be run on 4 desktop browsers (IE, Safari, Chrome, Opera),
on mobile browsers - Android (at least 1 phone and 1 tablet), on mobile browsers – iOS (at least 1 phone
and 1 tablet).
Scenario 2- Mobile app: On Android (4 devices with different screen size/OS version and 2 tablet
with different screen sizes), iOS (4 devices with different screen size/OS version and 2 tablets with
different screen sizes).
You can see the factors in the table below, for the first cycle, which involves script development
effort, as well. The time required to develop the scripts is 32 hours and it takes 3 hours to execute it.
Responsive Web 8 64 35
Mobile Apps
12 94 35
(Android, iOS)
Now, let us look at the total effort needed for 10 sprint cycles.
In case of automation, 32 hours is needed for script development, 1 hour each for maintenance
(assuming that there will be UI changes) and 3 hours to run the tests.
b) Reduced cost
Considering the above table, effort gets reduced when tests are automated. This will reduce the cost,
significantly. However, there is an initial investment of building the framework.
The ROI of the framework can be achieved faster if it is done for a business unit (large organization) or
organization. Long term benefits will be significant since each application, in a business unit/organization,
will have multiple releases and multiple test cycles.
c) Improved quality
Test automation reduces manual errors. It provides the flexibility to perform regression testing, as many
times as you want, whenever there is a code change. Automation helps to improve the test coverage. All
these eventually help to improve the quality.
Web Service/
Acceptance Test
API Level Testing
Test Automation
Framework
Acceptance Testing - In the BDD context, acceptance tests can be automated. The BDD tests
will be written in business context by a business analyst. This can be automated, using open
source tools like Cucumber, which uses English language to write tests. A framework can
incorporate tools like Cucumber, to enable automation of acceptance testing.
Functional Testing - Regression suite is the ideal candidate for automation to ensure that the
features and functionalities are defect free. A framework, with combination of tools like Selenium,
Appium, and Protractor will enable functional automation of web and mobile.
API/Web Service Testing - API/Web service level testing will help in early identification of defects.
API/Web Service testing can be automated, using open source tools like Jmeter. Jmeter is
flexible and has got various other capabilities. It can be easily integrated with Selenium or
Appium.
Unit Testing - Unit testing is performed by developer and there are various tools, like jUnit, which
are available for automating unit test cases.
When we look at the effort, time, cost and quality, an automation framework provides great value at
enterprise level.
Myth #2: Tool support is limited and 100% automation is not possible.
Fact: All open source tools are generic and may not support all the use cases. But open source tools
are highly extensible and a customized framework, built on top of it, can overcome these challenges.
The framework should build a library to overcome tool limitations, which can be used across enterprise.
Fact: An automation framework, with extensible architecture, can reduce the script maintenance.
Framework should separate the object repository from scripts. Changes, in the UI components, should
not enforce changes to the scripts. The change can be made in object repository, which is easy.
Myth #4: It is difficult to identify the right tool and strategy for automation.
Fact: The first and foremost task is to list the requirements, which includes the front-end technology,
level of automation, number of releases, type of application etc. Also, you need to look at the type of
applications and technologies across the business unit. Then, identify the major limitations of prominent
open source tool and plan the framework, based on the evaluation.
The test automation framework is focused on reusability, keyword driven approach, data driven approach,
to support BDD, and integrates with various open source tools and frameworks, to bring in the required
capabilities for automation.
Remarkably, the framework brings web, responsive web and mobile, under a single umbrella. This
framework enables us to write scripts once and run on desktop browsers, mobile browsers and mobile
devices (Android and iOS), both native and hybrid apps.
1. Understand your business and technology context across enterprise that can be automated.
2. Select the open source automation tools that suit the given business and technology context.
3. Integrate different tools to satisfy all the requirements.
4. Decide the common features and functionalities that need to be developed in-house.
5. Ensure reusability of the scripts, across various environments.
This section explains the recommended* architecture (at high level) and key features for a test
automation framework.
Device Farm
*This is a recommended architecture based on experience building test automation framework and not limited to only these
integration, technology and open source tools.
The key features of automation framework (web, responsive web and mobile) include:
Reusability of scripts across platforms, browsers, devices with various screen and sizes.
Reusability of common features, functionalities and actions for web and mobile.
Data-driven, with a common input source.
Keyword-driven approach to reduce scripting.
Continuous integration with CI servers.
Parallel execution on multiple browsers and mobile devices.
Reporting and dashboard.
Healthcare
An automation framework will help to achieve SIT automaton at a greater level. The same automation
framework can be used for functional automation of individual application. Quality is most important in
healthcare application, since an error in software can affect the life of a patient. So, test automation has a
significant role to play, since it provides flexibility to run tests, many times, to ensure quality.
Banking
Education
Based on our experince working with open source tools, RapidValue has built a test automation solution
suite to fast-track app release.
AccuRate is an all-in-one solution for test automation across various mobile platforms (iOS, Android,
Web) and desktop browsers, in real-time. It includes 600+ pre-built functions for mobile and web
automation leveraging open source tools like Appium, Selenium and Protractor. AccuRate provides rich
features for test execution, test control and test management with data-driven and keyword-driven testing
capabilities. AccuRate helps enterprises accelerate their app release while realizing significant business
benefits.
Solution Benefits
Develop scripts, once, and run on desktop browsers and mobile devices with different platforms,
OS and different screen sizes (reusability of scripts).
Keyword-driven approach to reduce script development time by 50-60%.
Supports both mobile and web.
Supports continuous integration.
Integrate with various device cloud, browser simulation tools, defect management tools, etc.
The Customer
One of the largest higher education providers in North America.
Services
A Regression suite was developed using automation framework. The overall duration was 4+ years with a
release cycle of every 2 weeks.
Results
Initial effort + Time taken for single Total effort for a year-
Type of testing maintenance effort release on 8 devices 2 releases per month
(in hours) (in hours) (in hours)
The Customer
One of the largest crane sales rental co. in the United States and the world's largest Terex crane dealer.
Services
A Regression suite was developed using automation framework for the customer. The overall duration
was 1+ year with a release cycle of every week.
Results
Automated Regression
50 3 194
(60% - 100 Test Cases)
Automation engineers are dedicated to design sophisticated test frameworks and are skilled software
developers. They automate, maintain, and run test cases. The future trend with regard to test automation
is likely to provide more structured representation of tests and high-level representation of tests.
Automated testing tools will become less complex, easy to use and more adaptive. automated testing has
a long way to go. Test automation is able to improve the development process of a software product. It
can run fast and frequently, which characterizes the cost-effective feature for the software products, along
with the characteristic of a long maintenance life.
This paper is written by Vidya VG, Practice Manager - Testing Services, RapidValue Solutions.
If you`d like to learn more on our test automation solutions and services, please write to us at...
contactus@rapidvaluesolutions.com. We’d be happy to hear from you.
mobility, omni-channel, IoT and cloud solutions. Armed with a large team of
the world’s top brands, fortune 1000 companies, Multinational companies and
emerging start-ups. We have offices in the United States, the United Kingdom
and india.
www.rapidvaluesolutions.com www.rapidvaluesolutions.com/blog
+1 877.643.1850 contactus@rapidvaluesolutions.com
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 reproducingof this report is strictly prohibited and may be unlawful.
August, 2016