Вы находитесь на странице: 1из 31

Test Automation Framework

Overview and Strategy





Presented By
Quontra Solutions

IT Courses Online Training With Placement
Support. Attend Free Demo .

Email: info@quontrasolutions.com
Contact: +1 (404)-900-9988
Web: www.quontrasolutions.com
2
Contents
1. Software Framework
2. The Easy Way
3. The Better Way
Introduction
PageObject Pattern
4. Automation Framework Approaches
Data/Table Driven Framework
Keyword Driven Framework
Hybrid Framework
Generic Architecture
5. Guidelines and Lessons Learnt
Test Organization
Test Writing Style
Browser Updates


3
Software Framework
What is a software framework?
4
Software Framework
The definition and key
components
A software framework is a universal, reusable software platform used to develop applications,
products and solutions.
Software Frameworks include,

Support Programs
Compilers
Code Libraries
APIs
A tool set to integrate different components
5
Software Framework
Framework properties
A Software framework contain key distinguishing features that separate them from normal
libraries.

They are,

Inversion of Control (IOC) the overall program's flow of control is not dictated by
the caller, but by the framework.
Default behaviour must actually be some useful behavior and not a series of
instructions.
Extensibility can be extended by the user usually by selective overriding or
specialized by user code providing specific functionality.
Non modifiable framework code is not allowed to be modified.
6
The Easy Way
What is the easy way to
automate?
7
The easy way - Records all user
activities and play back
Typically a software testing suite will allow the
tester to use the SUT as a user would, through
the browser.

In the background the testing suite records all
of the clicks and key presses and discards any
context.

Later, the recorded events are played back and
various assertions are made to ensure the
output matches that which is expected.

8
The easy way
Pros and Cons
Pros
Easy and does not required highly skilled software
developers
Large portions of the application can be covered quickly

Cons
Small changes to the SUT cause massive disruption in
the tests
Entire suites of tests can be rendered useless resulting in
reduce testing coverage for extended periods of time
Test maintenance becomes hard
Tests begin to stagnate
Team confidence, in the tests, is reduced.
9
The Better Way
What could be a better way of
automating?
10
The better way
Introduction
Treat automated testing as software development.

Tests should be created with the same concern for
software design principles such as,

Reduced coupling
High cohesion
Proper separation of concerns
Maintainability
Reusability
11
The better way
PageObject class


12
The better way
Dos and Donts
In PageObjects,

The public methods represent the services that the page
offers
Try not to expose the internals of the page
Generally don't make assertions
Methods return other PageObjects
Need not represent an entire page
Different results for the same action are modeled as
different methods
13
The better way
Pros and Cons
Pros
Selenium WebDriver supports
Increased maintainability
Increase test stability
Readable tests
Tests are easy to author

Cons
Larger up-front cost for creating PageObjects
More skill is required to create PageObjects
14
Automation Framework
Approaches
What are the available automation
frameworks?
15
Automation Framework
Approaches
Data/Table Driven Framework
Data driven is the design of possible inputs what may given by the end user. This would cover
maximum probabilities of an input data. It can be a spread sheet or a DB. We have to connect
and pass the values to the respective field or element.

Take advantage of testers familiarity with test case creation using tables and matrices
Accommodate localization projects
Recognize the importance of patterns in test cases
Enable testers to catalog test cases with Excel spreadsheets
Enable testers to specify expected results in spreadsheets
16
Automation Framework
Approaches
Data/Table Driven Framework
17
Automation Framework
Approaches
Keyword Driven Framework
Keyword driven framework is an action based test method used in planning and implementation
of automation.
18
Automation Framework
Approaches
Hybrid Framework
A mix of Data driven and Keyword driven frameworks.
19
Automation Framework
Approaches
Generic Architecture
A Test Automation Framework should have a multi-
tiered architecture. It should consists of the following
tiers.

Engine Components in this tier are completely
responsible for interacting with the WebDriver
interfaces.
Domain This tier is meant to contain only page
objects that work against the engine.
Utils This tier is meant to contain very generic,
reusable functionality across all the other tiers.
Functional Tests This tier will contain tests that
are built on top of MSTest to create actual test
scenarios by using page objects in the Domain.
20
Test Automation Framework
(MSTest) Test Execution Engine
Functional Tests
Domain
Engine
U
t
i
l
s


Selenium Web Driver API
Guidelines and Lessons Learnt
Some important points to keep in
mind
21
Automation Framework Approaches
Guidelines for Automation framework design
Selection of a framework
Dont reinvent the wheel - Make use of Selenium WebDriver functionalities
Reusability
Support of different application versions
Support of script versioning
Different environment for development and production
Externally Configurable
Minimal changes required for any object changes
Execution - Individual, batch, only failed etc
Status monitoring
Reporting
Minimum dependency on Automation tool for changes
22
Automation Framework
Approaches
Guidelines for Automation
framework design
Easy debugging
Logging - Errors, warnings, etc
Easy to Use
Flexible - Should not impact existing test if changes are required
Performance impacts
Coding Standards
23
Functional test organization
Physical file organization
Test script files (.cs files) are organized into
a folder structure much similar to the web
applications page structure.

Reasons to select this approach:
Easy access to tests
Testing a section of the application is easy


24
Functional test organization
Test class naming convention
Test class name should start with the
containing folder name.

Reasons to select this approach:
Easy to group tests based on test class
Testing a section of the application is easy


25

Functional test writing style
Behavior Driven Development Style
Tests
It is important to be able to break down a
test scenario into the components of a
behavior driven test to ensure clarity. Very
concisely the test writer should be able to
dictate a test scenario as:
Given <a precondition>
When <an action takes place>
Then <expected outcome should be
present>


26
Functional test writing style
Behavior Driven Development
Style Tests


27
Functional test writing style
Behavior Driven Development
Style Tests
Reasons for selecting this approach:
This style of test writing allows for a test case to be easily
verbalized and comparable to the system requirements
being validated.

Since this effort is heavily focused on UI automation, it
makes sense to capture test cases dictating every
behavior of the system and the user.






28
Browser Upgrades
What if the browser upgrades
automatically?
Have a portable version of the browser
Package it with your framework
Starts when the test suite starts


29
Summary

Automation should be considered as a development
project and not just record and playback of events. Starting
automated testing with a good framework ensures low
maintenance. Guidelines discussed in this paper can be
used as input for developing requirements for a framework.

30
Thank You
31

Вам также может понравиться