Quontra Solutions provides Selenium Testing online training by Real time IT experts. Selenium is having good demand in the market. Our Selenium online training Instructors are very much experienced and highly qualified and dedicated.
Our Selenium online training program is job oriented. After completion of Selenium training with us you should be able to work on any kind of project. After completion of Selenium online training our dedicated team will be supporting you.
Get 10 % OFF when you register for this program.
Please call us for demo on Selenium. Quontra Solutions is the best Selenium online training Institute in United States.
Highlights in our training:
* Very in depth course material with real time scenarios.
* We are providing class with highly qualified trainer.
* We will provide class and demo session at student flexible timings.
* In training case studies and real time scenarios covered.
* Each topic covers real time solutions.
* We will give every recorded session for play later.
* We are giving placement support by multiple consultancies in USA, UK etc.
* We will give full support while attending the interviews and contact us after completion of the course.
Pre-requisites:
• Manual Testing Skills
• Basic Programming Skills, OOPS Concepts
• Knowledge on Test Automation Principles and practices
Introduction to ArtificiaI Intelligence in Higher Education
Designing a Test Automation Framework By Quontra solutions
1. 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
5. 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
6. 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
8. 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
9. 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
11. 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
13. The better way
Dos and Don’ts
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
14. 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
16. 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 tester’s 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
18. Automation Framework Approaches
Keyword Driven Framework
Keyword driven framework is an action based test method used in planning and implementation
of automation.
18
20. 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 FrameworkTest Automation Framework
(MSTest) Test Execution Engine(MSTest) Test Execution Engine
Functional TestsFunctional Tests
Domain
Engine
UtilsUtils
Selenium Web Driver APISelenium Web Driver API
22. Automation Framework Approaches
Guidelines for Automation framework design
• Selection of a framework
• Don’t 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
23. 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
24. Functional test organization
Physical file organization
Test script files (.cs files) are organized into
a folder structure much similar to the web
application’s page structure.
Reasons to select this approach:
Easy access to tests
Testing a section of the application is easy
24
25. 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
26. 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
28. 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
29. 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
30. 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