ATAGTR2017 Test Craftsmanship - From Effectiveness to Greatness
Introduction of Robot Test Framework
1. Introduction of Robot Test Framework
Author: Yu Zhang Created: 10th
May 2015
Project: Test Automation Approved By:
Problem Statement:
Current test automation framework is hard to comprehend and difficult to maintain.
Objectives:
Introduce a new test automation framework that is easy to use, maintain, expand and deploy, replacing the old one.
Problem Analysis:
Current UI test automation framework was developed in C# from ground zero. All modules / libraries were built in-house. The
drawbacks are:
C# demands a longer learning curve, test case development and deployment are slow;
Poor test coverage;
In-house developed modules, such as exception handlers and test results reports are not tested thoroughly;
Lack of flexibility, all tests are executed one after another; it is not hard to run a subset of tests without tampering the
original codes;
Lack of friendly GUI, there is no GUI for easy test configuration and execution;
Lack of ATDD, BDD support, ATDD and BDD require high level language test case development which current test
framework does not offer.
Possible Solutions:
Robot Automation Test Framework offers solutions to all drawbacks above:
C# demands a longer learning curve, test case development and deployment are slow;
o Robot framework supports Python, which offers a short learning curve and extremely fast test
development and deployment.
Poor test coverage;
o Robot framework offers test development in high level language, business analysts and manual tests can
all contribute to test development; more people contribute to test development increases test coverage.
In-house developed modules, such as exception handlers and test results reports are not tested thoroughly;
o Robot offers a huge range of modules out of box, and those modules have been developed, tested and
proven by Robot hobbyists’ community.
Lack of flexibility, all tests are executed one after another; it is not hard to run a subset of tests without tampering the
original codes;
o Robot framework has a proven reputation of being flexible; a subset of tests can be easily configured.
Lack of friendly GUI, there is no GUI for easy test configuration and execution;
o Python has several modules such as Tkinter, based on which a GUI can be rapidly developed and
deployed.
Lack of ATDD and BDD support, ATDD and BDD require high level language test case development which current
test framework does not offer.
o One of the major motivations behind Robot framework is to offer ATDD and BDD support. Test cases
can be written in a more natural language, so that non-programmers such as business analysts can
develop test cases with ease.
Action Plan:
Proposed Action Point When Completed
Present this K brief to management
Develop End to End tests in Robot as a
“pilot” scenario, demonstrating the
speed and effectiveness of Robot
framework.
In progress, estimated development
cycle is 4 man-weeks.
Migrate Smoke Test Suite into using
Robot framework.
Estimated development effort is 2 man-
weeks.
Migrate tests from current test
framework to Robot framework
Estimated development effort is 6 man-
month to 1 man-year.
Educate other manual testers and
business analysts on how to write tests
in high level language using Robot.
Estimated effort is 1 man-month; can be
carried out in parallel with test migration
/ test development.
Expected Outcome:
The expected outcome (included but not limited to) are shown below:
Telogis has a more stable and more mature test framework that is well supported by online community;
Python has a shorter learning curve than C#, training overhead is reduced;
Test cases can be written in high level language, manual testers and business analysts can develop test cases with
minimum trainings, more people = more available effort = more test cases in shorter time = better test coverage =
better test variety;
ATDD and BDD friendly.
Challenges:
Telogis management may be reluctant to abandon the old framework that cost three man-years to develop.
Need to convince Telogis management to spare resource for training on how to write test cases using Robot
framework.
Keywords and key concepts:
Robot Automation Framework
Rapid test development and deployment
Continuous education on how to use Robot framework
Test development in natural language
ATDD, BDD
Test migration